Damage multiplying with each hit using Keyframe events

Every time the :GetMarkerReachedSignal event runs, the next time it is multiplied. Say the first time it deals 4 damage, next time it does 8, then next time it does 16. How do I stop this from happening?

if combo == 1 then
						
						Animations.FirstPunch:Play()

						delay(.15, function()
							Sounds.Swing.HSwing1:Play()
						end)

						--Hitbox

						local PH = PunchHitbox:Clone()
						PH.Parent = chr["Right Arm"]
						local weld = Instance.new("Weld", PH)
						weld.Part0 = chr["Right Arm"]
						weld.Part1 = PH
						local Hitbox = RaycastHitbox.new(PH)

						Hitbox.OnHit:Connect(function(hit, humanoid)
							if humanoid.Parent ~= chr then
								humanoid:TakeDamage(config.Damage)
							end
						end)
						
						Animations.FirstPunch:GetMarkerReachedSignal("Start"):Connect(function()
							Hitbox:HitStart()
						end)
						Animations.FirstPunch:GetMarkerReachedSignal("End"):Connect(function()
							Hitbox:HitStop()
						end)

						delay(config.ADelay, function()
							hum.WalkSpeed = 16
							db = false
						end)
						
						--End
1 Like
-- Put this script in the tool that deals damage

local tool = script.Parent
local multiplier = 2 -- Adjust this value to change damage multiplier

tool.Activated:Connect(function()
    local character = tool.Parent
    local humanoid = character:FindFirstChildOfClass("Humanoid")

    if humanoid then
        humanoid.Health = humanoid.Health * multiplier
    end
end)

I dont want the hp to be multiplied with each hit thats the problem

Okay no problem by accident about