Currency Tier Reward System

I’ve seen plenty of games use this feature, such as Murder Mystery 2, Bubble Gum Simulator, etc. and I wonder how I would go about making this?

For example,
Tier 1 - 100 [Purchase]
Tier 2 - 250 [Purchase]
and so on…

Anything would help, even some basis on it, thanks.

My game already has data set up, so no need to worry about that. I just need to know how would I make a tier system that would move up a tier once a player has purchased the previous one.


Do you mean weighted math.random or like… How you would set up the tiers…?

weighted randoms:
item: common 75% rare 20% epic: 3% legendary: 2%

There are a few posts on weighted randoms

Not a case system or anything percentage based. Just a simple tier system that you would buy with your currency.

Say for instance there are 100 tiers, you would have to purchase your way up that tier for the final product.

The problem is, I don’t know how to make it to where once a tier is purchased, the next tier would be available and the one they just purchased would be locked.

You could store the info of each tier in a list. For example:

item = {
name = "Axe", 
tiers = {
    1 = {damage = 20,price = 50}, 
    2 = {damage = 30,price = 100}

Then for displaying it, or getting the price, you can do something like:

"Price $".. item.tiers[tier+1].price

Do you understand? If you have any questions feel free to ask.

1 Like

There’s only one problem, after someone purchase the first tier, what would I do to make them proceed to the next tier?

Using your script for example.

item = {
	name = "Axe", 
	tiers = {
		t1 = {damage = 20,price = 50, locked = false, purchased = false}, 
		t2 = {damage = 30,price = 100, locked = true, purchased = false}

I think I figured it out, but i’m just wondering from the UI part would probably just loop through all the tiers, and have the tier list be implemented into my datastore and just check to see if the purchase is false.

You’ll have to store the current tier somewhere in your stats system, and then you can do like:


to easily reference it. You’ll also want to make sure it’s not max tier before doing so, because it’d error if for example they are tier 2, because t3 doesn’t exist.

1 Like