local UIS = game:GetService("UserInputService")
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local KEY = Enum.KeyCode.Q
local DASH_SPEED = 80
local DASH_TIME = 0.25
local COOLDOWN = 0.8
local canDash = true
local dashTrack
local function setupCharacter(char)
local humanoid = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
local animator = humanoid:FindFirstChildOfClass("Animator")
if not animator then
animator = Instance.new("Animator")
animator.Parent = humanoid
end
local dashAnim = Instance.new("Animation")
dashAnim.AnimationId = "rbxassetid://99270118563050"
dashTrack = animator:LoadAnimation(dashAnim)
dashTrack.Priority = Enum.AnimationPriority.Action
local function dash()
if not canDash then return end
canDash = false
dashTrack:Play()
local att = Instance.new("Attachment", root)
local lv = Instance.new("LinearVelocity")
lv.Attachment0 = att
lv.RelativeTo = Enum.ActuatorRelativeTo.Attachment0
lv.MaxForce = math.huge
lv.VectorVelocity = root.CFrame.LookVector * DASH_SPEED
lv.Parent = root
task.wait(DASH_TIME)
lv:Destroy()
att:Destroy()
dashTrack:Stop()
task.wait(COOLDOWN)
canDash = true
end
UIS.InputBegan:Connect(function(input, gp)
if gp then return end
if input.KeyCode == KEY then
dash()
end
end)
end
player.CharacterAdded:Connect(setupCharacter)
if player.Character then
setupCharacter(player.Character)
end
Any idea why this doesnt work?
** You are now Level 1! **