0% found this document useful (0 votes)
2 views33 pages

RAGEHUB Shapeshifter Script Features

The document is a Lua script for a game, implementing various features such as shapeshifting abilities, nametags for NPCs, and self-revive functionality. It defines global states, binds, and callbacks for game mechanics, along with UI elements for a hub interface. The script includes functions for managing player actions and visual elements, enhancing gameplay experience.

Uploaded by

gekatemkin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views33 pages

RAGEHUB Shapeshifter Script Features

The document is a Lua script for a game, implementing various features such as shapeshifting abilities, nametags for NPCs, and self-revive functionality. It defines global states, binds, and callbacks for game mechanics, along with UI elements for a hub interface. The script includes functions for managing player actions and visual elements, enhancing gameplay experience.

Uploaded by

gekatemkin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

local plr = [Link].

LocalPlayer
local mouse = plr:GetMouse()
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")

-- Добавляем состояния Shapeshifter в RAGEHUB_STATES


getgenv().RAGEHUB_STATES = {
["Silent Aim"] = false,
["Instant Reload"] = false,
["Kill Closest"] = false,
["Enemy ESP"] = false,
["Loop Walk Speed"] = false,
["Anti-AFK"] = false,
["TP Farm"] = false,
["INF Stamina"] = false,
["Tanzanite No Cooldown"] = false,
["Tanzanite Auto Swing"] = false,
["Tanzanite Instant Charge"] = false,
["Tanzanite Increased Damage"] = false,
["Tanzanite Infinite Uses"] = false,
["Self Revive"] = false,
["Nametags"] = false,
["Shapeshifter Bypass"] = false, -- ДОБАВЛЕНО ДЛЯ SHAPESHIFTER
["Auto Transform"] = false,
["Storage GRENADE"] = false,
["Storage POTION"] = false, -- ДОБАВЛЕНО ДЛЯ SHAPESHIFTER
["Storage LOLLIPOP"] = false,
["Skip Intro"] = false
}

getgenv().RAGEHUB_BINDS = {}
getgenv().RAGEHUB_TOGGLE_BUTTONS = {}
getgenv().RAGEHUB_CALLBACKS = {}
getgenv().RAGEHUB_THREADS = {}

local function skipbackground()

local Remote = game:GetService("ReplicatedStorage").[Link]


firesignal([Link])
game:GetService("ReplicatedStorage").[Link]:Destroy()
end

local function createNametags()


pcall(function()
for i, v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o, enemy in pairs(v:GetChildren()) do
if enemy:IsA("Model") and
enemy:FindFirstChild("HumanoidRootPart") then
local humanoid = enemy:FindFirstChildOfClass("Humanoid")

-- Проверяем, есть ли уже BillboardGui


if not enemy:FindFirstChild("NametagBillboard") then
local billboard = [Link]("BillboardGui")
[Link] = "NametagBillboard"
[Link] = [Link]
[Link] = [Link](0, 200, 0, 50)
[Link] = [Link](0, 3, 0)
[Link] = true
[Link] = 0
[Link] = [Link]

local textLabel = [Link]("TextLabel")


[Link] = [Link](1, 0, 1, 0)
[Link] = 1

-- Разные цвета для Tango и Monsters


if [Link] == "Tango" then
[Link] = "⚡ TANGO"
textLabel.TextColor3 = [Link](1, 1, 1) -- Белый
else
[Link] = "👹 MONSTER"
textLabel.TextColor3 = [Link](1, 0, 0) --
Красный
end

[Link] = 0
textLabel.TextStrokeColor3 = [Link](0, 0, 0)
[Link] = 7
[Link] = [Link]
[Link] = billboard

[Link] = enemy
end
end
end
end
end
end)
end

local function takelollipop()


