-- // CONFIG
local dashSpeed = 100 -- Velocidade do dash
local dashDuration = 0.2 -- Duração do dash
local dashCooldown = 1 -- Cooldown entre os dashs
local jumpCooldown = 0.2 -- Delay entre pulos
local maxJumps = 2 -- Total de pulos (1 normal + 1 extra)
-- // VARIÁVEIS
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local player = [Link]
local char = [Link] or [Link]:Wait()
local humanoid = char:WaitForChild("Humanoid")
local root = char:WaitForChild("HumanoidRootPart")
local jumpsUsed = 0
local canDash = true
local lastJumpTime = 0
-- // FUNÇÃO: Resetar pulos quando toca o chão
[Link]:Connect(function(old, new)
if new == [Link] or new ==
[Link] then
jumpsUsed = 0
end
end)
-- // FUNÇÃO: Verifica entrada de tecla
[Link]:Connect(function(input, gameProcessed)
if gameProcessed then return end
-- DASH
if [Link] == [Link] and canDash then
canDash = false
local direction = [Link]
local bodyVelocity = [Link]("BodyVelocity")
[Link] = direction * dashSpeed
[Link] = [Link](1e5, 0, 1e5)
[Link] = root
[Link](dashDuration, function()
bodyVelocity:Destroy()
end)
[Link](dashCooldown, function()
canDash = true
end)
end
-- PULO DUPLO
if [Link] == [Link] then
local now = tick()
if now - lastJumpTime < jumpCooldown then return end
lastJumpTime = now
if humanoid:GetState() == [Link] and jumpsUsed
< maxJumps - 1 then
humanoid:ChangeState([Link])
jumpsUsed += 1
end
end
end)