О скрипте
Скачать скрипт
Код скрипта
Скопируйте loader-код, если используете совместимую среду.
-- OneRoblox standalone adaptation of GigaMechanicRear/tower_of_hell.
-- Upstream: 18077688b55b17fead964c4d6de5c5a7ae497c36, MIT (included below).
-- Modified 2026-09-19: movement controls only, no external UI or networking.
-- No auto-complete, noclip, anti-AFK, anti-cheat bypass or reward guarantees.
-- Not gameplay-tested. Third-party scripts can result in account restrictions.
if game.GameId ~= 703124385 then
warn("OneRoblox: this file is intended for the original Tower of Hell.")
return
end
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Input = game:GetService("UserInputService")
local player = Players.LocalPlayer
local playerGui = player and player:FindFirstChildOfClass("PlayerGui")
if not playerGui then
warn("OneRoblox: PlayerGui is not ready; no controls were created.")
return
end
local previous = playerGui:FindFirstChild("OneRobloxToHMovement")
if previous then previous:Destroy() end
local closed, jumpEnabled, speedEnabled = false, false, false
local selectedSpeed = 32
local ownedHumanoid, originalSpeed, lastSpeed
local connections = {}
local function connect(signal, callback)
local connection = signal:Connect(callback)
table.insert(connections, connection)
return connection
end
local function humanoid()
local char = player.Character
local hum = char and char:FindFirstChildOfClass("Humanoid")
if hum and hum.Health > 0 then return hum end
return nil
end
local function restoreSpeed()
if ownedHumanoid then
pcall(function()
if ownedHumanoid.Parent and ownedHumanoid.WalkSpeed == lastSpeed then
ownedHumanoid.WalkSpeed = originalSpeed
end
end)
end
ownedHumanoid, originalSpeed, lastSpeed = nil, nil, nil
end
local function updateSpeed()
if closed or not speedEnabled then return end
local hum = humanoid()
if hum ~= ownedHumanoid then
restoreSpeed()
if hum then
ownedHumanoid, originalSpeed = hum, hum.WalkSpeed
end
end
if hum then
hum.WalkSpeed = selectedSpeed
lastSpeed = selectedSpeed
end
end
local gui = Instance.new("ScreenGui")
gui.Name = "OneRobloxToHMovement"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
local frame = Instance.new("Frame")
frame.Name = "Controls"
frame.AnchorPoint = Vector2.new(0.5, 0)
frame.Position = UDim2.new(0.5, 0, 0.1, 0)
frame.Size = UDim2.new(0.9, 0, 0, 240)
frame.BackgroundColor3 = Color3.fromRGB(25, 28, 32)
frame.BorderSizePixel = 0
frame.Parent = gui
local limits = Instance.new("UISizeConstraint")
limits.MaxSize = Vector2.new(340, 240)
limits.Parent = frame
local function label(name, text, x, y, width, height)
local node = Instance.new("TextLabel")
node.Name, node.Text = name, text
node.Position = UDim2.new(x, 8, 0, y)
node.Size = UDim2.new(width, -16, 0, height)
node.BackgroundTransparency = 1
node.TextColor3 = Color3.fromRGB(235, 238, 242)
node.Font = Enum.Font.SourceSans
node.TextSize = 16
node.TextWrapped = true
node.Parent = frame
return node
end
local function button(name, text, x, y, width, callback)
local node = Instance.new("TextButton")
node.Name, node.Text = name, text
node.Position = UDim2.new(x, 8, 0, y)
node.Size = UDim2.new(width, -16, 0, 38)
node.BackgroundColor3 = Color3.fromRGB(43, 49, 56)
node.TextColor3 = Color3.fromRGB(240, 243, 247)
node.BorderSizePixel = 0
node.Font, node.TextSize = Enum.Font.SourceSans, 16
node.TextWrapped = true
node.Parent = frame
connect(node.Activated, function()
if not closed then callback() end
end)
return node
end
label("Title", "OneRoblox | Tower of Hell", 0, 0, 0.8, 40)
local jumpButton, speedButton, speedLabel
local function refresh()
jumpButton.Text = jumpEnabled and "Infinite Jump: ON" or "Infinite Jump: OFF"
speedButton.Text = speedEnabled and "Speed: ON" or "Speed: OFF"
speedLabel.Text = tostring(selectedSpeed)
end
local function cleanup()
if closed then return end
closed, jumpEnabled, speedEnabled = true, false, false
restoreSpeed()
for _, connection in ipairs(connections) do connection:Disconnect() end
connections = {}
end
button("Close", "X", 0.8, 1, 0.2, function()
cleanup()
gui:Destroy()
end)
jumpButton = button("ToggleJump", "Infinite Jump: OFF", 0, 45, 1, function()
jumpEnabled = not jumpEnabled
refresh()
end)
speedButton = button("ToggleSpeed", "Speed: OFF", 0, 89, 1, function()
speedEnabled = not speedEnabled
if speedEnabled then updateSpeed() else restoreSpeed() end
refresh()
end)
button("Slower", "-", 0, 133, 0.3, function()
selectedSpeed = math.max(16, selectedSpeed - 4)
updateSpeed()
refresh()
end)
speedLabel = label("SpeedValue", tostring(selectedSpeed), 0.3, 133, 0.4, 38)
button("Faster", "+", 0.7, 133, 0.3, function()
selectedSpeed = math.min(64, selectedSpeed + 4)
updateSpeed()
refresh()
end)
label("Notice", "Not gameplay-tested. Account restrictions are possible.", 0, 180, 1, 48)
connect(Input.JumpRequest, function()
if closed or not jumpEnabled or Input:GetFocusedTextBox() then return end
local hum = humanoid()
if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end
end)
connect(RunService.Heartbeat, updateSpeed)
connect(player.CharacterRemoving, restoreSpeed)
connect(gui.Destroying, cleanup)
gui.Parent = playerGui
--[=[
Upstream license (GigaMechanicRear):
MIT License
Copyright (c) 2026 GigaMechanicRear
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
]=]Описание скрипта
Отдельная адаптация Infinite Jump и скорости. Без автофарма и обещаний обхода античита; работа в игре не проверена.
Этот скрипт для Tower of Hell содержит две функции: повторный прыжок по нажатию и настройку скорости персонажа. Это самостоятельная адаптация открытого проекта GigaMechanicRear, а не полный хаб с обещанием пройти любую башню. Lua-файл можно прочитать целиком: внешние меню и загрузчики в него не включены.