local args = {
"WITHDRAW",
"Lollipop"
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("UseStora
ge"):FireServer(unpack(args))
end

local function takegrenade()


local args = {
"WITHDRAW",
"Grenade"
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("UseStora
ge"):FireServer(unpack(args))
end

local function takepotion()


local args = {
"WITHDRAW",
"Potion"
}
game:GetService("ReplicatedStorage"):WaitForChild("Remotes"):WaitForChild("UseStora
ge"):FireServer(unpack(args))
end

local function infstamina()


while wait() do
local Remote = game:GetService("ReplicatedStorage").[Link]
firesignal([Link], [Link]({
[1] = 100,
[2] = true,
}))
end
end

-- Функция для удаления всех Nametags


local function removeAllNametags()
pcall(function()
for i, v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o, enemy in pairs(v:GetChildren()) do
if enemy:IsA("Model") then
local billboard = enemy:FindFirstChild("NametagBillboard")
if billboard then
billboard:Destroy()
end
end
end
end
end
end)
end

-- Функция для обновления Nametags


local function updateNametags()
while getgenv().RAGEHUB_STATES["Nametags"] and [Link](0.5) do
pcall(function()
-- Сначала удаляем старые
removeAllNametags()
-- Затем создаем новые
createNametags()
end)
end
end
-- ДОБАВЛЕН КОД NAMETAGS КОНЕЦ --

getgenv().RAGEHUB_THEME = "Dark"
getgenv().RAGEHUB_MINIMIZED = false

getgenv().currentWalkSpeed = getgenv().currentWalkSpeed or 16
getgenv().walkSpeedPercentage = getgenv().walkSpeedPercentage or 0.5

-- Находим selfRevive RemoteEvent


local selfReviveEvent
local function findSelfReviveEvent()
local RS = game:GetService("ReplicatedStorage")

-- Ищем в Remotes
if RS:FindFirstChild("Remotes") then
selfReviveEvent = [Link]:FindFirstChild("selfRevive")
end
if not selfReviveEvent then
-- Ищем в других местах
for _, child in pairs(RS:GetChildren()) do
if [Link] == "selfRevive" then
selfReviveEvent = child
break
end
end
end

return selfReviveEvent
end

-- Основная функция авто-ревайва


local function AutoSelfRevive()
while getgenv().RAGEHUB_STATES["Self Revive"] and [Link](1) do
pcall(function()
-- Проверяем различные условия смерти/падения
local character = [Link]
if character then
local humanoid = character:FindFirstChild("Humanoid")

-- Разные способы определить, что нужен ревайв


local needsRevive = false

-- Проверка атрибута
if character:GetAttribute("IsRelDowned") then
needsRevive = true
end

-- Проверка здоровья
if humanoid and [Link] <= 0 then
needsRevive = true
end

-- Проверка состояния
if humanoid and humanoid:GetState() == [Link]
then
needsRevive = true
end

-- Вызываем само-ревайв если нужно


if needsRevive and selfReviveEvent then
print("💀 Обнаружена смерть/падение, активирую само-ревайв...")

-- Пробуем разные варианты вызова


local success = pcall(function()
selfReviveEvent:FireServer()
end)

if not success then


-- Пробуем с параметрами
pcall(function()
selfReviveEvent:FireServer(character)
end)
end

createNotification("Self Revive", "Самовоскрешение


активировано!", 3, "success")
end
end
end)
end
end

local THEME_COLORS = {
Dark = {
Background = [Link](15, 15, 15),
TopBar = [Link](20, 20, 20),
TabBackground = [Link](10, 10, 10),
ContentBackground = [Link](15, 15, 15),
TextColor = [Link](255, 255, 255),
TextSecondary = [Link](150, 150, 150),
Accent = [Link](255, 0, 0),
Button = [Link](40, 40, 40),
ToggleOn = [Link](255, 0, 0),
ToggleOff = [Link](40, 40, 40)
},
Light = {
Background = [Link](240, 240, 240),
TopBar = [Link](220, 220, 220),
TabBackground = [Link](200, 200, 200),
ContentBackground = [Link](240, 240, 240),
TextColor = [Link](0, 0, 0),
TextSecondary = [Link](80, 80, 80),
Accent = [Link](255, 0, 0),
Button = [Link](180, 180, 180),
ToggleOn = [Link](255, 0, 0),
ToggleOff = [Link](180, 180, 180)
}
}

local screenGui = [Link]("ScreenGui")


[Link] = "Juzzy Hub"
[Link] = [Link]
[Link] = [Link]

local mainFrame = [Link]("Frame")


[Link] = "MainFrame"
[Link] = [Link](0, 450, 0, 490)
[Link] = [Link](0.5, -225, 0.5, -250)
mainFrame.BackgroundColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].Background
[Link] = 0
[Link] = true
[Link] = screenGui

-- RGB ленточка эффект


local outlineGradient = [Link]("UIGradient")
[Link] = [Link]({
[Link](0, [Link](255, 0, 0)), -- Красный
[Link](0.16, [Link](255, 255, 0)), -- Желтый
[Link](0.33, [Link](0, 255, 0)), -- Зеленый
[Link](0.5, [Link](0, 255, 255)), -- Голубой
[Link](0.66, [Link](0, 0, 255)), -- Синий
[Link](0.83, [Link](255, 0, 255)), -- Пурпурный
[Link](1, [Link](255, 0, 0)) -- Красный
})
[Link] = 0
[Link] = true

local mainOutline = [Link]("UIStroke")


[Link] = [Link]
[Link] = [Link](255, 0, 0)
[Link] = 1
[Link] = 0
[Link] = mainFrame

-- Анимация ленточки (бегущий градиент)


spawn(function()
local time = 0
while [Link] do
time = time + 0.02

-- Сдвигаем градиент для эффекта бегущей ленты


[Link] = [Link](-time % 1, 0)

-- Применяем градиент к обводке через изменение цвета


local currentOffset = -time % 1
local hue = (currentOffset * 360) % 360
[Link] = [Link](hue/360, 1, 1)

wait(0.03)
end
end)

local corner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = mainFrame

local topBar = [Link]("Frame")


[Link] = "TopBar"
[Link] = [Link](1, 0, 0, 40)
[Link] = [Link](0, 0, 0, 0)
topBar.BackgroundColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TopBar
[Link] = 0
[Link] = mainFrame

local topCorner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = topBar

local title = [Link]("TextLabel")


[Link] = "Title"
[Link] = [Link](0, 200, 0, 40)
[Link] = [Link](0, 15, 0, 0)
[Link] = 1
[Link] = "⚡ RAGE HUB"
title.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].Accent
[Link] = 18
[Link] = [Link]
[Link] = [Link]
[Link] = topBar

local minimizeBtn = [Link]("TextButton")


[Link] = "MinimizeBtn"
[Link] = [Link](0, 40, 0, 40)
[Link] = [Link](1, -72, 0, 0)
[Link] = 1
[Link] = "_"
minimizeBtn.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TextColor
[Link] = 20
[Link] = [Link]
[Link] = topBar

local themeBtn = [Link]("TextButton")


[Link] = "ThemeBtn"
[Link] = [Link](0, 40, 0, 40)
[Link] = [Link](1, -112, 0, 0)
[Link] = 1
[Link] = "🌙"
themeBtn.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TextColor
[Link] = 16
[Link] = [Link]
[Link] = topBar

local closeBtn = [Link]("TextButton")


[Link] = "CloseBtn"
[Link] = [Link](0, 40, 0, 40)
[Link] = [Link](1, -40, 0, 0)
[Link] = 1
[Link] = "×"
closeBtn.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TextColor
[Link] = 24
[Link] = [Link]
[Link] = topBar

local tabContainer = [Link]("Frame")


[Link] = "TabContainer"
[Link] = [Link](0, 100, 1, -40)
[Link] = [Link](0, 0, 0, 40)
tabContainer.BackgroundColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TabBackground
[Link] = 0
[Link] = mainFrame

local tabCorner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = tabContainer

local contentContainer = [Link]("Frame")


[Link] = "ContentContainer"
[Link] = [Link](1, -100, 1, -40)
[Link] = [Link](0, 100, 0, 40)
contentContainer.BackgroundColor3 =
THEME_COLORS[getgenv().RAGEHUB_THEME].ContentBackground
[Link] = 0
[Link] = mainFrame

local contentCorner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = contentContainer

local uiListLayout = [Link]("UIListLayout")


[Link] = contentContainer
[Link] = [Link]
[Link] = [Link]
[Link] = [Link](0, 10)

local uiPadding = [Link]("UIPadding")


[Link] = contentContainer
[Link] = [Link](0, 10)
[Link] = [Link](0, 10)
[Link] = [Link](0, 10)

local tabs = {
{Name = "Combat", Icon = "⚔️"},
{Name = "ESP", Icon = ""},
{Name = "Misc", Icon = "⚙️"},
{Name = "Player Info", Icon = "👤"},
{Name = "Storage", Icon = "⚙️"},
{Name = "Tanzanite Axe", Icon = "🔨"},
{Name = "Shapeshifter", Icon = "🧪"} -- ТЕСТОВАЯ КАТЕГОРИЯ
}

local function getTanzaniteAxe()


local character = [Link]
if not character then return nil end

for _, tool in pairs(character:GetChildren()) do


if tool:IsA("Tool") and [Link]([Link]:lower(), "tanzanite") then
return tool
end
end
return nil
end

-- Self Revive функции


local function selfRevive(state)
if state then
-- Пытаемся найти RemoteEvent если еще не нашли
if not selfReviveEvent then
findSelfReviveEvent()
end

if not selfReviveEvent then


createNotification("Self Revive", "Ошибка: selfRevive не найден!", 3,
"error")
getgenv().RAGEHUB_STATES["Self Revive"] = false
updateToggleButton("Self Revive", false)
return
end

getgenv().RAGEHUB_THREADS["Self Revive"] = [Link](function()


AutoSelfRevive()
end)

createNotification("Self Revive", "Авто-ревайв активирован! (1с)", 3,


"success")
else
if getgenv().RAGEHUB_THREADS["Self Revive"] then
[Link](getgenv().RAGEHUB_THREADS["Self Revive"])
getgenv().RAGEHUB_THREADS["Self Revive"] = nil
end
end
end
local RAGEHUB_STATES = getgenv().RAGEHUB_STATES
local RAGEHUB_THREADS = getgenv().RAGEHUB_THREADS

local function tanzaniteNoCooldown(state)


if state then
RAGEHUB_THREADS["No Cooldown"] = [Link](function()
while RAGEHUB_STATES["No Cooldown"] do
local axe = getTanzaniteAxe()
if axe then
axe:SetAttribute("Cooldown", 0)
if axe:GetAttribute("BeingUsed") then
axe:SetAttribute("BeingUsed", false)
end
end
[Link](0.03)
end
end)
else
local thread = RAGEHUB_THREADS["No Cooldown"]
if thread then
[Link](thread)
RAGEHUB_THREADS["No Cooldown"] = nil
end
end
end

local function tanzaniteAutoSwing(state)


if state then
RAGEHUB_THREADS["Auto Swing"] = [Link](function()
while RAGEHUB_STATES["Auto Swing"] do
local axe = getTanzaniteAxe()
if axe and axe:FindFirstChild("Main") then
[Link]:FireServer("SWING", {})
local currentCombo = axe:GetAttribute("Combo") or 1
axe:SetAttribute("Combo", currentCombo < 5 and currentCombo + 1
or 1)
end
[Link](0.03)
end
end)
else
local thread = RAGEHUB_THREADS["Auto Swing"]
if thread then
[Link](thread)
RAGEHUB_THREADS["Auto Swing"] = nil
end
end
end

local function tanzaniteInstantCharge(state)


if state then
RAGEHUB_THREADS["Instant Charge"] = [Link](function()
while RAGEHUB_STATES["Instant Charge"] do
local axe = getTanzaniteAxe()
if axe and axe:FindFirstChild("Main") then
[Link]:FireServer("CHARGE", {8})
axe:SetAttribute("Charged", true)
end
[Link](0.03)
end
end)
else
local thread = RAGEHUB_THREADS["Instant Charge"]
if thread then
[Link](thread)
RAGEHUB_THREADS["Instant Charge"] = nil
end
end
end

local function tanzaniteIncreasedDamage(state)


if state then
RAGEHUB_THREADS["Increased Damage"] = [Link](function()
while RAGEHUB_STATES["Increased Damage"] do
local axe = getTanzaniteAxe()
if axe then
axe:SetAttribute("DamageMultiplier", 5.0)
axe:SetAttribute("PierceGhosts", true)
end
[Link](0.03)
end
end)
else
local thread = RAGEHUB_THREADS["Increased Damage"]
if thread then
[Link](thread)
RAGEHUB_THREADS["Increased Damage"] = nil
end
local axe = getTanzaniteAxe()
if axe then
axe:SetAttribute("DamageMultiplier", 1.0)
end
end
end

local function tanzaniteInfiniteUses(state)


if state then
RAGEHUB_THREADS["Infinite Uses"] = [Link](function()
while RAGEHUB_STATES["Infinite Uses"] do
local axe = getTanzaniteAxe()
if axe then
axe:SetAttribute("Uses", 9999)
end
[Link](0.03)
end
end)
else
local thread = RAGEHUB_THREADS["Infinite Uses"]
if thread then
[Link](thread)
RAGEHUB_THREADS["Infinite Uses"] = nil
end
end
end
-- Обновляем функцию applyTheme для обработки новой вкладки
local function applyTheme(themeName)
getgenv().RAGEHUB_THEME = themeName
local colors = THEME_COLORS[themeName]

mainFrame.BackgroundColor3 = [Link]
topBar.BackgroundColor3 = [Link]
tabContainer.BackgroundColor3 = [Link]
contentContainer.BackgroundColor3 = [Link]

title.TextColor3 = [Link]
minimizeBtn.TextColor3 = [Link]
themeBtn.TextColor3 = [Link]
closeBtn.TextColor3 = [Link]

for _, button in ipairs(tabButtons) do


if [Link] == currentTab then
button.BackgroundColor3 = [Link]
button.TextColor3 = [Link]
else
button.BackgroundColor3 = [Link]
button.TextColor3 = [Link]
end
end

if currentTab == "Combat" then


showCombatTab()
elseif currentTab == "ESP" then
showESPTab()
elseif currentTab == "Misc" then
showMiscTab()
elseif currentTab == "Player Info" then
showPlayerInfoTab()
elseif currentTab == "Tanzanite Axe" then
showTanzaniteAxeTab()
elseif currentTab == "Shapeshifter" then
showShapeshifterTab() -- ДОБАВЛЕНО ДЛЯ НОВОЙ ВКЛАДКИ
end
end

local function toggleMinimize()


getgenv().RAGEHUB_MINIMIZED = not getgenv().RAGEHUB_MINIMIZED

if getgenv().RAGEHUB_MINIMIZED then
[Link] = false
[Link] = false
[Link] = [Link](0, 450, 0, 40)
[Link] = "□"
else
[Link] = true
[Link] = true
[Link] = [Link](0, 450, 0, 550)
[Link] = "_"
end
end

minimizeBtn.MouseButton1Click:Connect(toggleMinimize)

themeBtn.MouseButton1Click:Connect(function()
if getgenv().RAGEHUB_THEME == "Dark" then
applyTheme("Light")
[Link] = "☀️"
else
applyTheme("Dark")
[Link] = "🌙"
end
end)

closeBtn.MouseButton1Click:Connect(function()
screenGui:Destroy()
end)

function createNotification(title, message, duration, notifType)


duration = duration or 5
notifType = notifType or "info"

local colors = {
info = [Link](0, 100, 255),
success = [Link](0, 255, 100),
warning = [Link](255, 200, 0),
error = [Link](255, 0, 0)
}

local notification = [Link]("Frame")


[Link] = [Link](0, 350, 0, 80)
[Link] = [Link](1, -370, 0, 10)
notification.BackgroundColor3 =
THEME_COLORS[getgenv().RAGEHUB_THEME].Background
[Link] = 0
[Link] = screenGui

local notifCorner = [Link]("UICorner")


[Link] = [Link](0, 10)
[Link] = notification

local accentBar = [Link]("Frame")


[Link] = [Link](0, 5, 1, 0)
accentBar.BackgroundColor3 = colors[notifType]
[Link] = 0
[Link] = notification

local accentCorner = [Link]("UICorner")


[Link] = [Link](0, 2)
[Link] = accentBar

local titleLabel = [Link]("TextLabel")


[Link] = [Link](1, -20, 0, 30)
[Link] = [Link](0, 15, 0, 10)
[Link] = 1
[Link] = "⚡ " .. title
titleLabel.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TextColor
[Link] = 18
[Link] = [Link]
[Link] = [Link]
[Link] = notification

local messageLabel = [Link]("TextLabel")


[Link] = [Link](1, -20, 0, 50)
[Link] = [Link](0, 15, 0, 40)
[Link] = 1
[Link] = message
messageLabel.TextColor3 = THEME_COLORS[getgenv().RAGEHUB_THEME].TextSecondary
[Link] = 14
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = true
[Link] = notification

[Link] = [Link](1, 400, 0, 10)


notification:TweenPosition([Link](1, -370, 0, 10), "Out", "Back", 0.8)

local progressBar = [Link]("Frame")


[Link] = [Link](1, 0, 0, 3)
[Link] = [Link](0, 0, 1, -3)
progressBar.BackgroundColor3 = colors[notifType]
[Link] = 0
[Link] = notification

progressBar:TweenSize([Link](0, 0, 0, 3), "Out", "Linear", duration)

delay(duration, function()
notification:TweenPosition([Link](1, 400, 0, 10), "In", "Quad", 0.5)
wait(0.5)
notification:Destroy()
end)

return notification
end

local currentTab = "Combat"


local tabButtons = {}

local function ForceTransform(monsterName)


pcall(function()
-- Пытаемся вызвать RemoteEvent напрямую
if [Link]:FindFirstChild("Shapeshifter") and

[Link]:FindFirstChild("operateShapeshifter") then

[Link]:FireServer("Transform",
monsterName)
end

-- Дублируем через модуль на всякий случай


local success, module = pcall(function()
if
[Link]:FindFirstChild("shapeshiftermodule") then
return
require([Link])
end
return nil
end)

if success and module and [Link] then


module:Transform([Link], monsterName)
end
createNotification("Shapeshifter", "Превращение в " .. monsterName, 3,
"success")
end)
end

local function BypassTransformRestrictions()


pcall(function()
local character = [Link]
if character then
-- Сбрасываем ВСЕ блокирующие атрибуты
character:SetAttribute("BusyTransformAbility", false)
character:SetAttribute("BusyTransforming", false)
character:SetAttribute("IsRelDowned", false)
character:SetAttribute("IsRagdolled", false)
character:SetAttribute("CarryingRope", false)
character:SetAttribute("ThrowingUp", false)

-- Обходим отключение инвентаря


if character:FindFirstChild("invDisablers") then
[Link]:SetAttribute("Shapeshifter", false)
end

-- Убираем негативные атрибуты монстров


character:SetAttribute("Clumsy", false)
character:SetAttribute("VehicleBan", false)
character:SetAttribute("BlockSprintInput", false)
end
end)
end

local function RemoveMonsterDisadvantages()


pcall(function()
local character = [Link]
if character then
-- Убираем все негативные эффекты превращения
character:SetAttribute("Clumsy", false)
character:SetAttribute("VehicleBan", false)
character:SetAttribute("BlockSprintInput", false)

-- Включаем инвентарь
if character:FindFirstChild("invDisablers") then
[Link]:SetAttribute("Shapeshifter", false)
end

-- Возвращаем нормальный размер если нужно


character:ScaleTo(1)
end
end)
end

-- Функция для постоянного обхода ограничений


local function ShapeshifterBypassThread()
while getgenv().RAGEHUB_STATES["Shapeshifter Bypass"] and [Link](0.1) do
BypassTransformRestrictions()
end
end

-- Функция автоматического превращения


local function AutoTransformThread()
while getgenv().RAGEHUB_STATES["Auto Transform"] and [Link](5) do
pcall(function()
-- Чередуем превращения для тестирования
local transforms = {"Brute", "Bolty", "Human"}
local currentTime = tick()
local transformIndex = ([Link](currentTime / 5) % #transforms) + 1
ForceTransform(transforms[transformIndex])
end)
end
end

local function getclosestenemy()


local closest = nil
local maxdist = [Link]
for i,v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o,k in pairs(v:GetChildren()) do
if k:IsA("Model") and k:FindFirstChild("HumanoidRootPart") and
[Link] and [Link]:FindFirstChild("HumanoidRootPart") then
local magnitude =
(k:FindFirstChild("HumanoidRootPart").Position -
[Link]).Magnitude
if magnitude < maxdist then
closest = k
maxdist = magnitude
end
end
end
end
end
return closest
end

local function getclosestenemytm()


local closest = nil
local maxdist = [Link]
for i,v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o,k in pairs(v:GetChildren()) do
if k:IsA("Model") and k:FindFirstChild("HumanoidRootPart") then
local screenpoint =
[Link]:WorldToScreenPoint(k:FindFirstChild("HumanoidRootPart"
).Position)
local distance =
([Link]([Link]:GetMouse().X,
[Link]:GetMouse().Y) - [Link](screenpoint.X,
screenpoint.Y)).Magnitude
if distance < maxdist then
closest = k
maxdist = distance
end
end
end
end
end
return closest
end
local function ultraInstantReload()
pcall(function()
local tool = [Link] and [Link]:FindFirstChildOfClass("Tool")
if tool and tool:FindFirstChild("Main") then
for i = 1, 3 do
[Link]:FireServer("AMMO")
end
end
end)
end

local function teleportMonstersToPlayer()


pcall(function()
if not [Link] or not
[Link]:FindFirstChild("HumanoidRootPart") then
return
end

local playerPos = [Link]


local playerCFrame = [Link]

local teleportPosition = playerPos + [Link] * 3

for i, v in pairs([Link]:GetChildren()) do
if [Link] == "Monsters" then
for o, monster in pairs(v:GetChildren()) do
if monster:IsA("Model") and
monster:FindFirstChild("HumanoidRootPart") then
local humanoid = monster:FindFirstChildOfClass("Humanoid")
if humanoid and [Link] > 0 then
[Link] =
[Link](teleportPosition)

for _, part in pairs(monster:GetDescendants()) do


if part:IsA("BasePart") then
[Link] = false
end
end
end
end
end
end
end
end)
end

local function updateToggleButton(name, state)


if getgenv().RAGEHUB_TOGGLE_BUTTONS[name] then
local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]
getgenv().RAGEHUB_TOGGLE_BUTTONS[name].BackgroundColor3 = state and
[Link] or [Link]
end
end

local function executeFunction(name, state)


if getgenv().RAGEHUB_CALLBACKS[name] then
getgenv().RAGEHUB_CALLBACKS[name](state)
end
end
function createToggle(name, description, callback)
local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]

local toggleFrame = [Link]("Frame")


[Link] = [Link](1, -20, 0, 50)
[Link] = 1
[Link] = contentContainer

local toggleButton = [Link]("TextButton")


[Link] = [Link](0, 30, 0, 30)
[Link] = [Link](0, 0, 0, 5)
toggleButton.BackgroundColor3 = getgenv().RAGEHUB_STATES[name] and
[Link] or [Link]
[Link] = 0
[Link] = ""
[Link] = toggleFrame

getgenv().RAGEHUB_TOGGLE_BUTTONS[name] = toggleButton

local toggleCorner = [Link]("UICorner")


[Link] = [Link](0, 4)
[Link] = toggleButton

local toggleLabel = [Link]("TextLabel")


[Link] = [Link](1, -36, 1, 0)
[Link] = [Link](0, 36, -0.2, 0)
[Link] = 1
[Link] = name
toggleLabel.TextColor3 = [Link]
[Link] = 14
[Link] = [Link]
[Link] = [Link]
[Link] = toggleFrame

local descLabel = [Link]("TextLabel")


[Link] = [Link](1, -40, 0, 15)
[Link] = [Link](0, 36, 0, 20)
[Link] = 1
[Link] = description
descLabel.TextColor3 = [Link]
[Link] = 12
[Link] = [Link]
[Link] = [Link]
[Link] = toggleFrame

local bindButton = [Link]("TextButton")


[Link] = [Link](0, 60, 0, 20)
[Link] = [Link](1, -75, 0, 9)
bindButton.BackgroundColor3 = [Link]
[Link] = 0
[Link] = "Bind: None"
bindButton.TextColor3 = [Link]
[Link] = 10
[Link] = [Link]
[Link] = toggleFrame

local bindCorner = [Link]("UICorner")


[Link] = [Link](0, 4)
[Link] = bindButton

local deleteBindButton = [Link]("TextButton")


[Link] = [Link](0, 18, 0, 20)
[Link] = [Link](1, -13, 0, 9)
deleteBindButton.BackgroundColor3 = [Link]
[Link] = 0
[Link] = "×"
deleteBindButton.TextColor3 = [Link]
[Link] = 12
[Link] = [Link]
[Link] = false
[Link] = toggleFrame

local deleteBindCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = deleteBindButton

local function updateBindText()


if getgenv().RAGEHUB_BINDS[name] then
[Link] = "Bind: " .. getgenv().RAGEHUB_BINDS[name]
[Link] = true
else
[Link] = "Bind: None"
[Link] = false
end
end

updateBindText()

bindButton.MouseButton1Click:Connect(function()
[Link] = "Press any key..."
bindButton.BackgroundColor3 = [Link]

local connection
connection = [Link]:Connect(function(input,
gameProcessed)
if gameProcessed then return end

if [Link] == [Link] then


local key = [Link]
getgenv().RAGEHUB_BINDS[name] = key
updateBindText()
bindButton.BackgroundColor3 = [Link]
createNotification("Bind Set", name .. " bound to " .. key, 3,
"success")
connection:Disconnect()
end
end)
end)

deleteBindButton.MouseButton1Click:Connect(function()
getgenv().RAGEHUB_BINDS[name] = nil
updateBindText()
createNotification("Bind Removed", name .. " bind removed", 3, "info")
end)

getgenv().RAGEHUB_CALLBACKS[name] = callback
toggleButton.MouseButton1Click:Connect(function()
local newState = not getgenv().RAGEHUB_STATES[name]
getgenv().RAGEHUB_STATES[name] = newState
updateToggleButton(name, newState)

if newState then
createNotification("Включено", name .. " активирован", 3, "success")
else
createNotification("Отключено", name .. " деактивирован", 3, "info")
end

executeFunction(name, newState)
end)

return toggleFrame
end

function createButton(name, description, callback)


local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]

local buttonFrame = [Link]("Frame")


[Link] = [Link](1, -20, 0, 40)
[Link] = 1
[Link] = contentContainer

local button = [Link]("TextButton")


[Link] = [Link](1, 0, 0, 30)
[Link] = [Link](0, 0, 0, 5)
button.BackgroundColor3 = [Link]
[Link] = 0
[Link] = name
button.TextColor3 = [Link]
[Link] = 14
[Link] = [Link]
[Link] = buttonFrame

local buttonCorner = [Link]("UICorner")


[Link] = [Link](0, 4)
[Link] = button

local descLabel = [Link]("TextLabel")


[Link] = [Link](1, 0, 0, 15)
[Link] = [Link](0, 0, 0, 35)
[Link] = 1
[Link] = description
descLabel.TextColor3 = [Link]
[Link] = 12
[Link] = [Link]
[Link] = [Link]
[Link] = buttonFrame

button.MouseButton1Click:Connect(function()
createNotification("Активация", name .. " запущен", 3, "success")
callback()
end)

return buttonFrame
end
function createInfoLabel(label, value)
local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]

local infoFrame = [Link]("Frame")


[Link] = [Link](1, -20, 0, 30)
[Link] = 1
[Link] = contentContainer

local labelText = [Link]("TextLabel")


[Link] = [Link](0.5, -5, 1, 0)
[Link] = [Link](0, 0, 0, 0)
[Link] = 1
[Link] = label
labelText.TextColor3 = [Link]
[Link] = 14
[Link] = [Link]
[Link] = [Link]
[Link] = infoFrame

local valueText = [Link]("TextLabel")


[Link] = [Link](0.5, -5, 1, 0)
[Link] = [Link](0.5, 5, 0, 0)
[Link] = 1
[Link] = value
valueText.TextColor3 = [Link]
[Link] = 14
[Link] = [Link]
[Link] = [Link]
[Link] = infoFrame

return infoFrame
end

function showCombatTab()
clearContent()

createToggle("Silent Aim", "наводка на врагов", function(state)


if state then
getgenv().RAGEHUB_THREADS["Silent Aim"] = [Link](function()
while getgenv().RAGEHUB_STATES["Silent Aim"] and [Link]() do
pcall(function()
local target = getclosestenemytm()
local tool = [Link] and
[Link]:FindFirstChildOfClass("Tool")
if target and tool and tool:FindFirstChild("Main") then
[Link]:FireServer("DAMAGE",
{target:FindFirstChild("Head"), target:FindFirstChild("Head").Position, 0, false})
end
end)
end
end)
else
if getgenv().RAGEHUB_THREADS["Silent Aim"] then
[Link](getgenv().RAGEHUB_THREADS["Silent Aim"])
getgenv().RAGEHUB_THREADS["Silent Aim"] = nil
end
end
end)

createToggle("Kill Closest", "Автоматически убивает", function(state)


if state then
getgenv().RAGEHUB_THREADS["Kill Closest"] = [Link](function()
while getgenv().RAGEHUB_STATES["Kill Closest"] and [Link]() do
pcall(function()
if [Link] and [Link] and
[Link]:FindFirstChild("Crosshair") then
local ammoText =
[Link]
if tonumber(ammoText) >= 10 then
local target = getclosestenemy()
local tool =
[Link]:FindFirstChildOfClass("Tool")
if target and tool and tool:FindFirstChild("Main")
then
[Link]:FireServer("AMMO")
if [Link] and
[Link]:FindFirstChild("Barrel") then
[Link]:FireServer("MUZZLE",
[Link])
end
[Link]:FireServer("DAMAGE",
{target:FindFirstChild("Head"), target:FindFirstChild("Head").Position, 0, false})
end
else
local oldpos =
[Link]
[Link] =
[Link]["Chaos Facility"].[Link]
[Link](0.3)
fireproximityprompt([Link]["Chaos
Facility"].[Link]:FindFirstChild("Template"))
[Link](0.3)
[Link] =
[Link](oldpos)
end
end
end)
end
end)
else
if getgenv().RAGEHUB_THREADS["Kill Closest"] then
[Link](getgenv().RAGEHUB_THREADS["Kill Closest"])
getgenv().RAGEHUB_THREADS["Kill Closest"] = nil
end
end
end)

createToggle("Instant Reload", "Мгновенная перезарядка", function(state)


if state then
getgenv().RAGEHUB_THREADS["Instant Reload"] = [Link](function()
while getgenv().RAGEHUB_STATES["Instant Reload"] and [Link]() do
ultraInstantReload()
end
end)
else
if getgenv().RAGEHUB_THREADS["Instant Reload"] then
[Link](getgenv().RAGEHUB_THREADS["Instant Reload"])
getgenv().RAGEHUB_THREADS["Instant Reload"] = nil
end
end
end)

createToggle("TP Farm", "Телепортирует монстров", function(state)


if state then
getgenv().RAGEHUB_THREADS["TP Farm"] = [Link](function()
while getgenv().RAGEHUB_STATES["TP Farm"] and [Link](0.18) do
teleportMonstersToPlayer()
end
end)
else
if getgenv().RAGEHUB_THREADS["TP Farm"] then
[Link](getgenv().RAGEHUB_THREADS["TP Farm"])
getgenv().RAGEHUB_THREADS["TP Farm"] = nil
end
end
end)
end

function showESPTab()
clearContent()

createToggle("Enemy ESP", "Подсветка врагов ", function(state)


if state then
getgenv().RAGEHUB_THREADS["Enemy ESP"] = [Link](function()
while getgenv().RAGEHUB_STATES["Enemy ESP"] and [Link](0.5) do
pcall(function()
for i,v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o,k in pairs(v:GetChildren()) do
if (not k:FindFirstChildOfClass("Highlight"))
and [Link] == "Tango" then
local Highlight = [Link]("Highlight")
[Link] = k
[Link] = k
[Link] = [Link](1,
1, 1)
[Link] = 0
[Link] = 1
elseif (not
k:FindFirstChildOfClass("Highlight")) and [Link] == "Monsters" then
local Highlight = [Link]("Highlight")
[Link] = k
[Link] = k
[Link] =
[Link](255, 0, 0)
[Link] = 0
[Link] = 1
end
end
end
end
end)
end
end)
else
if getgenv().RAGEHUB_THREADS["Enemy ESP"] then
[Link](getgenv().RAGEHUB_THREADS["Enemy ESP"])
getgenv().RAGEHUB_THREADS["Enemy ESP"] = nil
end

pcall(function()
for i,v in pairs([Link]:GetChildren()) do
if [Link] == "Tango" or [Link] == "Monsters" then
for o,k in pairs(v:GetChildren()) do
local highlight = k:FindFirstChildOfClass("Highlight")
if highlight then
highlight:Destroy()
end
end
end
end
end)
end
end)

-- ДОБАВЛЕН ПЕРЕКЛЮЧАТЕЛЬ NAMETAGS В ESP ВКЛАДКУ


createToggle("Nametags", "Показывает имена врагов", function(state)
if state then
getgenv().RAGEHUB_THREADS["Nametags"] = [Link](function()
createNametags() -- Создаем сразу при включении
updateNametags() -- Запускаем обновление
end)
else
if getgenv().RAGEHUB_THREADS["Nametags"] then
[Link](getgenv().RAGEHUB_THREADS["Nametags"])
getgenv().RAGEHUB_THREADS["Nametags"] = nil
end
removeAllNametags() -- Удаляем все метки при выключении
end
end)
end

function showMiscTab()
clearContent()

createToggle("Skip Intro", "delete Background", function(state)


skipbackground(state)
end)

createToggle("INF Stamina", "Бесконечная стамина", function(state)


infstamina(state)
end)

createToggle("Self Revive", "Авто-ревайв смерти", function(state)


selfRevive(state)
end)

createToggle("Loop Walk Speed", "применяет выбранную скорость", function(state)


if state then
getgenv().RAGEHUB_THREADS["Loop Walk Speed"] = [Link](function()
while getgenv().RAGEHUB_STATES["Loop Walk Speed"] and
[Link](0.1) do
pcall(function()
if [Link] and
[Link]:FindFirstChild("Humanoid") then
[Link] =
getgenv().currentWalkSpeed or 16
end
end)
end
end)
else
if getgenv().RAGEHUB_THREADS["Loop Walk Speed"] then
[Link](getgenv().RAGEHUB_THREADS["Loop Walk Speed"])
getgenv().RAGEHUB_THREADS["Loop Walk Speed"] = nil
end
end
end)

local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]


local walkSpeedFrame = [Link]("Frame")
[Link] = [Link](1, -20, 0, 60)
[Link] = 1
[Link] = contentContainer

local walkSpeedLabel = [Link]("TextLabel")


[Link] = [Link](1, 0, 0, 20)
[Link] = [Link](0, 0, 0, 0)
[Link] = 1
[Link] = "Walk Speed: " .. getgenv().currentWalkSpeed
walkSpeedLabel.TextColor3 = [Link]
[Link] = 14
[Link] = [Link]
[Link] = [Link]
[Link] = walkSpeedFrame

local walkSpeedSlider = [Link]("TextButton")


[Link] = [Link](1, 0, 0, 20)
[Link] = [Link](0, 0, 0, 25)
walkSpeedSlider.BackgroundColor3 = [Link]
[Link] = 0
[Link] = ""
[Link] = walkSpeedFrame

local sliderCorner = [Link]("UICorner")


[Link] = [Link](0, 4)
[Link] = walkSpeedSlider

local walkSpeedFill = [Link]("Frame")


[Link] = [Link](getgenv().walkSpeedPercentage or 0.5, 0, 1, 0)
walkSpeedFill.BackgroundColor3 = [Link]
[Link] = 0
[Link] = walkSpeedSlider

local fillCorner = [Link]("UICorner")


[Link] = [Link](0, 4)
[Link] = walkSpeedFill

walkSpeedSlider.MouseButton1Down:Connect(function()
local connection
connection = game:GetService("RunService").Heartbeat:Connect(function()
local mousePos = game:GetService("UserInputService"):GetMouseLocation()
local relativeX = [Link](mousePos.X -
[Link].X, 0, [Link].X)
local percentage = relativeX / [Link].X

[Link] = [Link](percentage, 0, 1, 0)
local speed = [Link](16 + (percentage * 84))
[Link] = "Walk Speed: " .. speed

getgenv().currentWalkSpeed = speed
getgenv().walkSpeedPercentage = percentage

pcall(function()
if [Link] and [Link]:FindFirstChild("Humanoid") then
[Link] = speed
end
end)
end)

game:GetService("UserInputService").InputEnded:Connect(function(input)
if [Link] == [Link].MouseButton1 then
connection:Disconnect()
end
end)
end)

createToggle("Anti-AFK", "Предотвращает отключение", function(state)


if state then
getgenv().antiAfkConnection = [Link]:Connect(function()

game:GetService("VirtualUser"):Button2Down([Link](0,0),[Link]
.CFrame)
[Link](1)

game:GetService("VirtualUser"):Button2Up([Link](0,0),[Link].C
Frame)
end)
else
if getgenv().antiAfkConnection then
getgenv().antiAfkConnection:Disconnect()
end
end
end)
end

function showPlayerInfoTab()
clearContent()

local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]

local playerName = createInfoLabel("Player Name", [Link])


[Link] = contentContainer

local playerHealth = createInfoLabel("Health", "100")


[Link] = contentContainer

local playerSpeed = createInfoLabel("Walk Speed", "16")


[Link] = contentContainer

local separator = [Link]("Frame")


[Link] = [Link](1, -20, 0, 1)
[Link] = [Link](0, 0, 0, 160)
separator.BackgroundColor3 = [Link]
[Link] = 0
[Link] = contentContainer

local monstersCount = createInfoLabel("Monsters Alive", "0")


[Link] = [Link](0, 0, 0, 200)
[Link] = contentContainer

local tangosCount = createInfoLabel("Tango Alive", "0")


[Link] = [Link](0, 0, 0, 230)
[Link] = contentContainer

getgenv().RAGEHUB_THREADS["Player Info"] = [Link](function()


while currentTab == "Player Info" and [Link](0.1) do
pcall(function()
if [Link] and [Link]:FindFirstChild("Humanoid") then
[Link] =
[Link]([Link])
end

if [Link] and [Link]:FindFirstChild("Humanoid") then


[Link] =
[Link]([Link])
end

local monsters = 0
local tangos = 0

for i, v in pairs([Link]:GetChildren()) do
if [Link] == "Monsters" then
for o, monster in pairs(v:GetChildren()) do
if monster:IsA("Model") then
local humanoid =
monster:FindFirstChildOfClass("Humanoid")
if humanoid and [Link] > 0 then
monsters = monsters + 1
end
end
end
elseif [Link] == "Tango" then
for o, tango in pairs(v:GetChildren()) do
if tango:IsA("Model") then
local humanoid =
tango:FindFirstChildOfClass("Humanoid")
if humanoid and [Link] > 0 then
tangos = tangos + 1
end
end
end
end
end

[Link] = monsters
[Link] = tangos
end)
end
end)
end
function showStorage()
clearContent()

createButton("Storage LOLLIPOP", "Берет lollipop", function(state)


takelollipop(state)
end)

createButton("Storage GRENADE", "Берет grenade", function(state)


takegrenade(state)
end)

createButton("Storage POTION", "Берет Potion", function(state)


takepotion(state)
end)

end

function showTanzaniteAxeTab()
clearContent()

createToggle("No Cooldown", "Убирает кулдаун у топора", function(state)


tanzaniteNoCooldown(state)
end)

createToggle("Auto Swing", "Автоматически атакует топором", function(state)


tanzaniteAutoSwing(state)
end)

createToggle("Instant Charge", "Мгновенная зарядка топора", function(state)


tanzaniteInstantCharge(state)
end)

createToggle("Increased Damage", "Увеличивает урон в 5 раз", function(state)


tanzaniteIncreasedDamage(state)
end)

createToggle("Infinite Uses", "Бесконечные использования", function(state)


tanzaniteInfiniteUses(state)
end)

createButton("Force Axe Explode", "Активирует взрыв топора", function()


pcall(function()
local axe = getTanzaniteAxe()
if axe and axe:FindFirstChild("Main") then
[Link]:FireServer("AxeExplode", {})
createNotification("Tanzanite Axe", "Взрыв активирован!", 3,
"success")
else
createNotification("Tanzanite Axe", "Топор не найден!", 3, "error")
end
end)
end)

local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]


