Ok, So. My sword only does damage once, When I swing it again, It doesn't do any damage any more. Here is my script. Script:
script.Parent.blade.Touched:connect(function(p) if script.Parent.CanDamage.Value == true then script.Parent.CanDamage.Value = false p.Parent.Humanoid:TakeDamage(15) end end)
Local script:
local CanAttack = true script.Parent.Activated:connect(function() local Idle = script.Parent.Parent.Humanoid:LoadAnimation(script.Idle) local attack = script.Parent.Parent.Humanoid:LoadAnimation(script.Attack) Idle:Play() end) script.Parent.Activated:connect(function() local Idle = script.Parent.Parent.Humanoid:LoadAnimation(script.Idle) local attack = script.Parent.Parent.Humanoid:LoadAnimation(script.Attack) if CanAttack == true then attack:Play() Idle:Stop() CanAttack = false wait(2) attack:Stop() Idle:Play() CanAttack = true script.Parent.CanDamage.Value = true end end)
Can you help me?
The issue is you never set the script.Parent.CanDamage.Value back to true so the if statement will allways be false, here is the way you can fix it
script.Parent.blade.Touched:connect(function(p) if script.Parent.CanDamage.Value == true then script.Parent.CanDamage.Value = false p.Parent.Humanoid:TakeDamage(15) wait(0.5) --Time between attacks script.Parent.CanDamage.Value = true end end)