"make it so the damage happens only one time, and not a lot of times in a hit"
xxxxxxxxxx
-- server script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local anim1 = ReplicatedStorage:FindFirstChild("right punch")
local anim2 = ReplicatedStorage:FindFirstChild("left punch")
-- local script
local player = game.Players.LocalPlayer
local character = player.Character
local humanoid = character:FindFirstChild("Humanoid")
local animTrack1 = humanoid:LoadAnimation(anim1)
local animTrack2 = humanoid:LoadAnimation(anim2)
local punching = false
local punchCount = 0
local canPunch = true
local hitCharacters = {}
local function punch()
if canPunch then
local arm = character:FindFirstChild(punching and "Left Arm" or "Right Arm")