-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] local WindUI = loadstring(game:HttpGet("https://github.com/Footagesus/WindUI/releases/latest/download/main.lua"))() local Window = WindUI:CreateWindow({ Title = "Mano Hub", Icon = "rbxassetid://81836294907110", Author = "Sae", Folder = "ManoHub", Size = UDim2.fromOffset(550, 300), Transparent = true, Theme = "Dark", SideBarWidth = 190, HasOutline = false, HideSearchBar = true, ScrollBarEnabled = false, User = { Enabled = true, Anonymous = false }, }) Window:EditOpenButton({ Title = "Mano Hub - Open", Icon = "monitor", CornerRadius = UDim.new(0, 6), StrokeThickness = 2, Color = ColorSequence.new(Color3.fromRGB(30, 30, 30), Color3.fromRGB(255, 255, 255)), Draggable = true }) -- ========================================== -- НАСТРОЙКИ -- ========================================== local Players = game:GetService("Players") local RunService = game:GetService("RunService") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local LocalPlayer = Players.LocalPlayer getgenv().AutoChop = false getgenv().AutoBreakStone = false getgenv().SpeedHack = false getgenv().WalkSpeed = 16 getgenv().ESPPlayers = false getgenv().ESPNPC = false getgenv().InfJump = false getgenv().Fullbright = false getgenv().NoFog = false local ESPObjects = {} local oldLighting = {} local oldFog = {} local MatchTabCreated = false -- ========================================== -- ЛОГИКА SPEED, ESP, JUMP И СВЕТА -- ========================================== local function CreateESP(obj, color) if not obj or not obj.Parent then return end if not ESPObjects[obj] then local hl = Instance.new("Highlight") hl.Name = "ESP_Highlight" hl.FillColor = color hl.OutlineColor = color hl.FillTransparency = 0.5 hl.OutlineTransparency = 0 hl.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop hl.Parent = obj ESPObjects[obj] = hl else ESPObjects[obj].FillColor = color ESPObjects[obj].OutlineColor = color end end task.spawn(function() while task.wait(0.5) do for obj, hl in pairs(ESPObjects) do if not obj or not obj.Parent then hl:Destroy() ESPObjects[obj] = nil end end if getgenv().ESPPlayers or getgenv().ESPNPC then for _, obj in ipairs(workspace:GetDescendants()) do if obj:IsA("Model") and obj:FindFirstChildOfClass("Humanoid") then local plr = Players:GetPlayerFromCharacter(obj) if plr and plr ~= LocalPlayer and getgenv().ESPPlayers then CreateESP(obj, Color3.fromRGB(255, 255, 0)) elseif not plr and getgenv().ESPNPC then CreateESP(obj, Color3.fromRGB(0, 255, 0)) end end end else for obj, hl in pairs(ESPObjects) do hl:Destroy() ESPObjects[obj] = nil end end end end) RunService.Heartbeat:Connect(function() if getgenv().SpeedHack and LocalPlayer.Character then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum and hum.WalkSpeed ~= getgenv().WalkSpeed then hum.WalkSpeed = getgenv().WalkSpeed end end end) UserInputService.JumpRequest:Connect(function() if getgenv().InfJump and LocalPlayer.Character then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end) local function ToggleFullbright(state) if state then oldLighting.Brightness = Lighting.Brightness oldLighting.Ambient = Lighting.Ambient oldLighting.OutdoorAmbient = Lighting.OutdoorAmbient oldLighting.ClockTime = Lighting.ClockTime Lighting.Brightness = 3 Lighting.Ambient = Color3.fromRGB(255, 255, 255) Lighting.OutdoorAmbient = Color3.fromRGB(255, 255, 255) Lighting.ClockTime = 12 else Lighting.Brightness = oldLighting.Brightness or 1 Lighting.Ambient = oldLighting.Ambient or Color3.fromRGB(0, 0, 0) Lighting.OutdoorAmbient = oldLighting.OutdoorAmbient or Color3.fromRGB(0, 0, 0) Lighting.ClockTime = oldLighting.ClockTime or 14 end end local function ToggleNoFog(state) if state then oldFog.FogEnd = Lighting.FogEnd oldFog.FogStart = Lighting.FogStart Lighting.FogEnd = 1000000 Lighting.FogStart = 1000000 else Lighting.FogEnd = oldFog.FogEnd or 1000 Lighting.FogStart = oldFog.FogStart or 0 end end -- ========================================== -- ЛОГИКА МОРФА -- ========================================== local function DoMorph(morphName) local remotes = ReplicatedStorage:GetDescendants() local morphEvent = nil for _, v in pairs(remotes) do if v:IsA("RemoteEvent") then local n = v.Name:lower() if n:find("morph") or n:find("char") or n:find("verity") or n:find("monster") then morphEvent = v break end end end if morphEvent then pcall(function() morphEvent:FireServer(morphName) end) WindUI:Notify({ Title = "Морф", Content = "Попытка морфа через сервер: " .. morphName, Duration = 3 }) return end local targetModel = nil for _, v in pairs(ReplicatedStorage:GetDescendants()) do if v:IsA("Model") and v.Name:lower():find(morphName:lower()) then targetModel = v; break end end if not targetModel then for _, v in pairs(workspace:GetDescendants()) do if v:IsA("Model") and v.Name:lower():find(morphName:lower()) and v ~= LocalPlayer.Character then targetModel = v; break end end end if targetModel and LocalPlayer.Character then local oldChar = LocalPlayer.Character local newChar = targetModel:Clone() newChar.Name = LocalPlayer.Name if not newChar:FindFirstChildOfClass("Humanoid") then local hum = Instance.new("Humanoid") hum.Parent = newChar end local hrp = newChar:FindFirstChild("HumanoidRootPart") or newChar:FindFirstChild("Torso") or newChar:FindFirstChild("UpperTorso") if not hrp then local part = Instance.new("Part") part.Name = "HumanoidRootPart" part.Transparency = 1 part.Size = Vector3.new(2, 2, 1) part.CanCollide = false part.Parent = newChar newChar.PrimaryPart = part else newChar.PrimaryPart = hrp end for _, tool in pairs(oldChar:GetChildren()) do if tool:IsA("Tool") then tool:Clone().Parent = newChar end end LocalPlayer.Character = newChar newChar.Parent = workspace WindUI:Notify({ Title = "Морф", Content = "Ты превратился в: " .. targetModel.Name, Duration = 3 }) else WindUI:Notify({ Title = "Ошибка", Content = "Модель '" .. morphName .. "' не найдена на карте.", Duration = 5 }) end end -- ========================================== -- ОБЩИЕ ФУНКЦИИ (Для вкладки Lobby) -- ========================================== local function AddGeneralFeatures(Tab) Tab:Section({ Title = "Визуал и Движение" }) Tab:Toggle({ Title = "Бесконечный прыжок", Value = getgenv().InfJump, Callback = function(state) getgenv().InfJump = state end }) Tab:Toggle({ Title = "Fullbright (Яркий свет)", Value = getgenv().Fullbright, Callback = function(state) getgenv().Fullbright = state; ToggleFullbright(state) end }) Tab:Toggle({ Title = "NoFog (Убрать туман)", Value = getgenv().NoFog, Callback = function(state) getgenv().NoFog = state; ToggleNoFog(state) end }) Tab:Section({ Title = "Скорость и ESP" }) Tab:Toggle({ Title = "ESP Игроки (Желтые)", Value = getgenv().ESPPlayers, Callback = function(state) getgenv().ESPPlayers = state end }) Tab:Toggle({ Title = "ESP Боты / NPC (Зеленые)", Value = getgenv().ESPNPC, Callback = function(state) getgenv().ESPNPC = state end }) Tab:Toggle({ Title = "Speed Hack", Value = getgenv().SpeedHack, Callback = function(state) getgenv().SpeedHack = state end }) Tab:Slider({ Title = "Скорость ходьбы", Step = 1, Value = { Min = 16, Max = 500, Default = getgenv().WalkSpeed }, Callback = function(value) getgenv().WalkSpeed = value end }) Tab:Input({ Title = "Скорость (Ввод вручную)", Value = tostring(getgenv().WalkSpeed), Callback = function(text) local num = tonumber(text) if num then getgenv().WalkSpeed = math.clamp(num, 16, 500) end end }) end -- ========================================== -- ФУНКЦИИ ДЛЯ КАТКИ (Только для вкладки Match) -- ========================================== local function AddMatchFeatures(Tab) Tab:Section({ Title = "Morphs (Превращение)" }) Tab:Button({ Title = "Стать Верити (Verity)", Desc = "Превратиться в Верити", Callback = function() DoMorph("Verity") end }) Tab:Button({ Title = "Стать Монстром (Monster)", Desc = "Превратиться в монстра", Callback = function() DoMorph("Monster") end }) Tab:Input({ Title = "Свой морф (Имя NPC)", Desc = "Впиши имя NPC и нажми Enter", Value = "", Callback = function(text) if text ~= "" then DoMorph(text) end end }) Tab:Button({ Title = "Сбросить морф (Revert)", Desc = "Вернуться в обычного игрока", Callback = function() if LocalPlayer.Character then LocalPlayer:LoadCharacter() end end }) Tab:Section({ Title = "Гринд" }) Tab:Toggle({ Title = "Auto Chop Tree", Value = getgenv().AutoChop, Callback = function(state) getgenv().AutoChop = state if state then task.spawn(function() local ChopTreeEvent = ReplicatedStorage:FindFirstChild("ChopTree") if not ChopTreeEvent then return end while getgenv().AutoChop do local targetTrees = {} local treesFolder1 = workspace:FindFirstChild("Trees") if treesFolder1 then for _, tree in ipairs(treesFolder1:GetChildren()) do if tree.Name == "Tree" or tree:IsA("Model") then table.insert(targetTrees, tree) end end end for _, tree in ipairs(targetTrees) do if not getgenv().AutoChop then break end pcall(function() ChopTreeEvent:FireServer(tree, tree:GetDebugId()) end) task.wait(0.1) end task.wait(0.5) end end) end end }) Tab:Toggle({ Title = "Auto Break Stone", Value = getgenv().AutoBreakStone, Callback = function(state) getgenv().AutoBreakStone = state if state then task.spawn(function() local MineRockEvent = ReplicatedStorage:FindFirstChild("MineRock") if not MineRockEvent then return end while getgenv().AutoBreakStone do local part2 = workspace:FindFirstChild("Part2") local rocksFolder = part2 and part2:FindFirstChild("Rocks") if rocksFolder then for _, rock in ipairs(rocksFolder:GetChildren()) do if not getgenv().AutoBreakStone then break end if rock.Name == "Rock" or rock:IsA("Model") then pcall(function() MineRockEvent:FireServer(rock, rock:GetDebugId()) end) task.wait(0.1) end end end task.wait(0.5) end end) end end }) end -- ========================================== -- СОЗДАНИЕ ВКЛАДКИ LOBBY -- ========================================== local LobbyTab = Window:Tab({ Title = "Lobby", Icon = "home" }) AddGeneralFeatures(LobbyTab) -- Добавляем ручную кнопку загрузки катки (на случай если автоопределение не сработает) LobbyTab:Section({ Title = "Управление" }) LobbyTab:Button({ Title = "Загрузить функции катки", Desc = "Нажми, если не появилась вкладка Match", Callback = function() local function LoadMatchTab() if MatchTabCreated then return end MatchTabCreated = true local MatchTab = Window:Tab({ Title = "Match", Icon = "sword" }) AddGeneralFeatures(MatchTab) AddMatchFeatures(MatchTab) end LoadMatchTab() end }) -- ========================================== -- АВТО-ОПРЕДЕЛЕНИЕ КАТКИ -- ========================================== local function CheckMatch() if MatchTabCreated then return end local isMatch = false -- 1. Проверяем наличие Топора/Кирки в рюкзаке или руках if LocalPlayer.Character then for _, t in pairs(LocalPlayer.Character:GetChildren()) do if t:IsA("Tool") and (t.Name:lower():find("топор") or t.Name:lower():find("axe") or t.Name:lower():find("pick")) then isMatch = true end end end if LocalPlayer.Backpack then for _, t in pairs(LocalPlayer.Backpack:GetChildren()) do if t:IsA("Tool") and (t.Name:lower():find("топор") or t.Name:lower():find("axe") or t.Name:lower():find("pick")) then isMatch = true end end end -- 2. Проверяем наличие интерфейса с надписью "Дерево" или "Wood" if not isMatch then local pg = LocalPlayer:FindFirstChild("PlayerGui") if pg then for _, v in ipairs(pg:GetDescendants()) do if v:IsA("TextLabel") and v.Visible and (v.Text:lower():find("дерево") or v.Text:lower():find("wood")) then isMatch = true break end end end end -- 3. Старая проверка на папки Part2 / Map if not isMatch then if workspace:FindFirstChild("Part2") or workspace:FindFirstChild("Map") or workspace:FindFirstChild("Arena") then isMatch = true end end if isMatch then local function LoadMatchTab() if MatchTabCreated then return end MatchTabCreated = true local MatchTab = Window:Tab({ Title = "Match", Icon = "sword" }) AddGeneralFeatures(MatchTab) AddMatchFeatures(MatchTab) end LoadMatchTab() end end -- Проверяем каждые 2 секунды, не началась ли катка task.spawn(function() while task.wait(2) do CheckMatch() end end)