I'm trying to make it so the player would gain 1 money every second, but its not looping correctly. This is what I'm using:
local leaderstats = game.Players.LocalPlayer:WaitForChild("leaderstats") local money = leaderstats.Money money.Value.Changed:connect(function() if money.Value < 1000 then repeat money.Value = money.Value + 1 wait(1) until money.Value == 1000 end end) money.Value = money.Value - 1
Any help is greatly appreciated!
This is simply a mistake in the coding. (peep the comment lines)
local leaderstats = game.Players.LocalPlayer:WaitForChild("leaderstats") local money = leaderstats.Money money.Value.Changed:connect(function() --every time the money gets changed, this function runs if money.Value < 1000 then repeat money.Value = money.Value + 1 --within the function, the money is being changed, causing the function to repeat itself more than intended wait(1) until money.Value == 1000 end end) money.Value = money.Value - 1
A solution could be to remove the repeat statement, or repeat the if statement.
local leaderstats = game.Players.LocalPlayer:WaitForChild("leaderstats") local money = leaderstats.Money money.Value.Changed:connect(function() if money.Value < 1000 then money.Value = money.Value + 1 wait(1) end end) money.Value = money.Value - 1