The script actually works but doesn't play animations
--//Variables local plr = game.Players.LocalPlayer local tool = script.Parent.Parent local handle = tool:WaitForChild("Handle") local blade = tool:WaitForChild("Blade") local config = tool:WaitForChild("Configuration") local dmg = config:WaitForChild("Damage") local setdmg = config:WaitForChild("Dmg") local idle = config:WaitForChild("Idle") local cooldown = config:WaitForChild("CoolDown") local altdmg = config:WaitForChild("AltDmg") local altcooldown = config:WaitForChild("AltCoolDown") --//Animations repeat wait() until plr.Character.Humanoid local AnimFolder = script.Parent.Parent:WaitForChild("Animations") local slash = plr.Character.Humanoid:LoadAnimation(AnimFolder:WaitForChild("Slash")) local hold = plr.Character.Humanoid:LoadAnimation(AnimFolder:WaitForChild("Hold")) local altslash = plr.Character.Humanoid:LoadAnimation(AnimFolder:WaitForChild("AltSlash")) hold.Looped = true tool.Equipped:connect(function(mouse) hold.Looped = true hold:play() mouse.Button1Down:connect(function() hold.Looped = false slash:Play() dmg.Value = setdmg.Value script.Parent.CoolDown.Disabled = false script.Disabled = true end) mouse.Button2Down:connect(function() hold.Looped = false altslash:play() dmg.Value = altdmg.Value script.Parent.AltDown.Disabled = false script.Disabled = true end) end) tool.Unequipped:connect(function() hold.Looped = false end)