Problem with leaderstats

Hi everyone! I am making a leaderboard for my group with shortened titles, why does it not work?

The problem is it won’t change the value, it stays as void.

game.Players.PlayerAdded:connect(function(player)
	local USMCRank = Instance.new("StringValue")
	USMCRank.Name = "USMC Rank"
	USMCRank.Parent = player:WaitForChild("leaderstats")
    local teamName = USMCRank.Value
	local rank = player:GetRankInGroup(2743599) 
		if rank == 255 then 
			teamName = "GRPHOLD" 
		elseif rank == 254 then
			teamName = "nusaBot"
		elseif rank == 120 then
			teamName = "CIC"
		elseif rank == 119 then 
			teamName = "SECDEF"
		elseif rank == 118 then
			teamName = "DEPSECDEF"
		elseif rank == 117 then
			teamName = "DEFSTAFF"
		elseif rank == 111 then
			teamName = "SECNAV"
		elseif rank == 110 then
			teamName = "CJCS"
		elseif rank == 105 then
			teamName = "VCJCS"
		elseif rank == 90 then
			teamName = "CMC"
		elseif rank == 80 then
			teamName = "ACMC"
		elseif rank == 70 then
			teamName = "SMMC"
		elseif rank == 65 then
			teamName = "MEFCOM"
		elseif rank == 60 then
			teamName = "COMGEN"
		elseif rank == 55 then
			teamName = "COMOFF"
		elseif rank == 53 then
			teamName = "UNITCOM"
		elseif rank == 44 then
			teamName = "UNITSEA"
		elseif rank == 42 then
			teamName = "TECOM"
		elseif rank == 40 then
			teamName = "2ndRB"
		elseif rank == 35 then
			teamName = "2ndLEB"
		elseif rank == 20 then
			teamName = "22ndMEU"
		elseif rank == 19 then
			teamName = "26thMEU"
		elseif rank == 10 then
			teamName = "2ndMAW"	
		elseif rank == 9 then
			teamName = "2ndAB"
		elseif rank == 8 then
			teamName = "JS"
		elseif rank == 6 then
			teamName = "Recruit"
		elseif rank == 0 then
			teamName = "Guest"
	end
end)
	

Thank you so much for reading!

An example of a leaderstats script:

game.Players.PlayerAdded:Connect(function(player)
local leaderstats = Instance.new("Folder",player)
leaderstats.Name = "leaderstats"

local Credits= Instance.new("IntValue",leaderstats)
Credits.Name = "Credits"
Credits.Value = 0
Credits.Parent = leaderstats

    if leaderstats.Credits.Value == # then
        --Put anything you want in here
    end
    end)
end)

u need to make the leaderboard add

local leaderstats = instance.new("Folder")
leaderstats.Name = "leaderstats"
leaderstats.Parent = game.workspace
local teamName = USMCRank.Value

teamName is just a string here, change it to this

 local teamName = USMCRank

and then you should always do like

teamName.Value = "GRPHOLD"

I know how to make leaderstats, this works fine, the actual value of the string value is nil, it’s under the leaderstats folder.

This worked thank you so much!

1 Like