A downloadable asset pack

Get this asset pack and 5 more for $34.99 USD
View bundle
Buy Now$4.99 USD or more

Codes System | RBLX Essentials

Codes System lets you hand out redeemable codes for a launch, a video or a Discord drop, and lets players claim them from a menu. You write the codes in the RBLX Essentials Plugin. No script editing.

✨ Core Features

The Codes menu in game
Redeem menuIncluded. A HUD button, a text box, and a reply for each outcome: redeemed, unknown, already used, expired.
The five reward types, and a custom one by name
Reward typesCash, Diamonds, any leaderstat, Spins for the Roulette wheel, or a pet. Custom rewards are a ModuleScript you drop in, and it shows up in this list by name.
Picking an expiry date in the plugin
Expiration dateA date per code, picked from a calendar. Past it, the code stops working.

⚙️ Setup

Install via RBLX Essentials Plugin

1Drag the .rbxm into Studio
2Hit Install in the plugin
3Write your codes. Press Play.

🧩 Developer API

CodesSystem: redeem & hasRedeemed
local codes = ctx.require("CodesSystem") -- Second return: the reward, or the reason it was refused. local ok, result = codes.redeem(player, "LAUNCH") if ok then -- { Code = "LAUNCH", Type = "Cash", Amount = 1000 } print(result.Code, result.Type, result.Amount) else print(result) -- "AlreadyRedeemed" end -- Claimed already? Case and spaces do not matter. local claimed = codes.hasRedeemed(player, "launch")
A refusal is one of eight reasons, never a sentence, so the wording on screen stays yours:
  • Empty: nothing was typed
  • NoSuchCode: no code by that name
  • AlreadyRedeemed: this player has claimed it
  • Expired: past its date
  • CodeDisabled: misconfigured, switched off at startup
  • TooFast: too many wrong guesses, throttled
  • NoData: the save has not loaded yet
  • GrantFailed: the reward itself errored
Redeem RemoteFunction: for your own UI
-- From a LocalScript, if you swap in your own menu local RS = game:GetService("ReplicatedStorage") local remotes = RS.RBLXEssentials.Kernel.Remotes.CodesSystem local reply = remotes.Redeem:InvokeServer("LAUNCH") if reply.Success then print(reply.Code, reply.Type, reply.Amount) else print(reply.Error) -- one of the eight reasons end
The server checks every rule again and the throttle lives there, not in the button, so your own menu is exactly as safe as the included one.

🎨 Customisation

Custom rewards
A custom reward module in the Explorer, under CodesSystem and CustomRewards
Write your own rewards as ModuleScripts. GrantPet ships as an example, and the docs show how to write more.
Redeem messages The Messages settings, with a live preview of the Codes menu above them Change what the player is told in each case.
Works with General UI Kit The Codes menu open inside General UI Kit's HUD, with its icon rail, music player and cash counter Install both and General UI Kit's Codes menu is the one that runs, styled with the rest of your interface.
Or design the menu yourself The same Codes panel redesigned in a black and blue style Restyle it however you like. The pack finds the panel's parts by name, not by look.

🔗 Works great with

Datastore
Datastore & Purchase SystemRequired
UI Kit
General UI KitStyling
Sound System
Sound SystemSounds
Roulette
Roulette SystemSpins
Notifications
Notifications SystemToasts

Only Datastore & Purchase System is required, because it is what remembers who claimed what. The other four are optional and the pack works without any of them.

📘 Documentation

Every field, the plugin panels and the version history live at rblxessentials.com/docs.

🔄 Updates

📋 Version history and changelogs for all packs are available at rblxessentials.com/docs#changelog.

Created by RBLX Essentials

Purchase

Get this asset pack and 5 more for $34.99 USD
View bundle
Buy Now$4.99 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:

CodesSystem-v2-1-1.rbxm 78 kB
Version 2.1.1

Leave a comment

Log in with itch.io to leave a comment.