Slash sometimes play even lunge haven't been played yet.
script.Parent.Equipped:Connect(function(mouse) mouse.Button1Down:Connect(function() debounce = true lunge:Play() end) mouse.Button1Up:Connect(function() CanDamage.Value = true lunge:Stop() slash:Play() wait(1) slash:Stop() end) end)
This script just adds a debounce to make sure the player has lunged before the player can slash.
Unfortunately, you didn't provide as much information as needed, so I don't know exactly what the problem is, but this may help answer it.
local hasLunged = false -- new debounce script.Parent.Equipped:Connect(function(mouse) mouse.Button1Down:Connect(function() lunge:Play() wait() -- how long u want it to last lunge:Stop() hasLunged = true -- the player has used lunge end) mouse.Button1Up:Connect(function() if hasLunged = true then -- only plays if the player has lunged CanDamage.Value = true slash:Play() wait(1) slash:Stop() Haslunged = false end end) end)