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

Why will my swing animation not play?

I am currently scripting a sword. I am trying to make it play a swing animation when it is used. It won't play the animation.

local canHurt = true



	script.Parent.Activated:Connect(function()
		
		if canHurt == true then
			
		canHurt = false
			
		local hum = game.Players.LocalPlayer.Character:WaitForChild("Humanoid")
		
		local swing = hum:LoadAnimation(script.Parent.Swing)
		
		swing:Play()
		
		wait(1)
		
		canHurt = true
		
		end
	end)

2 comments

0

any output erros?

0

None

1 answer

Ok so I tried this out and so far it worked. Assuming you have a localscript directly under the tool, put in the following:

local db = false --To prevent spamming the animation
script.Parent.Equipped:connect(function()
	script.Parent.Activated:connect(function()
		if db == false then
			db = true
			local player = game:GetService('Players').LocalPlayer --We get the player
			local hum = player.Character:WaitForChild('Humanoid') --We get the humanoid
			local anim = script.Parent.Animation --This is the animation which is also directly under the tool
			hum:LoadAnimation(anim):Play() --Plays the animation
			wait(1) --Wait time before allowing player to use the animation again
			db = false --Allows the player to use the animation
		end
	end)
end)

This worked out and played the animation, however, the arm the player is holding the tool with won't animate. I don't know how to fix that issue but I hope that this will help you out a lot more in the future.

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