I created a custom leaderboard for my game, but the problem is that the textlabel will not update the text based on the money of the other players. The script is a local script inside of the GUI.
local REP = game.ReplicatedStorage
local PLAYER = game.Players.LocalPlayer
repeat wait() until PLAYER:FindFirstChild("PlayerGui")
local FRAME = script.Parent:WaitForChild("ScrollingFrame",3)
local FC = FRAME:GetChildren()
while wait() do
for i,v in pairs(game.Players:GetPlayers()) do
print(v.Name.." has "..REP.PlayerValues:WaitForChild(v.Name,2).GameValues.TotalMoney.Value.." money.") -- This does correctly print their money
print(FC[i].Text) -- This does print the name of the player
if FC[i].Text == tostring(v) then -- Error most likely has to do with this
FC[i].TextLabel.Text = "$"..REP.PlayerValues[v.Name].GameValues.TotalMoney.Value
-- Nothing ever happens with this. It is meant to be a textlabel inside of another textlabel and that is not the problem.
end
end
end

2 comments
Check to see if the object WaitForChild is looking for has actually been found, because it stops your code until it has found said object. Also look at your output, as it shows errors in your code.
I edited the script to account for that. It still only updates the money value for the current person, not any others in the game. The output doesn't show any errors.