Still have questions? Join our Discord server and get real time help.
Log in to vote

Game not reading IntValue Correctly?

Asked by 8 months ago
Edited 8 months ago

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)

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)
The IntValue is being changed, right? xAtom_ik 575 — 8mo
Yes, I tried doing it within my script and I tried changing the value in the explorer but neither worked XDgirl909090 150 — 8mo
Could we get the full code of your loop and when you set it? xAtom_ik 575 — 8mo

1 answer

Log in to vote
Answered by
Gingerely 245 Moderation Voter
8 months ago

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.

Thanks! XDgirl909090 150 — 8mo
np :) Gingerely 245 — 8mo

Answer this question