Overview
Daily Rewards gives your players a reason to come back every day. Each day they open a panel and pick one of three rewards, rolled at random from your own list. Every third sign-in of the month they also pick a bonus reward. On the 1st of each month everyone starts again.
- One reward a day, chosen from three random offers.
- A bonus pick every 3rd sign-in of the month (days 3, 6, 9 and so on).
- A panel that shows the month as a track of days: claimed days are filled in gold, bonus days are outlined in gold.
- The panel opens by itself after spawning when a reward is waiting, or with
/daily. - Rewards can be items, cash or gold.
Requirements
- poggy_core (free), version 0.14.0 or newer.
- oxmysql.
- One of VORP, RSG Core or QBCore RedM (poggy_core connects the script to it).
Install
- Download
Britannia_DailyRewardsfrom portal.cfx.re → Assets → Granted Assets. - Put the
Britannia_DailyRewardsfolder in your server'sresourcesfolder. - Add
ensure Britannia_DailyRewardstoserver.cfg, afterensure poggy_core. - Check that every item in
Config.DailyRewardsandConfig.BonusRewardsexists in your items list. Item names are the database names. Change the lists to suit your server. - RSG Core / QBCore RedM: set
Config.ImagePathto your inventory's image folder (for examplenui://rsg-inventory/html/images/), and use your framework's item names in the reward lists. - Restart the server.
The table britannia_dailyrewards is created automatically on the first start.
Configuration
The script is encrypted with Cfx.re asset escrow. shared/config.lua stays editable, and every option in it is commented.
| Setting | What it does | Default |
|---|---|---|
Config.Locale | Language file to use from locales/ | 'en' |
Config.Debug | Prints extra lines in the server and F8 consoles | false |
Config.UtcOffsetHours | Time zone for when a new day starts, in hours ahead (+) or behind (-) UTC. 0 is UK winter time, 1 is UK summer time | 0 |
Config.BonusEvery | Every this many sign-ins in a month, players also pick a bonus reward | 3 |
Config.CountBy | 'account' counts once per player (their Rockstar licence), whatever character they play. 'character' gives every character its own daily reward | 'account' |
Config.Command | Chat command that opens the panel | 'daily' |
Config.AutoOpen | true opens the panel by itself after spawning when today's reward is waiting. false shows a reminder instead | true |
Config.AutoOpenDelay | Seconds after the character spawns before the panel opens (or the reminder shows) | 20 |
Config.ImagePath | Where item pictures come from. The file is <item>.png | 'nui://vorp_inventory/html/img/items/' |
Config.Choices | How many different rewards players are offered each day | 3 |
Config.DailyRewards | The daily reward list | 35 entries (cash, food, drink, tobacco, horse care, ammo and more) |
Config.BonusRewards | The bonus reward list, in the same format | 20 entries |
Each reward is one line. Every line has the same chance of being offered:
{ item = 'bread', amount = 3, label = 'Bread' }, -- an item (database name)
{ money = 'cash', amount = 3, label = '$3' }, -- money: 'cash' or 'gold'The starting lists are worth little (a daily pick is worth about $1 to $4, a bonus about $5 to $10), so they don't flood your economy. Tune them to yours.
Commands and permissions
| Command / key | Who | What it does |
|---|---|---|
/daily | Everyone | Opens the rewards panel. The name is Config.Command. |
How it works
- Each day, the panel offers three different rewards from
Config.DailyRewards. The player picks one with Take it. - A sign-in counts when the player claims that day's reward, not when they join.
- On every 3rd sign-in of the month (set by
Config.BonusEvery), the player also picks one of three bonus rewards fromConfig.BonusRewards. - A "day" is a calendar day in the time zone set by
Config.UtcOffsetHours. - On the 1st of each month, everyone starts again from 0. A bonus left unclaimed from last month is dropped.
- By default progress is counted per player (their licence), so playing a second character does not give a second reward.
Fair play. The server rolls the three choices and saves them, so leaving and rejoining doesn't re-roll them. A player can only take something that was actually offered to them, and only once per day. If they can't carry an item, nothing is used up: they can make room and try again.
Troubleshooting
The panel doesn't open after spawning
It only opens by itself when today's reward (or a bonus) is still waiting, and only after Config.AutoOpenDelay seconds. If Config.AutoOpen is false, players get a reminder to type /daily instead.
Players see "You have no active character."
The player must have a character loaded. Make sure poggy_core is started before Britannia_DailyRewards, and that it is 0.14.0 or newer.
A reward says "You can't carry that"
The player's inventory is full, or the item's limit is reached. Nothing is used up: they can make room and pick again.
A reward says "That reward couldn't be given just now"
The item or money type could not be given. Check that the item name in the config exists in your items list, exactly as written in the database.
Item pictures are missing
Config.ImagePath must point at your inventory's image folder, and each picture must be named <item>.png. On RSG Core or QBCore RedM, change it from the VORP default.
Players can claim once for each character
Set Config.CountBy = 'account' to count once per player, whatever character they play.
The day changes at the wrong hour
Set Config.UtcOffsetHours to your time zone (for example 1 for UK summer time).
Version history
- 1.0.0: first public release.
Still stuck?
Open a ticket on our Discord with your framework, your poggy_core version and what you see, and we'll help you get it running.
Get help on Discord