There are several services that I would defenitely recommend if you’re interested in just paying for one instead of actually buying one. My personal favorite has to be Ranking Service by @popeeyy - https://www.roblox.com/groups/4207848/Ranking-Service#!/about. I find his service extremely reliable and easy to set up.
However, if you want to create one by yourself, I found several tutorials that help you set up a bot and that also provide a rank center for free. I believe that myCenter also provides bots if you’re looking for a free option.
I can easily change it to product or t-shirt its a easy thing to do changing a few lines.atm I’m unable to due to ROBLOX Studio Update breaking scripting all together.
local GlitchURL = "" --Place the glitch project URL inside of the quotes
function rankUser(UserId, RoleId)
game:GetService("HttpService"):GetAsync(GlitchURL .. "ranker?userid=" .. UserId .. "&rank=" .. RoleId)
end
local MarketplaceService = game:GetService("MarketplaceService")
local Configuration = {
{PASSID, RANKID}
}
game.ReplicatedStorage.ClaimRank.OnServerEvent:Connect(function(Player)
for i = 1, #Configuration do
local GamepassId = Configuration[i][1]
local RankId = Configuration[i][2]
-- if MarketplaceService:UserOwnsGamePassAsync(Player.UserId, GamepassId) then
print("Ranked player to " .. RankId)
rankUser(Player.UserId, RankId)
-- end
end
end)
All I want is free. For the rest of the ranks, you have to train, so to speak. Not like a bar, so to speak. You can often rank yourself from Customer to Trainee. I just don’t have an application center but that’s the idea!
local GlitchURL = "" --Place the glitch project URL inside of the quotes
function rankUser(UserId, RoleId)
game:GetService("HttpService"):GetAsync(GlitchURL .. "ranker?userid=" .. UserId .. "&rank=" .. RoleId)
end
local MarketplaceService = game:GetService("MarketplaceService")
local RanksConfig = {
["RankName1"] = { -- Rank Name
["GamepassID"] = 1234567, -- Pass ID
["RankID"] = 0 -- Rank ID
},
["RankName2"] = { -- Rank Name
["GamepassID"] = 1234567, -- Pass ID
["RankID"] = 0 -- Rank ID
},
["RankName3"] = { -- Rank Name
["GamepassID"] = 1234567, -- Pass ID
["RankID"] = 0 -- Rank ID
}
}
game.ReplicatedStorage.ClaimRank.OnServerEvent:Connect(function(Player)
if MarketplaceService:UserOwnsGamePassAsync(Player.UserId, RanksConfig.RankName1.GamepassID) then -- Change the RankName1 to your Rank name in the Config
print("Ranked player to " .. RanksConfig.RankName1.RankID) -- Change the RankName1 to your Rank name in the Config
rankUser(Player.UserId, RanksConfig.RankName1.RankID) -- Change the RankName1 to your Rank name in the Config
elseif MarketplaceService:UserOwnsGamePassAsync(Player.UserId, RanksConfig.RankName2.GamepassID) then -- Change the RankName2 to your Rank name in the Config
print("Ranked player to " .. RanksConfig.RankName2.RankID) -- Change the RankName2 to your Rank name in the Config
rankUser(Player.UserId, RanksConfig.RankName2.RankID) -- Change the RankName2 to your Rank name in the Config
elseif MarketplaceService:UserOwnsGamePassAsync(Player.UserId, RanksConfig.RankName3.GamepassID) then -- Change the RankName3 to your Rank name in the Config
print("Ranked player to " .. RanksConfig.RankName3.RankID) -- Change the RankName3 to your Rank name in the Config
rankUser(Player.UserId, RanksConfig.RankName3.RankID) -- Change the RankName3 to your Rank name in the Config
end
end)
--// Edited by Abd_Dev