Что есть в файле
- Infinite Jump: запрос повторного прыжка при нажатии кнопки прыжка, пока функция включена.
- Speed: локальная настройка WalkSpeed от 16 до 64 с шагом 4.
- Отключение: обе функции изначально выключены; кнопка X закрывает панель и отсоединяет обработчики.
- Восстановление скорости: сохраняется исходное значение персонажа, а не автоматически подставляется 16.
- Проверка игры: файл рассчитан на оригинальную вселенную Tower of Hell с ID 703124385.
Чего здесь нет
Автофарма, автоматического прохождения, полёта, бессмертия, выдачи нимбов и обхода античита нет. В исходном хабе были дополнительные функции, но переносить весь набор мы не стали. В частности, автоматическое движение там выбирало предполагаемый финиш по названиям деталей и могло принять за цель неподходящий объект.
Скрипт не начисляет опыт или монеты напрямую и не гарантирует наград за изменённое перемещение. Если вы искали именно автофарм, этот файл его не заменяет. Для обычной прокачки есть гайд по уровням и опыту.
Что проверено
Прочитан исходный файл закреплённой версии, проверен синтаксис адаптации и выполнены модельные тесты переключателей, возрождения, восстановления скорости и закрытия. В скачиваемом файле нет HTTP-запросов, внешней загрузки кода, записи файлов и обращений к серверным RemoteEvent или RemoteFunction.
Запуск в действующей игре не проверен. Модельные тесты не подтверждают совместимость с текущим клиентом, исполнителем или правилами сервера. Поэтому статус материала остаётся «не проверен». Никакой гарантии отсутствия ограничений аккаунта нет: сторонние скрипты могут нарушать правила Roblox и конкретной игры.
Кнопки панели
Infinite Jump переключает повторный прыжок. Speed включает или отключает изменение скорости; кнопки минус и плюс меняют выбранное значение. Новое значение не применяется, пока Speed выключен. Панель не покупает предметы, не открывает магазин и не отправляет сообщения в чат.
После смерти настройки переключателей сохраняются, но скорость нового персонажа запоминается отдельно. При выключении возвращается прежняя скорость, если текущее значение всё ещё принадлежит этой адаптации. Если его уже изменила другая система, файл не подменяет чужое изменение старым числом. Закрытие панели прекращает обработку прыжков и скорости.
Скачать Lua и проверить содержимое
Кнопка скачивания выдаёт текстовый файл Lua после десятисекундного ожидания. Она не устанавливает программу, не запускает файл и не просит пароль Roblox. Обычное открытие Lua-файла в браузере или текстовом редакторе не активирует его внутри игры. Отдельный исполняемый загрузчик вместе с ним не распространяется.
Полный текст в блоке копирования совпадает со скачиваемым файлом. Не подменяйте его случайной строкой загрузки из комментариев: внешний адрес может впоследствии отдавать другой код. Для обычного управления без сторонних программ смотрите настройку камеры и Shift Lock.
Источник и лицензия
Основа: GigaMechanicRear/tower_of_hell, закреплённая версия 18077688. Лицензия MIT и уведомление об авторстве включены в файл. OneRoblox изменил интерфейс, ограничил набор функций и добавил очистку состояния. Эта адаптация не является официальным инструментом YXceptional Studios.