Script
-- =========================================================
-- dogs | Infinite Stamina + AUTO-RUN
-- Game: dogs by AZOT (place 94009908234110)
-- AUTO-RUN starts ON.
-- Toggle: LEFT SHIFT (keyboard) or R3 (controller)
-- Run AFTER you spawn into a round.
-- =========================================================
local RS = game:GetService("ReplicatedStorage")
local UIS = game:GetService("UserInputService")
local VIM = game:GetService("VirtualInputManager")
local Players = game:GetService("Players")
local LP = Players.LocalPlayer
-- ================== CONFIG ==================
local AUTO_RUN = true
local SPRINT_KEYBOARD = Enum.KeyCode.LeftShift -- keyboard sprint key
local SPRINT_GAMEPAD = Enum.KeyCode.ButtonL3 -- controller sprint key (L3 / left stick click)
-- change SPRINT_GAMEPAD if the game sprints on a different controller button
-- ============================================
-- keys that toggle auto-run
local TOGGLE_KEYS = {
[Enum.KeyCode.LeftShift] = true,
[Enum.KeyCode.ButtonR3] = true,
}
local lastDevice = "keyboard"
------------------------------------------------------------------
-- Input simulation (works on keyboard AND gamepad)
------------------------------------------------------------------
local hasKeypress = (type(keypress) == "function") and (type(keyrelease) == "function")
local function setHeld(key, on)
if hasKeypress then
pcall(function()
if on then keypress(key) else keyrelease(key) end
end)
else
pcall(function()
VIM:SendKeyEvent(on, key, false, game)
end)
end
end
local function currentSprintKey()
return (lastDevice == "gamepad") and SPRINT_GAMEPAD or SPRINT_KEYBOARD
end
local function releaseAll()
setHeld(SPRINT_KEYBOARD, false)
setHeld(SPRINT_GAMEPAD, false)
end
local function holdCurrent()
if AUTO_RUN then setHeld(currentSprintKey(), true) end
end
------------------------------------------------------------------
-- On-screen indicator
------------------------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "dogsAutoRun"
gui.ResetOnSpawn = false
gui.Parent = LP:WaitForChild("PlayerGui")
local label = Instance.new("TextLabel")
label.Size = UDim2.new(0, 250, 0, 46)
label.Position = UDim2.new(0.5, -125, 0, 12)
label.BackgroundColor3 = Color3.fromRGB(18, 18, 18)
label.BackgroundTransparency = 0.35
label.TextColor3 = Color3.fromRGB(0, 255, 120)
label.Font = Enum.Font.GothamBold
label.TextSize = 15
label.TextWrapped = true
label.Parent = gui
local function refreshLabel()
label.Text = (AUTO_RUN and "AUTO-RUN: ON" or "AUTO-RUN: OFF") .. "\nShift / R3 = toggle"
label.TextColor3 = AUTO_RUN and Color3.fromRGB(0, 255, 120) or Color3.fromRGB(255, 90, 90)
end
------------------------------------------------------------------
-- INFINITE STAMINA
------------------------------------------------------------------
local function findSprintModule()
for _, name in ipairs({"Sprint", "Sprinting", "Stamina", "Movement"}) do
local hit = RS:FindFirstChild(name, true)
if hit and hit:IsA("ModuleScript") then return hit end
end
for _, v in ipairs(LP.PlayerScripts:GetDescendants()) do
if v:IsA("ModuleScript") then
local n = v.Name:lower()
if n:find("sprint") or n:find("stamina") then return v end
end
end
end
pcall(function()
local sprintModule = findSprintModule()
assert(sprintModule, "[dogs] sprint module not found - re-execute after spawning in")
local mod = require(sprintModule)
local cfg = mod.Config or mod.config or mod.Settings
if cfg then
for k in pairs(cfg) do
local key = k:lower()
if key:find("drain") or key:find("cost") or key:find("delay") then
cfg[k] = 0
elseif key:find("max") or key:find("regen") then
cfg[k] = 999999
end
end
end
if mod._step then
local oldStep = mod._step
mod._step = function(self, dt)
if self.Config then
self._stamina = self.Config.Max or 999999
self._spent = false
end
return oldStep(self, dt)
end
else
task.spawn(function()
while task.wait() do
local ok = pcall(function()
mod._stamina = 999999
mod._spent = false
if mod.Config then mod.Config.Drain = 0 end
end)
if not ok then break end
end
end)
end
end)
------------------------------------------------------------------
-- AUTO-RUN control
------------------------------------------------------------------
UIS.InputBegan:Connect(function(input)
if not TOGGLE_KEYS[input.KeyCode] then return end
if UIS:GetFocusedTextBox() then return end
AUTO_RUN = not AUTO_RUN
if AUTO_RUN then holdCurrent() else releaseAll() end
refreshLabel()
end)
-- swap sprint key automatically when you switch device
UIS.LastInputTypeChanged:Connect(function(t)
local isGamepad = t.Name:sub(1, 7) == "Gamepad"
if isGamepad and lastDevice ~= "gamepad" then
lastDevice = "gamepad"
releaseAll(); holdCurrent()
elseif t == Enum.UserInputType.Keyboard and lastDevice ~= "keyboard" then
lastDevice = "keyboard"
releaseAll(); holdCurrent()
end
end)
LP.CharacterAdded:Connect(function()
task.wait(0.5)
holdCurrent()
end)
-- keep sprint held while auto-run is on (survives respawns / interruptions)
task.spawn(function()
while task.wait(0.4) do
holdCurrent()
end
end)
holdCurrent()
refreshLabel()
print("[dogs] Infinite Stamina + Auto-Run loaded. Toggle = Left Shift (keyboard) / R3 (controller).")