Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local RS = game:GetService("ReplicatedStorage")
- local Animations = RS.Animations
- local Debounce = {}
- local Combo = {}
- local HitTimer = {}
- local Distance = 4.5
- local GeneralWaitTIme = .4
- local OverallWait = 2.1
- local ResetSpeed = {}
- RS.Event.OnServerEvent:Connect(function(Player)
- if Player.Character.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
- local Character = Player.Character
- local Humanoid = Character.Humanoid
- Combo[Player] += 1
- local Hits = {
- Humanoid:LoadAnimation(Animations.Hit1);
- Humanoid:LoadAnimation(Animations.Hit2);
- Humanoid:LoadAnimation(Animations.Hit3);
- Humanoid:LoadAnimation(Animations.Hit4);
- Humanoid:LoadAnimation(Animations.Hit5);
- }
- local v1 = {}
- local Eyes = Character.HumanoidRootPart.CFrame.LookVector
- local RayCastPara = RaycastParams.new()
- RayCastPara.FilterDescendantsInstances = {Player.Character}
- RayCastPara.FilterType = Enum.RaycastFilterType.Blacklist
- local RayHitBox = workspace:Raycast((Character.HumanoidRootPart.CFrame).p, Eyes * Distance, RayCastPara)
- local function resetSpeed(Hum: Humanoid)
- if ResetSpeed[Player] then
- return
- end
- ResetSpeed[Player] = game["Run Service"].Heartbeat:Connect(function()
- if tick() - HitTimer[Player] < 1 then return end
- Hum.WalkSpeed = 16
- Hum.JumpPower = 50
- ResetSpeed[Player]:Disconnect()
- ResetSpeed[Player] = nil
- end)
- end
- local function Speed()
- HitTimer[Player] = tick()
- RayHitBox.Instance.Parent:FindFirstChild("Humanoid").WalkSpeed = 0
- RayHitBox.Instance.Parent:FindFirstChild("Humanoid").JumpPower = 0
- resetSpeed(RayHitBox.Instance.Parent.Humanoid)
- end
- local function Hitbox()
- if RayHitBox then
- if RayHitBox.Instance and RayHitBox.Instance.Parent:FindFirstChild("Humanoid") then
- if Combo[Player] == 5 then
- local BV = Instance.new("BodyVelocity",RayHitBox.Instance.Parent:FindFirstChild("HumanoidRootPart"))
- BV.MaxForce = Vector3.new(math.huge,math.huge,math.huge)
- BV.Velocity = Player.Character.HumanoidRootPart.CFrame.LookVector * 40
- RayHitBox.Instance.Parent.Humanoid:TakeDamage(5)
- game.Debris:AddItem(BV,.5)
- Speed()
- else
- table.insert(v1, RayHitBox.Instance.Parent.Humanoid)
- v1[1]:TakeDamage(5)
- Speed()
- end
- end
- end
- end
- Hits[Combo[Player]]:Play()
- Hitbox()
- if Combo[Player] == 5 then Combo[Player] = 0 end
- wait(GeneralWaitTIme)
- delay(.4,function()
- if RayHitBox then
- if RayHitBox.Instance.Parent:FindFirstChild("Humanoid") and v1[1] == nil then
- if Combo[Player] then
- RayHitBox.Instance.Parent:FindFirstChild("Humanoid").WalkSpeed = 16
- RayHitBox.Instance.Parent:FindFirstChild("Humanoid").JumpPower = 50
- end
- end
- else
- print("Not Found")
- end
- end)
- table.remove(v1, 1)
- Debounce[Player] = nil
- end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement