I'm making a game and one of the aspects in it is you can buy a house for 1000 "Cash" and I have a cash debug in the game to give me cash. If i set my Cash to above 1500 (starting cash) it always sets it to 500 instead of (for example) 501
EDIT I think the cash is not server side, I'll test this theory
##My code:
local houseprice = 1000 -- The price of the house
script.Parent.Touched:connect(function(part)
if part.Parent:FindFirstChild("Humanoid") then
if game.Players:FindFirstChild(part.Parent.Name).leaderstats["Cash"].Value >= houseprice then-- Cash is my currency. Change it to your currency name.
if not game.Workspace:FindFirstChild(part.Parent.Name.."'s House") then -- Finds if the player has an existing house.
if script.Parent.Parent.Parent.Owner.Value == "" then -- Make sure this house has no owner.
game.Players:FindFirstChild(part.Parent.Name).leaderstats["Cash"].Value = game.Players:FindFirstChild(part.Parent.Name).leaderstats["Cash"].Value - houseprice * 1 -- Deducts the cost of the house to the player's cash
script.Parent.Parent.Parent.Owner.Value = part.Parent.Name -- We change the "Owner" stringvalue to the name of the player who bought the house.
script.Parent.Parent.Name = part.Parent.Name.."'s House" -- Change the "Buy this house!" to the name of the owner
script.Parent.Parent.Parent.Name = part.Parent.Name.."'s House" -- Change the house name to the owner's name to make it easy to find when the player left
end
end
end
end
end)

3 comments
(thank you JesseSong for making the code easier to read, I'm new to this site)
Your code is fine, I think it might be a problem with your cash debug.
I'll try to mess around with the script, then