It's sometimes confusing to read scripts this long.
script.Parent.Equipped:Connect(function(mouse)
local wield = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(script.Wield)
wield:Play()
mouse.Button1Down:Connect(function()
local wield = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(script.Wield)
local lunge = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(script.Lunge)
wield:Stop()
lunge:Play()
end)
mouse.Button1Up:Connect(function()
script.Parent.CanDamage.Value = true
local wield = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(script.Wield)
local slash = game.Players.LocalPlayer.Character.Humanoid:LoadAnimation(script.Slash)
slash:Play()
wait(1)
slash:Stop()
wield:Play()
script.Parent.Blade.Touched:Connect(function(hit)
if script.Parent.CanDamage.Value == true then
script.Parent.CanDamage.Value = false
hit.Parent.Humanoid:TakeDamage(100)
end
end)
end)
end)

4 comments
uhm... i dont quite understand... im really sorry. :(
When you say "Wield =" or "Humanoid = " then it means that your giving a value to them. So if "Wield = script.Wield" then it means that just saying "Wield" is the same thing as saying "script.Wield"
i did (outside the equipped function). but the animation didn't run. :(
Weird. Just make sure that your variables are all pointing correctly to where the object is located! My guess for why it also might have not played is that you need to store "Humanoid:LoadAnimation(Wield)" or whatever into another variable which is what you scope ":Play()" to.