local infoFrame = [Link]("Frame")
[Link] = [Link](1, -20, 0, 80)
infoFrame.BackgroundColor3 = [Link]
[Link] = 0
[Link] = contentContainer

local infoCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = infoFrame

local infoLabel = [Link]("TextLabel")


[Link] = [Link](1, -10, 1, -10)
[Link] = [Link](0, 5, 0, 5)
[Link] = 1
[Link] = "⚡ Tanzanite Axe Mods\n• No Cooldown - убирает задержки\n•
Auto Swing - автоатака\n• Instant Charge - мгновенная зарядка\n• Increased Damage -
×5 урон"
infoLabel.TextColor3 = [Link]
[Link] = 12
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = true
[Link] = infoFrame
end

-- Добавляем вкладку Shapeshifter в GUI


function showShapeshifterTab()
clearContent()

-- Информация о тестовой категории


local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]
local testInfoFrame = [Link]("Frame")
[Link] = [Link](1, -20, 0, 60)
testInfoFrame.BackgroundColor3 = [Link](255, 165, 0) -- Оранжевый для
теста
[Link] = 0
[Link] = contentContainer

local testInfoCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = testInfoFrame

local testInfoLabel = [Link]("TextLabel")


[Link] = [Link](1, -10, 1, -10)
[Link] = [Link](0, 5, 0, 5)
[Link] = 1
[Link] = "🧪 ТЕСТОВАЯ КАТЕГОРИЯ\nЭкспериментальные функции
Shapeshifter"
testInfoLabel.TextColor3 = [Link]
[Link] = 12
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = true
[Link] = testInfoFrame

