
Key Required

-- Services
local Players = game:GetService("Players")
local ContextActionService = game:GetService("ContextActionService")
local workspace = game:GetService("Workspace")
local LocalPlayer = Players.LocalPlayer
-- Find dash table in memory
local Dash
for i,v in pairs(getgc(true)) do
if type(v) == "table" and rawget(v, "CharacterDashAsync") then
Dash = v
break
end
end
if not Dash then
warn("Dash table not found!")
return
end
-- Track character
local Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
-- Function to get dash direction based on camera
local function getDashDirection()
local cam = workspace.CurrentCamera
local moveDir = Humanoid.MoveDirection
local frontDot = math.round(moveDir:Dot(cam.CFrame.LookVector))
local rightDot = math.round(moveDir:Dot(cam.CFrame.RightVector))
if frontDot == 0 then
return rightDot > 0 and "Right" or (rightDot < 0 and "Left" or "Front")
else
return frontDot > 0 and "Front" or "Back"
end
end
-- Dash with no cooldown
local function DashNoCooldown()
if Character.Parent and Humanoid.Health > 0 then
Dash.CharacterDashAsync(Character, getDashDirection())
end
end
-- Bind Q key
ContextActionService:BindAction("Dash", function(_, inputState)
if inputState == Enum.UserInputState.Begin then
DashNoCooldown()
end
end, true, Enum.KeyCode.Q)
-- Update character on respawn
LocalPlayer.CharacterAdded:Connect(function(char)
Character = char
Humanoid = Character:WaitForChild("Humanoid")
end)No comments yet for this script.