
KeylessUniversal

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local backpack = player:WaitForChild("Backpack")
local character = player.Character or player.CharacterAdded:Wait()
local humanoid = character:WaitForChild("Humanoid")
local hrp = character:WaitForChild("HumanoidRootPart")
local camera = workspace.CurrentCamera
local playerGui = player:WaitForChild("PlayerGui")
local canDash = true
local cooldownTime = 1.5
local cooldownStartTime = 0
local dashTool = Instance.new("Tool")
dashTool.Name = "Dash"
dashTool.RequiresHandle = false
dashTool.CanBeDropped = false
local dashGui = Instance.new("ScreenGui")
dashGui.Name = "DashGUI"
dashGui.ResetOnSpawn = false
dashGui.Enabled = false
local dashButton = Instance.new("TextButton")
dashButton.Name = "DashButton"
dashButton.Size = UDim2.new(0, 100, 0, 40)
dashButton.Position = UDim2.new(1, -110, 1, -140)
dashButton.AnchorPoint = Vector2.new(0, 0)
dashButton.BackgroundColor3 = Color3.fromRGB(60, 60, 60)
dashButton.TextColor3 = Color3.fromRGB(255, 255, 255)
dashButton.Font = Enum.Font.SourceSansBold
dashButton.TextSize = 20
dashButton.Text = "Dash"
dashButton.AutoButtonColor = true
dashButton.Parent = dashGui
local cooldownBar = Instance.new("Frame")
cooldownBar.Size = UDim2.new(0, 100, 0, 5)
cooldownBar.Position = UDim2.new(1, -110, 1, -150)
cooldownBar.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
cooldownBar.Parent = dashGui
dashTool.Equipped:Connect(function()
dashGui.Enabled = true
dashGui.Parent = playerGui
end)
dashTool.Unequipped:Connect(function()
dashGui.Enabled = false
end)
dashButton.MouseButton1Click:Connect(function()
if not canDash then return end
canDash = false
cooldownStartTime = tick()
local oldSpeed, oldJump = humanoid.WalkSpeed, humanoid.JumpPower
humanoid.WalkSpeed = 0
humanoid.JumpPower = 65
humanoid:ChangeState(Enum.HumanoidStateType.Jumping)
local anim = Instance.new("Animation")
anim.AnimationId = "rbxassetid://282574440"
local track = humanoid:LoadAnimation(anim)
track:Play()
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://6128977275"
sound.Volume = 1
sound.PlayOnRemove = true
sound.Parent = hrp
sound:Destroy()
local function makeParticle(texture, rate, size, spread)
local p = Instance.new("ParticleEmitter")
p.Texture = texture
p.Rate = rate
p.Size = NumberSequence.new(size)
p.Lifetime = NumberRange.new(0.3)
p.Speed = NumberRange.new(10, 15)
p.SpreadAngle = Vector2.new(spread, spread)
p.Transparency = NumberSequence.new({NumberSequenceKeypoint.new(0, 0.1), NumberSequenceKeypoint.new(1, 1)})
p.Parent = hrp
return p
end
local smoke = makeParticle("rbxasset://textures/particles/smoke_main.dds", 200, 1.5, 30)
local speedLines = makeParticle("rbxassetid://11978082513", 10, 2, 15)
local oldFov = camera.FieldOfView
camera.FieldOfView = 90
task.delay(0.5, function()
camera.FieldOfView = oldFov
end)
local function camShake()
local startTime = tick()
while tick() - startTime < 0.3 do
local offset = Vector3.new(
math.random(-1,1)*0.2,
math.random(-1,1)*0.2,
math.random(-1,1)*0.2
)
camera.CFrame = camera.CFrame * CFrame.new(offset)
task.wait()
end
end
task.spawn(camShake)
task.delay(0.2, function()
hrp.Velocity = hrp.CFrame.LookVector * 100 -- Reduced dash boost to 100
end)
task.delay(0.3, function()
humanoid.PlatformStand = true
local bodyGyro = Instance.new("BodyGyro")
bodyGyro.D = 500
bodyGyro.MaxTorque = Vector3.new(400000, 0, 400000)
bodyGyro.CFrame = hrp.CFrame * CFrame.Angles(math.rad(70), 0, 0)
bodyGyro.Parent = hrp
task.delay(0.75, function()
humanoid.PlatformStand = false
bodyGyro:Destroy()
end)
end)
task.delay(0.2, function()
local particleCount = 0
while particleCount < 3 do
local ring = makeParticle("rbxassetid://12201347394", 0, 8, 10) -- Bigger rings, visible and move backward
ring.Speed = NumberRange.new(0, 0)
ring.SpreadAngle = Vector2.new(0, 0)
ring.Size = NumberSequence.new(8)
ring.Lifetime = NumberRange.new(1)
ring.Position = hrp.Position + Vector3.new(0, 3, -10 * (particleCount + 1)) -- Backward spawn
task.delay(0.5, function()
ring.Enabled = false
end)
particleCount = particleCount + 1
end
end)
task.delay(1, function()
if track and track.IsPlaying then
track:Stop()
end
smoke.Enabled = false
speedLines.Enabled = false
smoke:Destroy()
speedLines:Destroy()
end)
task.delay(cooldownTime, function()
humanoid.WalkSpeed = oldSpeed
humanoid.JumpPower = oldJump
canDash = true
end)
end)
game:GetService("RunService").Heartbeat:Connect(function()
local elapsed = tick() - cooldownStartTime
cooldownBar.Size = UDim2.new(0, 100 * (1 - elapsed / cooldownTime), 0, 5)
if elapsed >= cooldownTime then
cooldownBar.Size = UDim2.new(0, 100, 0, 5)
end
end)
dashTool.Parent = backpackNo comments yet for this script.



