Ranks Module
local module = {}
module.ranks = {
['Noob'] = {0, Color3.fromRGB(100, 100, 100)},
['Amateur'] = {10, Color3.fromRGB(143, 143, 143)},
['Novice'] = {50, Color3.fromRGB(143, 211, 255)},
['Super'] = {100, Color3.fromRGB(255, 148, 98)},
['Awesome'] = {200, Color3.fromRGB(92, 170, 40)},
['Experienced'] = {500, Color3.fromRGB(64, 110, 127)},
['Impressive'] = {1000, Color3.fromRGB(255, 187, 69)},
['Skilled'] = {1500, Color3.fromRGB(79, 255, 94)},
['Expert'] = {2500, Color3.fromRGB(65, 166, 255)},
['Insane'] = {5000, Color3.fromRGB(198, 52, 255)},
['Professional'] = {10000, Color3.fromRGB(0, 0, 255)},
['Outrageous'] = {25000, Color3.fromRGB(72, 58, 127)},
['Legendary'] = {50000, Color3.fromRGB(255, 182, 35)},
['Beast'] = {75000, Color3.fromRGB(63, 255, 34)},
['Godly'] = {100000, Color3.fromRGB(255, 15, 15)},
}
return module
Seperate ServerScript
local ranksModule = require(ranks)
for i, v in pairs(ranksModule.ranks) do
if myData.tags >= v[1] then
print(player.Name, 'Got enough tags for: ' .. i)
myData.rank = i
local rankValue = player.PlayerFolder:WaitForChild('Rank')
if rankValue then
rankValue.Value = myData.rank
end
end
end
When a player has 50 tags, it prints that they have enough for:
Noob
Novice
Amateur
In that order, even though Amateur should be above Novice. Basically the higher the players tags, the higher their ranking should be. Thought if the I put the dictionary in order it would itterate through it in order, but for some reason it doesn’t