Scripting HelpersARCHIVE
A little piece of Roblox history. Preserved for everyone, one question at a time.Read about the archive →
✓ ANSWER ACCEPTED

Game not reading IntValue Correctly?

Hello! I've been struggling with a bigger problem inside of my game for a bit now, and I finally found the problem. However, I'm not sure how to fix it.

When a player joins, a folder is created inside them (in addition to leaderstats, they are siblings) and there is an intvalue inside of that. Every time I print the value, it returns 0 no matter what.

It is inside of a for loop, so Players[i] is the local player

local Players = game.Players:GetChildren()
for i =1, #Players do
	local Spent = Players[i].folder.spent.Value
	print("Spent "..Spent)
end

This ALWAYS returns "Spent 0", and never returns an error

This is the code that changes it, it is in a textbutton in a localscript:


script.Parent.MouseButton1Click:Connect(function()
	local player = game.Players.LocalPlayer
	if player.leaderstats.Coins.Value > 4 then
		player.spent.Value = player.spent.Value + 5
		player.leaderstats.Coins.Value = player.leaderstats.Coins.Value - 5
	end
end)


3 comments

0

The IntValue is being changed, right?

0

Yes, I tried doing it within my script and I tried changing the value in the explorer but neither worked

0

Could we get the full code of your loop and when you set it?

1 answer

✓ Accepted answer

Hi! I know the answer. The variable spent is a constant. To fix this, all you have to do it delete the value in "local spent".

local Spent = Players[i].folder.spent
print("Spent "..Spent.Value)

Because when you just do local Spent = Players[i].folder.spent.Value , that is a constant that will never change.

2 comments

0

Thanks!

0

np :)

This discussion is preserved as it was. New answers, comments, and votes are closed.