Need help with smoothing out takedown animation

I recently made a takedown animation for my game that plays when an opponent is 10 health. This is it:
https://streamable.com/1dxs83
As you can also see in the video, the takedown animation is somewhat buggy when actually implemented into the game, with weird delays on both characters. I would like to fix this. This is the script for the animation:

local rs = game:GetService("ReplicatedStorage")
local damageevent1 = rs:WaitForChild("DamageEvent1")
local knockbackanimation = Instance.new('Animation')
knockbackanimation.AnimationId = 'rbxassetid://14293116966'
local killanimationattacker = Instance.new('Animation')
killanimationattacker.AnimationId = 'rbxassetid://14343055051'
local killanimationtarget = Instance.new('Animation')
killanimationtarget.AnimationId = 'rbxassetid://14343057004'

damageevent1.OnServerEvent:Connect(function(player, v)
	if v.Parent:FindFirstChild("Humanoid").Health == 10 then
		v.Parent:FindFirstChild("Humanoid"):TakeDamage(5)
		v.Parent:FindFirstChild("Humanoid").WalkSpeed = 0
		player.Character.Humanoid.WalkSpeed = 0
		local playkillanim = v.Parent.Humanoid:LoadAnimation(killanimationtarget)
		local playkillinganim = player.Character.Humanoid:LoadAnimation(killanimationattacker)
		v.Parent:FindFirstChild("Head").CanCollide = false
		v.Parent:FindFirstChild("Torso").CanCollide = false
		player.Character:FindFirstChild("Head").CanCollide = false
		player.Character:FindFirstChild("Torso").CanCollide = false
		playkillanim:Play()
		playkillinganim:Play()
		wait(1)
		v.Parent:FindFirstChild("Humanoid"):TakeDamage(5)
		wait(1)
		player.Character.Humanoid.WalkSpeed = 10

Please help!