Day 3 of asking for help.
I have made a combat system but the stun is super bad right now when you fire a remote event it fires with the number of seconds you want the target to be stunned but if im doing a combo it puts the stunned value to false and then they can attack again DURING the combo How can I make this more efficient and better??
local script fires the event
Damage:FireServer(hitbox,damage,knockback,stunseconds, punchsfx)
serverscript aka stun/damage script
local gothit = false
game.ReplicatedStorage.Damage1.OnServerEvent:Connect(function(plr, part, damage, knockback, stun, sound)
local chr = plr.Character
local hitbox = game:GetService("ReplicatedStorage"):WaitForChild("Hitbox"):Clone()
local weld = Instance.new("WeldConstraint")
hitbox.Parent = workspace.Effects
hitbox.CFrame = part.CFrame
weld.Parent = hitbox
weld.Part0 = hitbox
weld.Part1 = part
hitbox.Touched:Connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Name ~= plr.Name and hit.Parent:FindFirstChild("Stand") and hit.Parent:FindFirstChild("Hit") and hit.Parent:FindFirstChild("Stand") then
gothit = true
local bv = Instance.new("BodyVelocity")
bv.MaxForce = Vector3.new(1e8,1e8,1e8)
bv.P = math.huge
bv.Velocity = chr.HumanoidRootPart.CFrame.lookVector * knockback
bv.Parent = hit.Parent.HumanoidRootPart
game.Debris:AddItem(bv,.3)
hit.Parent.Humanoid:TakeDamage(damage)
hit.Parent.Hit.Value = true
hitbox:Destroy()
wait(stun)
hit.Parent.Hit.Value = false
gothit = false
end
end)
wait(0.5)
if gothit == false then
if gothit == false then
hitbox:Destroy()
end
end
end)
