Simulator & tycoon kit
On this page
Playtime gifts and Skip All
Free gift boxes that open the longer a player stays: after 5, 10, 15, 30 and 60 minutes to start. They fill the Gifts tab of your Rewards screen, and Skip All opens every gift at once for Robux. The Extra is Playtime Rewards, and its id in GameData is playtime_rewards.
Turn it on#
- On the website, switch on Playtime Rewards in your design's Extras panel (Data Saving comes on too), then export and install.
- Open ServerScriptService > BloxGame > GameData and find
GameData.Features.playtime_rewards. Set the gifts (below). - Optional: sell Skip All for Robux.
- Press Play. To test quickly, set the first gift to
minutes = 1.
The gifts#
GameData.Features.playtime_rewards
gifts = {
{ minutes = 5, kind = "currency", currency = "coins", amount = 100,
item = "", label = "" },
{ minutes = 10, kind = "currency", currency = "coins", amount = 250,
item = "", label = "" },
{ minutes = 30, kind = "item", currency = "coins", amount = 1,
item = "Lucky Egg", label = "Egg!" },
},
cycle = "session",| Field | What it means |
|---|---|
minutes | Minutes of play before the gift opens (1 to 720). |
kind | "currency" or "item". |
currency, amount | The currency and how much. For an item gift, amount is how many. |
item | For item gifts: the item's name in GameData.Items. |
label | Optional text on the gift. |
| Setting | What it means | Starts as |
|---|---|---|
cycle | "session": every gift starts over each time the player joins. "daily": claimed gifts stay claimed until the next day. | "session" |
resetHourUtc | For "daily": the hour (UTC) a new day starts. | 0 |
announce | Show a toast when a gift is ready. | true |
skipProductId | The Skip All product id. Easier: paste it in GameData.Products.PlaytimeSkipAll. | not set |
- The server times every gift, from when the player's data loads. The device's clock is never used.
- Players claim one gift, or all the ready ones at once. The HUD's Gifts button counts the ready gifts.
- No Gifts section in your design? A reward popup opens for each gift instead.
Skip All (Robux)#
When your design's Gifts tab has a Skip All button, GameData has a Products.PlaytimeSkipAll entry. One purchase opens every gift the player hasn't claimed yet.
- In the Creator Hub, create a developer product called "Skip All" (how), with the price your button shows.
- Paste its id into GameData:
GameData.Products
PlaytimeSkipAll = { id = 1234567890, price = 99, builtIn = "giftsSkip", owner = "playtime_rewards" }, - Press Play and press Skip All. In Studio it's a free test purchase.
Each purchase opens the gifts exactly once, even if Roblox sends it again.
Troubleshooting#
- Skip All says "Not for sale yet!"
PlaytimeSkipAllstill hasid = 0. - There's no
PlaytimeSkipAllin GameData: your design's Gifts tab has no Skip All button, so there's nothing to sell. - The prompt appears but no gifts open: the product id doesn't match what Playtime Rewards sells. Output says
no blueprint product with productId .... The id must be inProducts.PlaytimeSkipAll, and Playtime Rewards must haveEnabled = true. - Gifts start over every time: that's
cycle = "session". Use"daily"to keep claimed gifts until the next day. - A gift is left out: Output says why, for example
gift 3 needs 1-720 minutes, skipped.