local Tool = script.Parent
local Player = Tool.Parent.Parent
local character = Player.Character or Player.CharacterAdded:Wait()
local Char = ((character and character.Parent ~= nil and character) or Player.CharacterAdded:wait())
local Humanoid = Char:WaitForChild("Humanoid")
local Debounce = {}
local Combo = {}
local bvtable = {0,0,0,0,50}
Tool.Activated:Connect(function()
Char = Player.Character
if Humanoid:GetState() == Enum.HumanoidStateType.Freefall then return end
if Debounce[Player] then return end
Debounce[Player] = true
if not Combo[Player] then Combo[Player] = 0 end
Combo[Player] += 1
local Hit1 = Humanoid:LoadAnimation(game.ReplicatedStorage.Animations.Hit1)
local Hit2 = Humanoid:LoadAnimation(game.ReplicatedStorage.Animations.Hit2)
local Hit3 = Humanoid:LoadAnimation(game.ReplicatedStorage.Animations.Hit3)
local Hit4 = Humanoid:LoadAnimation(game.ReplicatedStorage.Animations.Hit4)
local Hit5 = Humanoid:LoadAnimation(game.ReplicatedStorage.Animations.Hit5)
local Eyes = Char.HumanoidRootPart.CFrame.LookVector
local Distance = 4.5
local GeneralWaitTIme = .4
local OverallWait = 2.1
local RayCastPara = RaycastParams.new()
RayCastPara.FilterDescendantsInstances = {Char}
RayCastPara.FilterType = Enum.RaycastFilterType.Blacklist
local RayHitBox = workspace:Raycast((Char.HumanoidRootPart.CFrame).p, Eyes * Distance, RayCastPara)
local function Speed()
RayHitBox.Instance.Parent:FindFirstChild("Humanoid").WalkSpeed = 0
RayHitBox.Instance.Parent:FindFirstChild("Humanoid").JumpPower = 0
end
local function Hitbox()
if RayHitBox then
if RayHitBox.Instance and RayHitBox.Instance.Parent:FindFirstChild("Humanoid") then
if Combo[Player] then
local BV = Instance.new("BodyVelocity",RayHitBox.Instance.Parent:FindFirstChild("HumanoidRootPart"))
BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
BV.Velocity = Char.HumanoidRootPart.CFrame.LookVector * bvtable[Combo[Player]]
script.Parent.Damage:FireServer(RayHitBox.Instance.Parent)
game.Debris:AddItem(BV,.5)
Speed()
end
end
end
end
if Combo[Player] == 1 then
Hit1:Play()
Hitbox()
wait(GeneralWaitTIme)
end
if Combo[Player] == 2 then
Hit2:Play()
Hitbox()
wait(GeneralWaitTIme)
end
if Combo[Player] == 3 then
Hit3:Play()
Hitbox()
wait(GeneralWaitTIme)
end
if Combo[Player] == 4 then
Hit4:Play()
Hitbox()
wait(GeneralWaitTIme)
end
if Combo[Player] == 5 then
Hit5:Play()
Hitbox()
wait(GeneralWaitTIme)
Combo[Player] = nil
end
Debounce[Player] = nil
end)
I’ve been trying to figure out how to add block to my combat system, but i can’t come up with anything.