(i got another 2 script a main for key and one for effect and stun on StarterPlayerScript) Starterpack= main (script)< Function (remote event)< Script=

    Enabled = true
    ButtonDown = false
    Combo = ""

   script.Parent.OnServerEvent:connect(function(Player, Action, V1, V2)
local c = Player.Character
local function HitboxFirst(DMG)
	local Region = Region3.new(V1-Vector3.new(2,2,2),V1+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 ~= c then
			local Deb = Instance.new("BoolValue", v.Parent)
			Deb.Name = "Deb"
			game.Debris:AddItem(Deb,0.2)
			local SL = Instance.new("BoolValue", v.Parent)
			SL.Name = "FirstStun"
			game.Debris:AddItem(SL,1)
			local S = Instance.new("Sound", v)
			S.SoundId = "rbxassetid://3932505023"
			S.PlaybackSpeed = math.random(80,120)/100
			S:Play()
			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.Parent.HumanoidRootPart.CFrame
			if v.Parent:FindFirstChild("Blocking") then
			v.Parent.Humanoid:TakeDamage(2.5)
			elseif v.Parent:FindFirstChild("PerfectBlocking") then
			v.Parent.Humanoid:TakeDamage(0.5)
			else
			v.Parent.Humanoid:TakeDamage(DMG)
			end
		end
	end
end

    if Action == "Release" then
ButtonDown = false
end
if Enabled == false then return end
if Action == "Combat" and "FirstStun" or "Combat" and "FinisherStun" or "Combat" and "VariationFinisherStun" then
	Enabled = false
	
	if V2 == "Left" then
		Combo = Combo.."L"
	elseif V2 == "Right" then
		Combo = Combo.."R"
	end
	
	if Combo == "L" then
		local Track = Instance.new("Animation")
		Track.AnimationId = "rbxassetid://5551579655"
		local Anim = c.Humanoid:LoadAnimation(Track)
		Anim:Play()
		wait(0.2)
		HitboxFirst(5)
	elseif Combo == "LL" then
		local Track = Instance.new("Animation")
		Track.AnimationId = "rbxassetid://5551754000"
		local Anim = c.Humanoid:LoadAnimation(Track)
		Anim:Play()
		wait(0.1)
		HitboxFirst(3)	
	elseif Combo == "LLL" then
		local Track = Instance.new("Animation")
		Track.AnimationId = "rbxassetid://5552075999"
		local Anim = c.Humanoid:LoadAnimation(Track)
		Anim:Play()
		wait(0.3)
		local Region = Region3.new(V1-Vector3.new(2,2,2),V1+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 ~= c then
				local Deb = Instance.new("BoolValue", v.Parent)
				Deb.Name = "Deb"
				game.Debris:AddItem(Deb,0.2)
				local SL = Instance.new("BoolValue", v.Parent)
			    SL.Name = "FinsherStun"
			    game.Debris:AddItem(SL,1,5)
				local S = Instance.new("Sound", v)
				S.SoundId = "rbxassetid://3932505023"
				S.PlaybackSpeed = math.random(80,120)/100
				S:Play()
				local FX = Instance.new("Part", workspace.FX)
				FX.Name = "CombatHit"
				FX.CanCollide = false
				FX.Anchored = true
				FX.Material = "ForceField"
				FX.Color = Color3.new(1,0,0)
				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.Parent.HumanoidRootPart.CFrame
				if v.Parent:FindFirstChild("Blocking") then
				v.Parent.Humanoid:TakeDamage(5.5)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*20
				game.Debris:AddItem(BV,0.5)
				BV.Velocity = BV.Velocity + Vector3.new(0,5,0)
				elseif v.Parent:FindFirstChild("PerfectBlocking") then
				v.Parent.Humanoid:TakeDamage(2)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*10
				game.Debris:AddItem(BV,0.5)
				BV.Velocity = BV.Velocity + Vector3.new(0,0,0)
				else
				v.Parent.Humanoid:TakeDamage(15)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*40
				game.Debris:AddItem(BV,0.5)
				BV.Velocity = BV.Velocity + Vector3.new(0,15,0)
				end
			end
		end	
	elseif Combo == "LLR" then
		local Track = Instance.new("Animation")
		Track.AnimationId = "rbxassetid://5558187672"
		local Anim = c.Humanoid:LoadAnimation(Track)
		Anim:Play()
		wait(0.3)
		local Region = Region3.new(V1-Vector3.new(2,2,2),V1+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 ~= c then
				local Deb = Instance.new("BoolValue", v.Parent)
				Deb.Name = "Deb"
				game.Debris:AddItem(Deb,0.2)
				local SL = Instance.new("BoolValue", v.Parent)
		     	SL.Name = "VariationFinisherStun"
			    game.Debris:AddItem(SL,1)
				local S = Instance.new("Sound", v)
				S.SoundId = "rbxassetid://3932505023"
				S.PlaybackSpeed = math.random(80,120)/100
				S:Play()
				local FX = Instance.new("Part", workspace.FX)
				FX.Name = "CombatHit"
				FX.CanCollide = false
				FX.Anchored = true
				FX.Material = "ForceField"
				FX.Color = Color3.new(1,0,0)
				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.Parent.HumanoidRootPart.CFrame
				if v.Parent:FindFirstChild("Blocking") then
				v.Parent.Humanoid:TakeDamage(5.5)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*30
				game.Debris:AddItem(BV,0.5)
				elseif v.Parent:FindFirstChild("PerfectBlocking") then
				v.Parent.Humanoid:TakeDamage(2)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*15
				game.Debris:AddItem(BV,0.5)
				else
				v.Parent.Humanoid:TakeDamage(15)
				local BV = Instance.new("BodyVelocity", v)
				BV.maxForce = Vector3.new(25000,25000,25000)
				BV.Velocity = c.HumanoidRootPart.CFrame.lookVector*60
				game.Debris:AddItem(BV,0.5)
				end
			end
		end
	else
		Combo = ""
	end
	
	spawn(function()
		local OldCombo = Combo
		wait(1.25)
		if Combo == OldCombo then
			Combo = ""
		end
	end)
	
	wait(0.31)
	Enabled = true
 elseif Action == "Block" then
	local Track = Instance.new("Animation")
	Track.AnimationId = "rbxassetid://5578449928"
    local Anim = c.Humanoid:LoadAnimation(Track)
	Anim:Play()
	Enabled = false
	ButtonDown = true
	local B = Instance.new("BoolValue", c)
	B.Name = "PerfectBlocking"
    local FX = Instance.new("Part", workspace.FX)
	FX.Name = "CombatHit"
	FX.CanCollide = false
	FX.Anchored = true
	FX.Material = "ForceField"
	FX.Color = Color3.new(0,0,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 = c.HumanoidRootPart.CFrame
	spawn(function()
		wait(0.5)
		B.Name = "Blocking"
		wait(5)
		Enabled = true
	end)
	while ButtonDown == true do
		wait(3)
	end
	game.Debris:AddItem(B,0)
end

end)

2 comments

0

the variable V1 is nill

0

The script is too long, can u just include the error part?