#Trails & Shop
#Trails
A trail is a Trail instance welded between SAE_TrailTop and SAE_TrailBottom attachments on the character's HumanoidRootPart, with Lifetime = 0.6, a tapering width and 0.4 light emission. It is purely visual — the gameplay effect is the multiplier it applies to treadmill Speed.
| Trail | Rarity | Treadmill multiplier | Cash price | Robux price |
|---|---|---|---|---|
| None | Common | ×1 | 0 | — |
| Grey Trail | Common | ×1.5 | 100 | — |
| Green Trail | Uncommon | ×2 | 5,000 | 19 |
| Blue Trail | Rare | ×2.5 | 75,000 | 29 |
| Purple Trail | Epic | ×3 | 1,500,000 | 49 |
| Golden Trail | Legendary | ×3.5 | 30,000,000 | 79 |
| Red Trail | Mythic | ×4 | 750,000,000 | 119 |
| Galaxy Trail | Cosmic | ×5 | 20,000,000,000 | 199 |
| Secret Trail | Secret | ×7 | 500,000,000,000 | 349 |
| Eternal Trail | Eternal | ×10 | 12,500,000,000,000 | 599 |
| Divine Trail | Divine | ×14 | 300,000,000,000,000 | 999 |
| Moonbloom Trail | Divine | ×20 | 5,000,000,000,000,000 | 1,100 |
TrailService.buy grants the trail, equips it and applies the visual immediately; equip and unequip switch without spending. The currency is cash only — the Robux column above matches the intended Config.TrailProducts product prices, but every entry in that table is still 0, so the Robux path is not wired up yet.
#Shop structure
Config.Shop describes the in-game shop panel:
| Section | Contents |
|---|---|
passes | DoubleGrowth, DoubleMoney, ExtraSlots |
speed | Six one-off Speed packages |
cash | Six one-off cash packages |
Config.ExclusiveShop is the separate premium panel and re-uses the same keys in three sections (passes, speed, money) with a kind of pass or product.
#Game passes
| Pass | Effect | Price shown in Config.Shop |
|---|---|---|
DoubleGrowth | growthMul = 2 | 467 Robux |
DoubleMoney | incomeMul = 2 | 399 Robux |
ExtraSlots | +4 pet slots | 249 Robux |
#Developer products
| Product | Grant | Price shown |
|---|---|---|
Speed150K | +150,000 Speed | 79 Robux |
Speed1M | +1,000,000 Speed | 249 Robux |
Speed10M | +10,000,000 Speed | 699 Robux |
Speed50M | +50,000,000 Speed | 1,299 Robux |
Speed500M | +500,000,000 Speed | 2,499 Robux |
Speed1B | +1,000,000,000 Speed | 4,999 Robux |
Cash24K | $24,000 | 49 Robux |
Cash200K | $200,000 | 99 Robux |
Cash800K | $800,000 | 249 Robux |
Cash4M | $4,000,000 | 699 Robux |
Cash8M | $8,000,000 | 1,299 Robux |
#Before you enable purchases
Every entry in Config.Monetization.GamePasses and Config.Monetization.DeveloperProducts still has id = 0. MonetizationService.isConfigured() walks both lists and returns false while they are all zero, which disables the whole purchase flow — prompts do nothing and processReceipt is never reached with a real purchase.
To go live:
- Create the passes and products on the experience.
- Paste the numeric IDs into
Config.Monetization. - Align the display prices in
Config.Shopwith the real ones. The two tables currently disagree:Config.ShopshowsDoubleGrowthat 467 andDoubleMoneyat 399, whileConfig.Monetizationlists both at 335 and givesExtraSlotsno price at all. - Fill
Config.TrailProductsif trails should be purchasable with Robux. - Fill
Features.Badges(six IDs, all0) if badges should award.
#Cash economy
| Setting | Value |
|---|---|
Config.Economy.SELL_INCOME_SECONDS | 90 — reference for pet sale value |
Config.Economy.GROW_ALL_PRICE_PER_SECOND | 2 cash per remaining second |
Config.Economy.GROW_ALL_FREE_COOLDOWN | 600 s |
Config.Economy.SAVE_INTERVAL | 60 s |
EconomyService.sane guards every gain and spend re-checks affordability, so a bad or oversized value is rejected rather than written to the profile.