marketplace/gaming

Auto-Run Toggle

v0.1.0

@rebindfree

Tap one key to keep walking, with sprint if you want. Tap S to stop.

Gallery

Auto-Run Toggle preview

Readme

Long journeys without holding W. Tap the backtick key (`) and Rebind holds W for you, plus your sprint key if you turn sprint on. Tap it again, or tap S, to stop.

Needs Rebind 3.5.0 or newer on Windows, macOS, or Linux. No extra permissions.

Settings

  • Auto-run on or off: default ` (the key left of 1 on US keyboards).
  • Also stops auto-run: default S. It still reaches the game as usual.
  • Sprint too and Sprint key: hold a sprint key while running. Default Left Ctrl.

Key changes apply while the package runs on Rebind 3.9 or newer. On older versions, restart the package after changing a key.

Before you use it

Games and servers set their own rules. Single player and your own worlds are yours to automate; check the rules of public servers.

Limits

  • The toggle key no longer types its character while the package runs.
  • Live use remains unverified on Windows, macOS, and Linux.

Stop

Stopping the package releases W and the sprint key. Stop it from the editor toolbar, or press Left Ctrl + Left Alt + K to stop all scripts.

Reviews

No reviews yet. Be the first, from the app.

Source

Version 0.1.0 (current)

main.luau

-- Auto-Run Toggle: one key holds W (and sprint if you want) until you press
-- it again or press the stop key.

local cfg = UI.Schema({
  toggle = UI.Keybind("Grave", { label = "Auto-run on or off" }),
  stopKey = UI.Keybind("S", { label = "Also stops auto-run" }),
  sprint = UI.Toggle(false, { label = "Sprint too" }),
  sprintKey = UI.Keybind("LCtrl", { label = "Sprint key" }),
})

local running = false
local sprinting = nil

local function stop()
  if not running then
    return
  end
  HID.Up("W")
  if sprinting then
    HID.Up(sprinting)
  end
  running, sprinting = false, nil
end

Bind(cfg.toggle, function()
  if running then
    stop()
    return
  end
  running = true
  HID.Down("W")
  if cfg.sprint then
    sprinting = cfg.sprintKey
    HID.Down(sprinting)
  end
end)

-- the stop key still does its usual job, like stepping back
Bind(cfg.stopKey, function()
  stop()
  return true
end)

function OnStop()
  stop()
end