Im trying to make it so that when it reaches a keyframe it pauses then plays again to put out some sort of ability here's what i got so far i will put -signs around the main areas

Im trying to make it so that when it reaches a  keyframe it pauses then plays again to put out some sort of ability
here's what i got so far i will put == signs around the main areas
local tool = script.Parent
local player = game.Players.LocalPlayer
local hum = player.Character.Humanoid
script.Parent.CanBeDropped = false
local UIS = game:GetService("UserInputService")
			
local equipped = false
local debounce = true

local anim = script.Parent.Overhead
	script.Parent.Equipped:connect(function()
		equipped = true
	script.Parent.Activated:connect(function()
		debounce = true
		print("Activated")
		local anima=hum:LoadAnimation(script.Parent.Overhead)
				anima:Play()
	------------------------------------------------------
			local UIS = game:GetService("UserInputService")
			
			function inputBegan(object, processed)
				if processed then return end
				
				if object.KeyCode == Enum.KeyCode.Q then
					local animTrack = hum:LoadAnimation(script.Parent.Spitbarage)
					animTrack:Play()
					animTrack.KeyframeReached:connect(function(keyframeName)
						if keyframeName == "Start" then
							animTrack:Pause()
							wait(5)
							animTrack:Play()
						end
					end)
				end
			
			 
			end
			
			UIS.InputBegan:connect(inputBegan)

			
-------------------------------------------