-- Быстрое превращение в монстров


createButton("Transform to Brute", "Превращение в Brute ", function()
ForceTransform("Brute")
end)

createButton("Transform to Bolty", "Превращение в Bolty", function()


ForceTransform("Bolty")
end)

createButton("Return to Human", "Возврат в форму", function()


ForceTransform("Human")
end)

-- Обход ограничений
createToggle("Shapeshifter Bypass", "обход ограничений", function(state)
if state then
getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"] =
[Link](function()
ShapeshifterBypassThread()
end)
else
if getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"] then
[Link](getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"])
getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"] = nil
end
end
end)

-- Автоматическое превращение
createToggle("Auto Transform", "чередование превращений", function(state)
if state then
getgenv().RAGEHUB_THREADS["Auto Transform"] = [Link](function()
AutoTransformThread()
end)
else
if getgenv().RAGEHUB_THREADS["Auto Transform"] then
[Link](getgenv().RAGEHUB_THREADS["Auto Transform"])
getgenv().RAGEHUB_THREADS["Auto Transform"] = nil
end
end
end)

-- Удаление недостатков монстров


createButton("Remove Monster Disadvantages", "Убирает негативные эффекты",
function()
RemoveMonsterDisadvantages()
end)

-- Принудительное включение инвентаря


createButton("Force Enable Inventory", "включает инвентарь", function()
pcall(function()
local character = [Link]
if character and character:FindFirstChild("invDisablers") then
[Link]:SetAttribute("Shapeshifter", false)
createNotification("Shapeshifter", "Инвентарь принудительно
включен", 3, "success")
end
end)
end)

-- Информация о монстрах
local infoFrame = [Link]("Frame")
[Link] = [Link](1, -20, 0, 100)
infoFrame.BackgroundColor3 = [Link]
[Link] = 0
[Link] = contentContainer

local infoCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = infoFrame

local infoLabel = [Link]("TextLabel")


[Link] = [Link](1, -10, 1, -10)
[Link] = [Link](0, 5, 0, 5)
[Link] = 1
[Link] = "⚡ Shapeshifter Exploit\n• Brute - большой размер ×2,
сопротивление магии\n• Bolty - пуленепробиваемость, сопротивление пулям\n• Human -
возврат в нормальную форму с инвентарем"
infoLabel.TextColor3 = [Link]
[Link] = 11
[Link] = [Link]
[Link] = [Link]
[Link] = [Link]
[Link] = true
[Link] = infoFrame
end

function clearContent()
if getgenv().RAGEHUB_THREADS["Player Info"] then
[Link](getgenv().RAGEHUB_THREADS["Player Info"])
getgenv().RAGEHUB_THREADS["Player Info"] = nil
end

-- ДОБАВЛЕНА ОЧИСТКА NAMETAGS THREAD


if getgenv().RAGEHUB_THREADS["Nametags"] then
[Link](getgenv().RAGEHUB_THREADS["Nametags"])
getgenv().RAGEHUB_THREADS["Nametags"] = nil
end

-- ДОБАВЛЕНА ОЧИСТКА SHAPESHIFTER THREADS


if getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"] then
[Link](getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"])
getgenv().RAGEHUB_THREADS["Shapeshifter Bypass"] = nil
end

if getgenv().RAGEHUB_THREADS["Auto Transform"] then


[Link](getgenv().RAGEHUB_THREADS["Auto Transform"])
getgenv().RAGEHUB_THREADS["Auto Transform"] = nil
end

local tanzaniteThreads = {
"No Cooldown",
"Auto Swing",
"Instant Charge",
"Increased Damage",
"Infinite Uses"
}

for _, threadName in pairs(tanzaniteThreads) do


if getgenv().RAGEHUB_THREADS[threadName] then
[Link](getgenv().RAGEHUB_THREADS[threadName])
getgenv().RAGEHUB_THREADS[threadName] = nil
end
end
for _, child in pairs(contentContainer:GetChildren()) do
if child:IsA("Frame") then
child:Destroy()
end
end
end

for i, tab in ipairs(tabs) do


local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]

local tabButton = [Link]("TextButton")


[Link] = [Link]
[Link] = [Link](1, 0, 0, 50)
[Link] = [Link](0, 0, 0, (i-1) * 50)
tabButton.BackgroundColor3 = [Link] == currentTab and [Link] or
[Link]
[Link] = 0
[Link] = [Link] .. " " .. [Link]
tabButton.TextColor3 = [Link] == currentTab and [Link] or
[Link]
[Link] = 14
[Link] = [Link]
[Link] = tabContainer

local tabCorner = [Link]("UICorner")


[Link] = [Link](0, 0)
[Link] = tabButton

tabButton.MouseButton1Click:Connect(function()
currentTab = [Link]
updateTabs()
if [Link] == "Combat" then
showCombatTab()
elseif [Link] == "ESP" then
showESPTab()
elseif [Link] == "Misc" then
showMiscTab()
elseif [Link] == "Player Info" then
showPlayerInfoTab()
elseif [Link] == "Tanzanite Axe" then
showTanzaniteAxeTab()
elseif [Link] == "Shapeshifter" then
showShapeshifterTab() -- ДОБАВЛЕНО ДЛЯ НОВОЙ ВКЛАДКИ
elseif [Link] == "Storage" then
showStorage() -- ДОБАВЛЕНО ДЛЯ НОВОЙ ВКЛАДКИ
end
end)

[Link](tabButtons, tabButton)
end

function updateTabs()
local colors = THEME_COLORS[getgenv().RAGEHUB_THEME]
for _, button in ipairs(tabButtons) do
if [Link] == currentTab then
button.BackgroundColor3 = [Link]
button.TextColor3 = [Link]
else
button.BackgroundColor3 = [Link]
button.TextColor3 = [Link]
end
end
end

local dragging = false


local dragInput, dragStart, startPos

[Link]:Connect(function(input)
if [Link] == [Link].MouseButton1 then
dragging = true
dragStart = [Link]
startPos = [Link]

[Link]:Connect(function()
if [Link] == [Link] then
dragging = false
end
end)
end
end)

[Link]:Connect(function(input)
if [Link] == [Link] then
dragInput = input
end
end)

game:GetService("UserInputService").InputChanged:Connect(function(input)
if input == dragInput and dragging then
local delta = [Link] - dragStart
[Link] = [Link]([Link], [Link] +
delta.X, [Link], [Link] + delta.Y)
end
end)

local function handleBinds(input, gameProcessed)


if gameProcessed then return end

if [Link] == [Link] then


local key = [Link]

for funcName, bindKey in pairs(getgenv().RAGEHUB_BINDS) do


if bindKey and bindKey == key then
local newState = not getgenv().RAGEHUB_STATES[funcName]
getgenv().RAGEHUB_STATES[funcName] = newState

updateToggleButton(funcName, newState)

executeFunction(funcName, newState)

createNotification("Bind Сработал", funcName .. " " .. (newState


and "включен" or "выключен"), 2, "info")
break
end
end
end
end
[Link]:Connect(handleBinds)

-- Инициализируем поиск selfRevive при загрузке


findSelfReviveEvent()
if selfReviveEvent then
print("✅ Найден selfRevive:", selfReviveEvent)
else
print("⚠️ selfRevive не найден, но будет искаться при активации")
end

updateTabs()
showCombatTab()
createNotification("SCP THE RED LAKE", "Успешно внедрен в игру хорошей игры!", 6,
"success")
print("[⚡] RAGE HUB loaded successfully!")

You might also like