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

[Solved] Script not detecting when values are changed?

Asked by 3 years ago
Edited 3 years ago

I have a handler inside the player that determines certain values, like if the player is staggered or not. I want to be able to stop the sword from activating by checking the value inside the handler, but everything I've tried doesn't work. Does anybody know how I can make the sword check the value every time I try to attack with it?

Sword Script snippet:

-- On Click
function onActivation()
    if Equipped == true and Attacked == false and Tool.Parent.Humanoid.Health > 0 then  

        if Tool.Parent.Handler.ToolEnabled.Value == true then

            Tool:WaitForChild("Attack".. AttackNum).Value = not Tool:WaitForChild("Attack".. AttackNum).Value

            if AttackNum == 5 and AttackDecay > 0 then
                AttackNum = 2
            else
                AttackNum = AttackNum + 1
            end

            HumanoidTakeDamage()
            Attacked = true
            wait(HBDelay)
            AttackS:Play()

            HitBox = true
            Trail.Enabled = true
            wait(AttackTime)
            HitBox = false
            Trail.Enabled = false
            Attacked = false        
            AttackDecay = 1     
        end
    end
end
-----------

-- Equipped
function onEquipped()
    EquipS:Play()
    wait(EquipTime)
    Equipped = true
end
-----------
Tool.Equipped:Connect(onEquipped)
Tool.Activated:Connect(onActivation)

EDIT: The problem was that I was defining the value of each status and then checking the value already defined, and not the value that it was currently.

Answer this question