This may sound dumb, but why doesn't the text change? (Only changes once)
while true do wait(1) script.Parent.Text = script.Parent.Amount.Value end
if script.ClassName == "LocalScript" then game:GetService("RunService").Stepped:connect(function() script.Parent.Text = tostring(script.Parent.Amount.Value) end) else warn("USE A LOCALSCRIPT") end