Keyframe not working

Please can someone help?

When the player presses M1, the animation should start and a hitbox should appear on the ‘Punched’ event, but for some reason this does not happen
code:

local function Combat(LocalPlayer, Animator, LocalHum, Punching)
	
	local Punches = Animator:LoadAnimation(PunchAnimations[count])
	
	if Punching and Punching.Value == false then						
		if count >= 1  and count <= 3 then
			Punching.Value = true
			Punches:Play()
			count = count + 1
			task.wait(.5)
			Punching.Value = false
		elseif count >= 4 then
			Punching.Value = true
			Punches:Play()
			count = 1
			task.wait(2)
			Punching.Value = false
		end
	end

	Punches.KeyframeReached:Connect(function(keyframe)
		if keyframe == 'Punched' then
			HitboxPunch(LocalPlayer)
		end
	end)
	
end