My combat script works completely fine when one person is using it, however it starts to fall apart when other players get involved. For some reason whenever I do a combo they cannot do theirs and for me it's the same. And if we somehow are able to do a combo we just end up finishing the other players combo. I honestly don't know how I've managed to do this but if I could get some help it would be greatly appreciated :)

Local Script

Player = game.Players.LocalPlayer
Mouse = Player:GetMouse()
Character = Player.Character
Remote = game.ReplicatedStorage.RemoteEvent
Enabled = true
Action = "Combat"

Mouse.Button1Down:Connect(function()	
	local Player = game.Players.LocalPlayer
	local Character = Player.Character
	if Enabled == true then
	Remote:FireServer("Combat", Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-2).p, "Left")
	end
end)


Mouse.Button2Down:Connect(function()
	local Player = game.Players.LocalPlayer
	local Character = Player.Character
	if Enabled == true then
	Remote:FireServer("Combat", Character.HumanoidRootPart.CFrame*CFrame.new(0,0,-2).p, "Right")
	end
end)

Server Script

Remote = game.ReplicatedStorage.RemoteEvent
Combo = ""


Enabled = true



Remote.OnServerEvent:Connect(function(Pley, Action, SeaFrame, W)
local character = Pley.Character
	
	local function HitBox(DMG)
				local Region = Region3.new(SeaFrame-Vector3.new(1.5,1.5,1.5),SeaFrame+Vector3.new(1.5,1.5,1.5))
		local RTable = workspace:FindPartsInRegion3(Region, nil, 20)
		for i,v in pairs(RTable) do
			if v.Parent:findFirstChild("Humanoid") and v.Parent:findFirstChild("Deb") == nil and v.Parent ~= character then
				local Deb = Instance.new("BoolValue", v.Parent)
				Deb.Name = "Deb"
				game.Debris:AddItem(Deb,0.2)
				v.Parent.Humanoid:TakeDamage(DMG)
				local FX = Instance.new("Part", workspace.FX)
				FX.Name = "CombatHit"
				FX.CanCollide = false
				FX.Anchored = true
				FX.Material = "ForceField"
				FX.Color = Color3.new(1,1,1)
				FX.Size = Vector3.new(1,1,1)
				local SM = Instance.new("SpecialMesh", FX)SM.MeshType = "Sphere"
				SM.Scale = Vector3.new(0,0,0)
				FX.CFrame = v.CFrame
		local SoundFX = Instance.new("Sound", v)
		SoundFX.SoundId = "rbxassetid://1693499499"
		SoundFX.PlaybackSpeed = math.random(80,120)/100
		SoundFX:Play()	
			end
		end	
	end
	
	if Enabled == false then return end
	if Action == "Combat" then
	Enabled = false
	
	if Action ~= nil then
		character.Humanoid.WalkSpeed = 7
	end
		
	if W == "Left" then
		Combo = Combo.."L"
	elseif W == "Right" then
		Combo = Combo.."R"
	end
		
		if Combo == "R" then
			local Track = Instance.new("Animation")
			Track.AnimationId = "rbxassetid://05098485668"
			local Anime = character.Humanoid:LoadAnimation(Track)
			Anime:Play()
			wait (1)
			local Region = Region3.new(SeaFrame-Vector3.new(2,2,2),SeaFrame+Vector3.new(2,2,2))
		local RTable = workspace:FindPartsInRegion3(Region, nil, 20)
		for i,v in pairs(RTable) do
			if v.Parent:findFirstChild("Humanoid") and v.Parent:findFirstChild("Deb") == nil and v.Parent ~= character then
				local Deb = Instance.new("BoolValue", v.Parent)
				Deb.Name = "Deb"
				game.Debris:AddItem(Deb,0.2)
				v.Parent.Humanoid:TakeDamage(20)
					local FX = Instance.new("Part", workspace.FX)
				FX.Name = "CombatHit"
				FX.CanCollide = false
				FX.Anchored = true
				FX.Material = "ForceField"
				FX.Color = Color3.new(1,1,1)
				FX.Size = Vector3.new(1,1,1)
				local SM = Instance.new("SpecialMesh", FX)SM.MeshType = "Sphere"
				SM.Scale = Vector3.new(0,0,0)
				FX.CFrame = v.CFrame
				local SoundFX = Instance.new("Sound", v)
				SoundFX.SoundId = "rbxassetid://441202925"
				SoundFX.PlaybackSpeed = math.random(80,120)/100
				SoundFX:Play()	
				local BV = Instance.new("BodyVelocity", v)
				BV.MaxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = character.HumanoidRootPart.CFrame.lookVector*40
				game.Debris:AddItem(BV, 0.3)
				BV.Velocity = BV.Velocity + Vector3.new(0,70,0)
				end
			end
			wait(0.7)
		end
		if Combo == "L" then
			local Track = Instance.new("Animation")
			Track.AnimationId = "rbxassetid://05083821136"
			local Anime = character.Humanoid:LoadAnimation(Track)
			Anime:Play()
			wait (0.38)
			HitBox(10)
		elseif Combo == "LL" then
				local Track = Instance.new("Animation")
			Track.AnimationId = "rbxassetid://5083826892"
			local Anime = character.Humanoid:LoadAnimation(Track)
			Anime:Play()
			wait(0.3)
			HitBox(10)
		elseif Combo == "LLL" then
				local Track = Instance.new("Animation")
			Track.AnimationId = "rbxassetid://05094367877"
			local Anime = character.Humanoid:LoadAnimation(Track)
			Anime:Play()
			wait(0.7)
		local Region = Region3.new(SeaFrame-Vector3.new(2,2,2),SeaFrame+Vector3.new(2,2,2))
		local RTable = workspace:FindPartsInRegion3(Region, nil, 20)
		for i,v in pairs(RTable) do
			if v.Parent:findFirstChild("Humanoid") and v.Parent:findFirstChild("Deb") == nil and v.Parent ~= character then
				local Deb = Instance.new("BoolValue", v.Parent)
				Deb.Name = "Deb"
				game.Debris:AddItem(Deb,0.2)
				v.Parent.Humanoid:TakeDamage(17)
					local FX = Instance.new("Part", workspace.FX)
				FX.Name = "CombatHit"
				FX.CanCollide = false
				FX.Anchored = true
				FX.Material = "ForceField"
				FX.Color = Color3.new(1,1,1)
				FX.Size = Vector3.new(1,1,1)
				local SM = Instance.new("SpecialMesh", FX)SM.MeshType = "Sphere"
				SM.Scale = Vector3.new(0,0,0)
				FX.CFrame = v.CFrame
				local SoundFX = Instance.new("Sound", v)
				SoundFX.SoundId = "rbxassetid://441202925"
				SoundFX.PlaybackSpeed = math.random(80,120)/100
				SoundFX:Play()	
				local BV = Instance.new("BodyVelocity", v)
				BV.MaxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = character.HumanoidRootPart.CFrame.lookVector*40
				game.Debris:AddItem(BV, 0.3)
				BV.Velocity = BV.Velocity + Vector3.new(0,15,0)
				end		
			end	
			wait(0.7)
		else
			Combo = ""	
	end
		spawn(function()
		local OldCombo = Combo
		wait(0.7)
		if OldCombo == Combo then
		Combo = ""
		end
	end)
	Enabled = true
	end
		Action = nil
 if Action == nil then
	character.Humanoid.WalkSpeed = 16
	end
end)