So I am making a game, and I want it where if you have more than 49 dollars, the sign will say something if you have less than 49 dollars, it says something different. I made random words for this example, so here it is. The problem is that the sign doesn't change. Thank you!
local Player = game.Players.LocalPlayer local Stats = Player:WaitForChild("leaderstats") local Money = Stats:WaitForChild("Johanna") wait(1) if Money < 49 then script.Parent.SurfaceGui.SIGN.Text = "Hello!" else if Money > 49 then script.Parent.SurfaceGui.SIGN.Text = "Not enough money." end
What I believe you need is to detect is the player's money value has change. For that, I will be using GetPropertyChangedSignal
local Player = game.Players.LocalPlayer local Stats = Player:WaitForChild("leaderstats") local Money = Stats:WaitForChild("Johanna") wait(1) Money:GetPropertyChangedSignal("Value"):Connect(function() -- Using GetPropertyChangedSignal instead of .Changed to only detect the money value changing since .Changed will always fire when the money's properties has been changed such as it's name. if Money.Value > 49 then script.Parent.Parent.SurfaceGui.SIGN.Text = "Not enough money." else script.Parent.Parent.SurfaceGui.SIGN.Text = "Hello!" end end)
Hope this helps, and remember to accept it if it did! Any errors, report to me and I will fix it asap!