Hi so I'm currently working on a basic fist combat system, I've gotten pretty far to the point where the player can swing and damage with their fists, however, there's an issue within my server script.
I used two variables in my serverscript to detect when the arms should deal damage.
leftDamage = false
rightDamage = false
However, when a player swings with their left arm for example, yes their left arm will deal damage, but so will everybody in the games.
I'm just going to include all the code here, sorry if what I've included is unnecessary
local repStorage = game:GetService("ReplicatedStorage")
local remoteEvent = repStorage:WaitForChild("Swing")
Players = game:GetService("Players")
leftDamage = false
rightDamage = false
char = script.Parent.Parent
char:WaitForChild("Humanoid")
leftarm = char:WaitForChild("Left Arm")
rightarm = char:WaitForChild("Right Arm")
remoteEvent.OnServerEvent:connect(function(player, passthrough)
local char = player.Character
if passthrough == "L" then
leftDamage = true
elseif passthrough == "R" then
rightDamage = true
else
end
end)
leftarm.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
if leftDamage == true then hit.Parent.Humanoid:TakeDamage(10)
leftDamage = false
script.Parent.Sound:Play()
else
end
end
end)
rightarm.Touched:connect(function(hit)
if hit.Parent:FindFirstChild("Humanoid") then
if rightDamage == true then hit.Parent.Humanoid:TakeDamage(10)
rightDamage = false
script.Parent.Sound:Play()
else
end
end
end)

1 comment
I have a solution im just writing it out