Scripting Helpers is winding down operations and is now read-only. More info→
Ad
Log in to vote
0

Script is outputting an intended result, but the IntValue never changed. ?[SOLVED IN DISCORD]

Asked by 3 years ago
Edited 3 years ago

this was solved in the scriptinghelpers discord

I'm making a spawn that will update the player's "Stage" stat, but it does nothing.

I even tried using prints to check was was going on, and both outputted 1, which meant the stat was changed to 1, and the stage number was 1, but the leaderboard stat value never changed.

--Server Script--

wait(0.1)
local function setSpawn(partTouching)
    if game.Players:GetPlayerFromCharacter(partTouching.Parent) then --Check if is a player
        local player = game.Players:GetPlayerFromCharacter(partTouching.Parent)
        local character = player.Character
        local stageNum = script.Parent.StageNum.Value
        local stage = player.leaderstats.Stage.Value
        print(stageNum)
        if stage < stageNum and player.Character.Humanoid.Health ~= 0.001 then
            stage = stage + 1
            print(stage)
            player.RespawnLocation = script.Parent
        else
            character.HumanoidRootPart.Position = script.Parent.Destination.Position
        end
    end
end

script.Parent.Touched:Connect(setSpawn)

--Output--

1 --(print(stageNum), which is intended)
1 --(It says 1 here, but the stat never changed, I even checked the intValue itself and it never changed.)

Is there any reason why this is happening?

Answer this question