if getgenv().ThoriumLib_Loaded or game:GetService("CoreGui"):FindFirstChild("ThoriumLibGui") then warn("[ThoriumLib]") return end getgenv().ThoriumLib_Loaded = true -- Place ID (Brookhaven RP: 4924922222) local TARGET_PLACE_ID = 4924922222 if game.PlaceId ~= TARGET_PLACE_ID then warn("[ThoriumLib] Place ID (" .. tostring(game.PlaceId) .. ")! Brookhaven RP (" .. tostring(TARGET_PLACE_ID) .. ")") return end local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local UserInputService = game:GetService("UserInputService") local Lighting = game:GetService("Lighting") local Workspace = game:GetService("Workspace") local RunService = game:GetService("RunService") local TeleportService = game:GetService("TeleportService") local HttpService = game:GetService("HttpService") local VirtualUser = game:GetService("VirtualUser") local LocalPlayer = Players.LocalPlayer local Mouse = LocalPlayer:GetMouse() -- Таблицы для управления соединениями и циклами (для Unload) local activeConnections = {} local activeLoops = {} local function AddConnection(conn) table.insert(activeConnections, conn) return conn end local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "ThoriumLibGui" ScreenGui.ResetOnSpawn = false local success, _ = pcall(function() ScreenGui.Parent = game:GetService("CoreGui") end) if not success then ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui") end local UIBlur = Lighting:FindFirstChild("ThoriumUIBlur") or Instance.new("BlurEffect") UIBlur.Name = "ThoriumUIBlur" UIBlur.Size = 14 UIBlur.Enabled = true UIBlur.Parent = Lighting local MainFrame = Instance.new("Frame") MainFrame.Name = "MainFrame" MainFrame.Size = UDim2.new(0, 740, 0, 460) MainFrame.Position = UDim2.new(0.5, -370, 0.5, -230) MainFrame.BackgroundColor3 = Color3.fromRGB(16, 16, 22) MainFrame.BackgroundTransparency = 0.25 MainFrame.BorderSizePixel = 0 MainFrame.Active = true MainFrame.Visible = false MainFrame.Parent = ScreenGui local MainCorner = Instance.new("UICorner") MainCorner.CornerRadius = UDim.new(0, 12) MainCorner.Parent = MainFrame local MainStroke = Instance.new("UIStroke") MainStroke.Color = Color3.fromRGB(70, 70, 95) MainStroke.Thickness = 1 MainStroke.Transparency = 0.4 MainStroke.Parent = MainFrame local MobileToggleBtn = Instance.new("TextButton") MobileToggleBtn.Name = "MobileToggleBtn" MobileToggleBtn.Size = UDim2.new(0, 46, 0, 46) MobileToggleBtn.Position = UDim2.new(0, 18, 0.35, 0) MobileToggleBtn.BackgroundColor3 = Color3.fromRGB(108, 92, 231) MobileToggleBtn.BackgroundTransparency = 0.2 MobileToggleBtn.Text = "TH" MobileToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255) MobileToggleBtn.TextSize = 15 MobileToggleBtn.Font = Enum.Font.GothamBold MobileToggleBtn.Active = true MobileToggleBtn.Visible = false MobileToggleBtn.Parent = ScreenGui local MobileBtnCorner = Instance.new("UICorner") MobileBtnCorner.CornerRadius = UDim.new(1, 0) MobileBtnCorner.Parent = MobileToggleBtn local MobileBtnStroke = Instance.new("UIStroke") MobileBtnStroke.Color = Color3.fromRGB(180, 170, 255) MobileBtnStroke.Thickness = 1.5 MobileBtnStroke.Parent = MobileToggleBtn local SplashFrame = Instance.new("Frame") SplashFrame.Name = "ThoriumSplash" SplashFrame.Size = UDim2.new(1, 0, 1, 0) SplashFrame.Position = UDim2.new(0, 0, 0, 0) SplashFrame.BackgroundColor3 = Color3.fromRGB(12, 12, 18) SplashFrame.BackgroundTransparency = 0 SplashFrame.BorderSizePixel = 0 SplashFrame.ZIndex = 100 SplashFrame.Parent = ScreenGui local SplashTitle = Instance.new("TextLabel") SplashTitle.Name = "SplashTitle" SplashTitle.Size = UDim2.new(0, 500, 0, 80) SplashTitle.Position = UDim2.new(0.5, -250, 0.5, -40) SplashTitle.BackgroundTransparency = 1 SplashTitle.Text = "THORIUMLIB" SplashTitle.RichText = true SplashTitle.TextColor3 = Color3.fromRGB(255, 255, 255) SplashTitle.TextTransparency = 1 SplashTitle.TextSize = 42 SplashTitle.Font = Enum.Font.GothamBold SplashTitle.ZIndex = 101 SplashTitle.Parent = SplashFrame local SplashSub = Instance.new("TextLabel") SplashSub.Name = "SplashSub" SplashSub.Size = UDim2.new(0, 500, 0, 30) SplashSub.Position = UDim2.new(0.5, -250, 0.5, 35) SplashSub.BackgroundTransparency = 1 SplashSub.Text = "Brookhaven RP Extended Edition Loaded" SplashSub.TextColor3 = Color3.fromRGB(160, 160, 180) SplashSub.TextTransparency = 1 SplashSub.TextSize = 13 SplashSub.Font = Enum.Font.GothamMedium SplashSub.ZIndex = 101 SplashSub.Parent = SplashFrame task.spawn(function() TweenService:Create(SplashTitle, TweenInfo.new(1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0}):Play() TweenService:Create(SplashSub, TweenInfo.new(1, Enum.EasingStyle.Quart, Enum.EasingDirection.Out), {TextTransparency = 0.3}):Play() task.wait(1.8) TweenService:Create(SplashTitle, TweenInfo.new(0.8, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() TweenService:Create(SplashSub, TweenInfo.new(0.8, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {TextTransparency = 1}):Play() local splashFade = TweenService:Create(SplashFrame, TweenInfo.new(0.8, Enum.EasingStyle.Quart, Enum.EasingDirection.In), {BackgroundTransparency = 1}) splashFade:Play() splashFade.Completed:Wait() SplashFrame:Destroy() MainFrame.Visible = true MobileToggleBtn.Visible = true end) local function ToggleMenu() MainFrame.Visible = not MainFrame.Visible UIBlur.Enabled = MainFrame.Visible end MobileToggleBtn.MouseButton1Click:Connect(ToggleMenu) local mDragging, mDragStart, mStartPos AddConnection(MobileToggleBtn.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then mDragging = true mDragStart = input.Position mStartPos = MobileToggleBtn.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then mDragging = false end end) end end)) AddConnection(UserInputService.InputChanged:Connect(function(input) if mDragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - mDragStart MobileToggleBtn.Position = UDim2.new(mStartPos.X.Scale, mStartPos.X.Offset + delta.X, mStartPos.Y.Scale, mStartPos.Y.Offset + delta.Y) end end)) local dragging, dragInput, dragStart, startPos local function updateDrag(input) local delta = input.Position - dragStart MainFrame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end AddConnection(MainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = MainFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end)) AddConnection(MainFrame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then dragInput = input end end)) AddConnection(UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then updateDrag(input) end end)) local toggleKey = Enum.KeyCode.K local isListeningForKey = false AddConnection(UserInputService.InputBegan:Connect(function(input, gameProcessed) if isListeningForKey and input.UserInputType == Enum.UserInputType.Keyboard then toggleKey = input.KeyCode isListeningForKey = false return end if not gameProcessed and input.UserInputType == Enum.UserInputType.Keyboard and input.KeyCode == toggleKey then ToggleMenu() end end)) local Sidebar = Instance.new("Frame") Sidebar.Name = "Sidebar" Sidebar.Size = UDim2.new(0, 190, 1, 0) Sidebar.BackgroundColor3 = Color3.fromRGB(12, 12, 18) Sidebar.BackgroundTransparency = 0.45 Sidebar.BorderSizePixel = 0 Sidebar.Parent = MainFrame local SidebarCorner = Instance.new("UICorner") SidebarCorner.CornerRadius = UDim.new(0, 12) SidebarCorner.Parent = Sidebar local SidebarRightLine = Instance.new("Frame") SidebarRightLine.Size = UDim2.new(0, 1, 1, -20) SidebarRightLine.Position = UDim2.new(1, -1, 0, 10) SidebarRightLine.BackgroundColor3 = Color3.fromRGB(50, 50, 68) SidebarRightLine.BackgroundTransparency = 0.5 SidebarRightLine.BorderSizePixel = 0 SidebarRightLine.Parent = Sidebar local Title = Instance.new("TextLabel") Title.Name = "Title" Title.Size = UDim2.new(1, 0, 0, 50) Title.BackgroundTransparency = 1 Title.Text = "Thoriumlib v1.8" Title.RichText = true Title.TextColor3 = Color3.fromRGB(255, 255, 255) Title.TextSize = 18 Title.Font = Enum.Font.GothamBold Title.Parent = Sidebar local TabContainer = Instance.new("Frame") TabContainer.Name = "TabContainer" TabContainer.Size = UDim2.new(1, -16, 1, -130) TabContainer.Position = UDim2.new(0, 8, 0, 55) TabContainer.BackgroundTransparency = 1 TabContainer.Parent = Sidebar local TabListLayout = Instance.new("UIListLayout") TabListLayout.SortOrder = Enum.SortOrder.LayoutOrder TabListLayout.Padding = UDim.new(0, 6) TabListLayout.Parent = TabContainer local ContentArea = Instance.new("Frame") ContentArea.Name = "ContentArea" ContentArea.Size = UDim2.new(1, -215, 1, -20) ContentArea.Position = UDim2.new(0, 205, 0, 10) ContentArea.BackgroundTransparency = 1 ContentArea.Parent = MainFrame local ProfileBox = Instance.new("Frame") ProfileBox.Name = "ProfileBox" ProfileBox.Size = UDim2.new(1, -16, 0, 50) ProfileBox.Position = UDim2.new(0, 8, 1, -60) ProfileBox.BackgroundColor3 = Color3.fromRGB(20, 20, 28) ProfileBox.BackgroundTransparency = 0.4 ProfileBox.BorderSizePixel = 0 ProfileBox.Parent = Sidebar local ProfileCorner = Instance.new("UICorner") ProfileCorner.CornerRadius = UDim.new(0, 8) ProfileCorner.Parent = ProfileBox local ProfileStroke = Instance.new("UIStroke") ProfileStroke.Color = Color3.fromRGB(55, 55, 75) ProfileStroke.Transparency = 0.6 ProfileStroke.Parent = ProfileBox local ProfileIcon = Instance.new("ImageLabel") ProfileIcon.Name = "Avatar" ProfileIcon.Size = UDim2.new(0, 34, 0, 34) ProfileIcon.Position = UDim2.new(0, 8, 0.5, -17) ProfileIcon.BackgroundTransparency = 1 ProfileIcon.Image = Players:GetUserThumbnailAsync(LocalPlayer.UserId, Enum.ThumbnailType.HeadShot, Enum.ThumbnailSize.Size420x420) ProfileIcon.Parent = ProfileBox local ProfileIconCorner = Instance.new("UICorner") ProfileIconCorner.CornerRadius = UDim.new(1, 0) ProfileIconCorner.Parent = ProfileIcon local NicknameLabel = Instance.new("TextLabel") NicknameLabel.Name = "Nickname" NicknameLabel.Size = UDim2.new(1, -50, 0, 16) NicknameLabel.Position = UDim2.new(0, 48, 0, 8) NicknameLabel.BackgroundTransparency = 1 NicknameLabel.Text = LocalPlayer.Name NicknameLabel.TextColor3 = Color3.fromRGB(240, 240, 240) NicknameLabel.TextSize = 12 NicknameLabel.Font = Enum.Font.GothamSemibold NicknameLabel.TextXAlignment = Enum.TextXAlignment.Left NicknameLabel.Parent = ProfileBox local trustedMode = false local dangerousElements = {} local ModeLabel = Instance.new("TextLabel") ModeLabel.Name = "ModeLabel" ModeLabel.Size = UDim2.new(1, -50, 0, 14) ModeLabel.Position = UDim2.new(0, 48, 0, 24) ModeLabel.BackgroundTransparency = 1 ModeLabel.RichText = true ModeLabel.Text = "Unsafe Mode" ModeLabel.TextColor3 = Color3.fromRGB(255, 255, 255) ModeLabel.TextSize = 10 ModeLabel.Font = Enum.Font.GothamSemibold ModeLabel.TextXAlignment = Enum.TextXAlignment.Left ModeLabel.Parent = ProfileBox local function UpdateModeStatus(state) trustedMode = state if state then ModeLabel.Text = "Safe Mode" for _, elem in ipairs(dangerousElements) do if elem.getState() then elem.setState(false) end elem.setYellow(true) end else ModeLabel.Text = "Unsafe Mode" for _, elem in ipairs(dangerousElements) do elem.setYellow(false) end end end local tabs = {} local function createTab(name, icon) local page = Instance.new("Frame") page.Name = name .. "Page" page.Size = UDim2.new(1, 0, 1, 0) page.BackgroundTransparency = 1 page.Visible = false page.Parent = ContentArea local centerDivider = Instance.new("Frame") centerDivider.Name = "CenterDivider" centerDivider.Size = UDim2.new(0, 1, 1, -10) centerDivider.Position = UDim2.new(0.5, -0.5, 0, 5) centerDivider.BackgroundColor3 = Color3.fromRGB(55, 55, 75) centerDivider.BackgroundTransparency = 0.5 centerDivider.BorderSizePixel = 0 centerDivider.Parent = page local leftCol = Instance.new("ScrollingFrame") leftCol.Name = "LeftColumn" leftCol.Size = UDim2.new(0.5, -12, 1, 0) leftCol.Position = UDim2.new(0, 0, 0, 0) leftCol.BackgroundTransparency = 1 leftCol.BorderSizePixel = 0 leftCol.ScrollBarThickness = 3 leftCol.ScrollBarImageColor3 = Color3.fromRGB(108, 92, 231) leftCol.Parent = page local leftLayout = Instance.new("UIListLayout") leftLayout.SortOrder = Enum.SortOrder.LayoutOrder leftLayout.Padding = UDim.new(0, 6) leftLayout.Parent = leftCol leftLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() leftCol.CanvasSize = UDim2.new(0, 0, 0, leftLayout.AbsoluteContentSize.Y + 10) end) local rightCol = Instance.new("ScrollingFrame") rightCol.Name = "RightColumn" rightCol.Size = UDim2.new(0.5, -12, 1, 0) rightCol.Position = UDim2.new(0.5, 12, 0, 0) rightCol.BackgroundTransparency = 1 rightCol.BorderSizePixel = 0 rightCol.ScrollBarThickness = 3 rightCol.ScrollBarImageColor3 = Color3.fromRGB(108, 92, 231) rightCol.Parent = page local rightLayout = Instance.new("UIListLayout") rightLayout.SortOrder = Enum.SortOrder.LayoutOrder rightLayout.Padding = UDim.new(0, 6) rightLayout.Parent = rightCol rightLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() rightCol.CanvasSize = UDim2.new(0, 0, 0, rightLayout.AbsoluteContentSize.Y + 10) end) local tabBtn = Instance.new("TextButton") tabBtn.Name = name .. "Tab" tabBtn.Size = UDim2.new(1, 0, 0, 34) tabBtn.BackgroundColor3 = Color3.fromRGB(24, 24, 32) tabBtn.BackgroundTransparency = 0.6 tabBtn.Text = " " .. (icon or "•") .. " " .. name tabBtn.TextColor3 = Color3.fromRGB(160, 160, 180) tabBtn.TextSize = 12 tabBtn.Font = Enum.Font.GothamMedium tabBtn.TextXAlignment = Enum.TextXAlignment.Left tabBtn.Parent = TabContainer local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(0, 6) btnCorner.Parent = tabBtn local activeIndicator = Instance.new("Frame") activeIndicator.Name = "Indicator" activeIndicator.Size = UDim2.new(0, 3, 0, 18) activeIndicator.Position = UDim2.new(0, 2, 0.5, -9) activeIndicator.BackgroundColor3 = Color3.fromRGB(108, 92, 231) activeIndicator.BorderSizePixel = 0 activeIndicator.Visible = false activeIndicator.Parent = tabBtn local indCorner = Instance.new("UICorner") indCorner.CornerRadius = UDim.new(1, 0) indCorner.Parent = activeIndicator local tabObj = { Button = tabBtn, Page = page, LeftCol = leftCol, RightCol = rightCol, Indicator = activeIndicator, ItemCount = 0 } local function selectTab() for _, tabData in pairs(tabs) do tabData.Page.Visible = false tabData.Indicator.Visible = false TweenService:Create(tabData.Button, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(24, 24, 32), BackgroundTransparency = 0.6, TextColor3 = Color3.fromRGB(160, 160, 180) }):Play() end page.Visible = true activeIndicator.Visible = true TweenService:Create(tabBtn, TweenInfo.new(0.2), { BackgroundColor3 = Color3.fromRGB(108, 92, 231), BackgroundTransparency = 0.2, TextColor3 = Color3.fromRGB(255, 255, 255) }):Play() end tabBtn.MouseButton1Click:Connect(selectTab) function tabObj:GetNextParent() self.ItemCount = self.ItemCount + 1 return (self.ItemCount % 2 == 1) and self.LeftCol or self.RightCol end function tabObj:AddToggle(text, default, isDangerous, callback) if type(isDangerous) == "function" then callback = isDangerous isDangerous = false end local targetParent = self:GetNextParent() local state = default or false local toggleFrame = Instance.new("Frame") toggleFrame.Size = UDim2.new(1, 0, 0, 38) toggleFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 30) toggleFrame.BackgroundTransparency = 0.35 toggleFrame.Parent = targetParent local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = toggleFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(50, 50, 65) stroke.Transparency = 0.6 stroke.Parent = toggleFrame local label = Instance.new("TextLabel") label.Size = UDim2.new(1, -50, 1, 0) label.Position = UDim2.new(0, 10, 0, 0) label.BackgroundTransparency = 1 label.Text = text label.TextColor3 = isDangerous and (trustedMode and Color3.fromRGB(255, 215, 0) or Color3.fromRGB(220, 220, 230)) or Color3.fromRGB(220, 220, 230) label.TextSize = 11 label.Font = Enum.Font.GothamMedium label.TextXAlignment = Enum.TextXAlignment.Left label.TextWrapped = true label.Parent = toggleFrame local btn = Instance.new("TextButton") btn.Size = UDim2.new(0, 34, 0, 18) btn.Position = UDim2.new(1, -40, 0.5, -9) btn.BackgroundColor3 = state and Color3.fromRGB(108, 92, 231) or Color3.fromRGB(40, 40, 52) btn.Text = "" btn.Parent = toggleFrame local btnCorner = Instance.new("UICorner") btnCorner.CornerRadius = UDim.new(1, 0) btnCorner.Parent = btn local circle = Instance.new("Frame") circle.Size = UDim2.new(0, 14, 0, 14) circle.Position = state and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7) circle.BackgroundColor3 = Color3.fromRGB(255, 255, 255) circle.Parent = btn local circleCorner = Instance.new("UICorner") circleCorner.CornerRadius = UDim.new(1, 0) circleCorner.Parent = circle local function applyToggle(newState) if trustedMode and isDangerous and newState == true then warn("[ThoriumLib]: Функция '" .. text .. "' заблокирована в Trusted Mode!") return end state = newState TweenService:Create(btn, TweenInfo.new(0.2), { BackgroundColor3 = state and Color3.fromRGB(108, 92, 231) or Color3.fromRGB(40, 40, 52) }):Play() TweenService:Create(circle, TweenInfo.new(0.2), { Position = state and UDim2.new(1, -16, 0.5, -7) or UDim2.new(0, 2, 0.5, -7) }):Play() task.spawn(callback, state) end btn.MouseButton1Click:Connect(function() applyToggle(not state) end) if isDangerous then table.insert(dangerousElements, { getState = function() return state end, setState = applyToggle, setYellow = function(yellow) label.TextColor3 = yellow and Color3.fromRGB(255, 215, 0) or Color3.fromRGB(220, 220, 230) end }) if trustedMode then label.TextColor3 = Color3.fromRGB(255, 215, 0) end end end function tabObj:AddSlider(text, min, max, default, callback) local targetParent = self:GetNextParent() local val = math.clamp(default or min, min, max) local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, 0, 0, 44) sliderFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 30) sliderFrame.BackgroundTransparency = 0.35 sliderFrame.Parent = targetParent local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = sliderFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(50, 50, 65) stroke.Transparency = 0.6 stroke.Parent = sliderFrame local label = Instance.new("TextLabel") label.Size = UDim2.new(0.7, 0, 0, 18) label.Position = UDim2.new(0, 10, 0, 4) label.BackgroundTransparency = 1 label.Text = text label.TextColor3 = Color3.fromRGB(220, 220, 230) label.TextSize = 11 label.Font = Enum.Font.GothamMedium label.TextXAlignment = Enum.TextXAlignment.Left label.Parent = sliderFrame local valLabel = Instance.new("TextLabel") valLabel.Size = UDim2.new(0.3, -10, 0, 18) valLabel.Position = UDim2.new(0.7, 0, 0, 4) valLabel.BackgroundTransparency = 1 valLabel.Text = tostring(val) valLabel.TextColor3 = Color3.fromRGB(160, 160, 175) valLabel.TextSize = 11 valLabel.Font = Enum.Font.Gotham valLabel.TextXAlignment = Enum.TextXAlignment.Right valLabel.Parent = sliderFrame local track = Instance.new("Frame") track.Size = UDim2.new(1, -20, 0, 6) track.Position = UDim2.new(0, 10, 1, -12) track.BackgroundColor3 = Color3.fromRGB(40, 40, 52) track.Parent = sliderFrame local trackCorner = Instance.new("UICorner") trackCorner.CornerRadius = UDim.new(1, 0) trackCorner.Parent = track local fill = Instance.new("Frame") fill.Size = UDim2.new((val - min)/(max - min), 0, 1, 0) fill.BackgroundColor3 = Color3.fromRGB(108, 92, 231) fill.Parent = track local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(1, 0) fillCorner.Parent = fill local knob = Instance.new("Frame") knob.Name = "Knob" knob.Size = UDim2.new(0, 14, 0, 14) knob.Position = UDim2.new(1, -7, 0.5, -7) knob.BackgroundColor3 = Color3.fromRGB(255, 255, 255) knob.BorderSizePixel = 0 knob.Parent = fill local knobCorner = Instance.new("UICorner") knobCorner.CornerRadius = UDim.new(1, 0) knobCorner.Parent = knob local knobStroke = Instance.new("UIStroke") knobStroke.Color = Color3.fromRGB(108, 92, 231) knobStroke.Thickness = 1.5 knobStroke.Parent = knob local trigger = Instance.new("TextButton") trigger.Size = UDim2.new(1, 0, 1, 0) trigger.BackgroundTransparency = 1 trigger.Text = "" trigger.Parent = sliderFrame local draggingSlider = false local function updateInput(input) local posX = math.clamp((input.Position.X - track.AbsolutePosition.X) / track.AbsoluteSize.X, 0, 1) val = math.floor(min + (max - min) * posX) valLabel.Text = tostring(val) fill.Size = UDim2.new(posX, 0, 1, 0) task.spawn(callback, val) end trigger.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = true updateInput(input) end end) AddConnection(UserInputService.InputChanged:Connect(function(input) if draggingSlider and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then updateInput(input) end end)) AddConnection(UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then draggingSlider = false end end)) end function tabObj:AddButton(text, callback) local targetParent = self:GetNextParent() local btnFrame = Instance.new("Frame") btnFrame.Size = UDim2.new(1, 0, 0, 36) btnFrame.BackgroundColor3 = Color3.fromRGB(22, 22, 30) btnFrame.BackgroundTransparency = 0.35 btnFrame.Parent = targetParent local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 6) corner.Parent = btnFrame local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(50, 50, 65) stroke.Transparency = 0.6 stroke.Parent = btnFrame local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 1, 0) btn.BackgroundTransparency = 1 btn.Text = text btn.TextColor3 = Color3.fromRGB(220, 220, 230) btn.TextSize = 11 btn.Font = Enum.Font.GothamSemibold btn.Parent = btnFrame btn.MouseButton1Click:Connect(function() TweenService:Create(btnFrame, TweenInfo.new(0.1), {BackgroundColor3 = Color3.fromRGB(108, 92, 231)}):Play() task.wait(0.1) TweenService:Create(btnFrame, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(22, 22, 30)}):Play() task.spawn(callback, btn) end) return btn end table.insert(tabs, tabObj) if #tabs == 1 then selectTab() end return tabObj end local brookhavenPage = createTab("Brookhaven", "🏡") local visualsPage = createTab("Visuals", "👁") local movementPage = createTab("Movement", "🏃") local teleportsPage = createTab("Teleports", "📍") local automationPage = createTab("Automation", "⚙") local miscPage = createTab("Misc", "🔧") brookhavenPage:AddButton("Auto Rob Bank Vault", function() local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = CFrame.new(-25, 4, -460) task.wait(0.5) firetouchinterest(char.HumanoidRootPart, Workspace:FindFirstChild("VaultDoor", true) or char.HumanoidRootPart, 0) end end) brookhavenPage:AddButton("Auto Claim Vacant House", function() for _, house in ipairs(Workspace:GetDescendants()) do if (house.Name == "HouseEstate" or house.Name == "Vacant") and house:IsA("BasePart") then if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = house.CFrame * CFrame.new(0, 5, 0) break end end end end) local rainbowCarLoop = nil brookhavenPage:AddToggle("Rainbow Vehicle Paint", false, function(state) if state then rainbowCarLoop = task.spawn(function() local hue = 0 while true do hue = (hue + 0.01) % 1 local col = Color3.fromHSV(hue, 1, 1) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then local seat = LocalPlayer.Character.Humanoid.SeatPart if seat and seat.Parent then for _, part in ipairs(seat.Parent:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "Seat" then part.Color = col end end end end task.wait(0.05) end end) table.insert(activeLoops, rainbowCarLoop) else if rainbowCarLoop then task.cancel(rainbowCarLoop) end end end) local carSpeedBoost = 1 brookhavenPage:AddSlider("Vehicle Speed Multiplier", 1, 10, 1, function(val) carSpeedBoost = val end) local vehicleFlyLoop = nil brookhavenPage:AddToggle("Fly Car / Vehicle", false, true, function(state) if state then vehicleFlyLoop = task.spawn(function() while true do local char = LocalPlayer.Character if char and char:FindFirstChild("Humanoid") and char.Humanoid.SeatPart then local seat = char.Humanoid.SeatPart local vel = Vector3.zero local cam = Workspace.CurrentCamera if UserInputService:IsKeyDown(Enum.KeyCode.W) then vel += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then vel -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then vel -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then vel += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then vel += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then vel -= Vector3.new(0, 1, 0) end seat.AssemblyLinearVelocity = vel * (60 * carSpeedBoost) end task.wait() end end) table.insert(activeLoops, vehicleFlyLoop) else if vehicleFlyLoop then task.cancel(vehicleFlyLoop) end end end) brookhavenPage:AddSlider("Avatar Scale Height", 1, 5, 1, function(val) if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then local hum = LocalPlayer.Character.Humanoid if hum:FindFirstChild("BodyHeightScale") then hum.BodyHeightScale.Value = val end end end) brookhavenPage:AddButton("TP inside Nearest House Safe", function() local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "Safe" and obj:IsA("BasePart") then char.HumanoidRootPart.CFrame = obj.CFrame * CFrame.new(0, 0, 3) break end end end end) brookhavenPage:AddButton("Bring All World Items / Tools", function() local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") then for _, v in ipairs(Workspace:GetDescendants()) do if v:IsA("TouchTransmitter") and v.Parent then pcall(function() firetouchinterest(char.HumanoidRootPart, v.Parent, 0) end) end end end end) local playerHighlights = {} visualsPage:AddToggle("Player ESP", false, function(state) if state then for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character then local hl = Instance.new("Highlight") hl.Name = "ThoriumPlayerESP" hl.FillColor = Color3.fromRGB(108, 92, 231) hl.OutlineColor = Color3.fromRGB(255, 255, 255) hl.Parent = plr.Character table.insert(playerHighlights, hl) end end else for _, hl in ipairs(playerHighlights) do if hl then hl:Destroy() end end playerHighlights = {} end end) local chamsList = {} visualsPage:AddToggle("Chams (Wallhack)", false, function(state) if state then for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character then for _, part in ipairs(plr.Character:GetChildren()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then local box = Instance.new("BoxHandleAdornment") box.Name = "ThoriumChams" box.Size = part.Size box.Color3 = Color3.fromRGB(108, 92, 231) box.AlwaysOnTop = true box.ZIndex = 5 box.Adornee = part box.Transparency = 0.4 box.Parent = part table.insert(chamsList, box) end end end end else for _, ch in ipairs(chamsList) do if ch then ch:Destroy() end end chamsList = {} end end) local nameTags = {} visualsPage:AddToggle("Name Tags", false, function(state) if state then for _, plr in ipairs(Players:GetPlayers()) do if plr ~= LocalPlayer and plr.Character and plr.Character:FindFirstChild("Head") then local bb = Instance.new("BillboardGui") bb.Name = "ThoriumNameTag" bb.Adornee = plr.Character.Head bb.Size = UDim2.new(0, 100, 0, 30) bb.StudsOffset = Vector3.new(0, 2, 0) bb.AlwaysOnTop = true bb.Parent = plr.Character local lbl = Instance.new("TextLabel") lbl.Size = UDim2.new(1, 0, 1, 0) lbl.BackgroundTransparency = 1 lbl.Text = plr.Name lbl.TextColor3 = Color3.fromRGB(255, 255, 255) lbl.TextSize = 11 lbl.Font = Enum.Font.GothamBold lbl.Parent = bb table.insert(nameTags, bb) end end else for _, tag in ipairs(nameTags) do if tag then tag:Destroy() end end nameTags = {} end end) visualsPage:AddSlider("Time of Day (Clock)", 0, 24, 14, function(val) Lighting.ClockTime = val end) local originalAmbient = Lighting.Ambient visualsPage:AddToggle("Fullbright", false, function(state) Lighting.Ambient = state and Color3.fromRGB(255, 255, 255) or originalAmbient end) local origFogEnd = Lighting.FogEnd visualsPage:AddToggle("No Fog", false, function(state) Lighting.FogEnd = state and 9e9 or origFogEnd end) visualsPage:AddToggle("Disable Global Shadows", false, function(state) Lighting.GlobalShadows = not state end) local crosshairFrame = nil visualsPage:AddToggle("Screen Crosshair", false, function(state) if state then if not crosshairFrame then crosshairFrame = Instance.new("Frame") crosshairFrame.Size = UDim2.new(0, 6, 0, 6) crosshairFrame.Position = UDim2.new(0.5, -3, 0.5, -3) crosshairFrame.BackgroundColor3 = Color3.fromRGB(108, 92, 231) crosshairFrame.BorderSizePixel = 0 crosshairFrame.Parent = ScreenGui local crCorner = Instance.new("UICorner") crCorner.CornerRadius = UDim.new(1, 0) crCorner.Parent = crosshairFrame end crosshairFrame.Visible = true else if crosshairFrame then crosshairFrame.Visible = false end end end) local currentWalkSpeed = 16 local currentJumpPower = 50 AddConnection(LocalPlayer.CharacterAdded:Connect(function(char) local hum = char:WaitForChild("Humanoid") hum.WalkSpeed = currentWalkSpeed hum.UseJumpPower = true hum.JumpPower = currentJumpPower end)) AddConnection(RunService.RenderStepped:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") if hum.WalkSpeed ~= currentWalkSpeed then hum.WalkSpeed = currentWalkSpeed end if hum.JumpPower ~= currentJumpPower then hum.UseJumpPower = true hum.JumpPower = currentJumpPower end end end)) movementPage:AddSlider("Walk Speed", 16, 120, 16, function(val) currentWalkSpeed = val end) movementPage:AddSlider("Jump Power", 50, 250, 50, function(val) currentJumpPower = val end) local tpWalkSpeed = 1 local tpWalkConn = nil movementPage:AddSlider("TP Walk Multiplier", 1, 10, 1, function(val) tpWalkSpeed = val end) movementPage:AddToggle("TP Walk (Bypass)", false, true, function(state) if state then tpWalkConn = AddConnection(RunService.RenderStepped:Connect(function(delta) local char = LocalPlayer.Character if char and char:FindFirstChild("HumanoidRootPart") and char:FindFirstChild("Humanoid") then local hum = char.Humanoid if hum.MoveDirection.Magnitude > 0 then char.HumanoidRootPart.CFrame += hum.MoveDirection * (tpWalkSpeed * delta * 30) end end end)) else if tpWalkConn then tpWalkConn:Disconnect() end end end) local flying = false local flySpeed = 60 movementPage:AddToggle("Fly Mode", false, true, function(state) flying = state if flying then local flyLoop = task.spawn(function() while flying do if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local hrp = LocalPlayer.Character.HumanoidRootPart local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") hum.PlatformStand = true local cam = Workspace.CurrentCamera local moveDir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveDir += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveDir -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveDir -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveDir += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveDir += Vector3.new(0, 1, 0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveDir -= Vector3.new(0, 1, 0) end if moveDir.Magnitude > 0 then hrp.AssemblyLinearVelocity = moveDir.Unit * flySpeed else hrp.AssemblyLinearVelocity = Vector3.zero end end task.wait() end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character:FindFirstChildOfClass("Humanoid").PlatformStand = false end end) table.insert(activeLoops, flyLoop) else if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character:FindFirstChildOfClass("Humanoid").PlatformStand = false end end end) local noclip = false local noclipConn = nil movementPage:AddToggle("Noclip", false, true, function(state) noclip = state if noclip then noclipConn = AddConnection(RunService.Stepped:Connect(function() if noclip and LocalPlayer.Character then for _, part in ipairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end)) else if noclipConn then noclipConn:Disconnect() end end end) local bhopConnection = nil movementPage:AddToggle("Bunny Hop", false, function(state) if state then bhopConnection = AddConnection(RunService.RenderStepped:Connect(function() if UserInputService:IsKeyDown(Enum.KeyCode.Space) and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then if LocalPlayer.Character.Humanoid.FloorMaterial ~= Enum.Material.Air then LocalPlayer.Character.Humanoid:ChangeState("Jumping") end end end)) else if bhopConnection then bhopConnection:Disconnect() end end end) local infJumpConnection = nil movementPage:AddToggle("Infinite Jump", false, function(state) if state then infJumpConnection = AddConnection(UserInputService.JumpRequest:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then LocalPlayer.Character:FindFirstChildOfClass("Humanoid"):ChangeState("Jumping") end end)) else if infJumpConnection then infJumpConnection:Disconnect() end end end) local spinConnection = nil movementPage:AddToggle("Spinbot", false, true, function(state) if state then spinConnection = AddConnection(RunService.RenderStepped:Connect(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame *= CFrame.Angles(0, math.rad(30), 0) end end)) else if spinConnection then spinConnection:Disconnect() end end end) local floatLoop = nil movementPage:AddToggle("Air Walk / Float", false, function(state) if state then floatLoop = task.spawn(function() while true do if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local hrp = LocalPlayer.Character.HumanoidRootPart hrp.AssemblyLinearVelocity = Vector3.new(hrp.AssemblyLinearVelocity.X, 0, hrp.AssemblyLinearVelocity.Z) end task.wait() end end) table.insert(activeLoops, floatLoop) else if floatLoop then task.cancel(floatLoop) end end end) movementPage:AddButton("Give TP Tool", function() local tool = Instance.new("Tool") tool.Name = "Thorium TP Tool" tool.RequiresHandle = false tool.Activated:Connect(function() if Mouse and Mouse.Hit and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0)) end end) tool.Parent = LocalPlayer:WaitForChild("Backpack") end) local originalGravity = Workspace.Gravity movementPage:AddToggle("Low Gravity", false, function(state) Workspace.Gravity = state and 35 or originalGravity end) local locations = { ["Bank"] = Vector3.new(-20, 4, -280), ["Police Station"] = Vector3.new(-60, 4, -70), ["Hospital"] = Vector3.new(-290, 4, 170), ["Daycare"] = Vector3.new(220, 4, -130), ["Airport"] = Vector3.new(260, 4, -750), ["Arcade / Cinema"] = Vector3.new(-120, 4, 180), ["Spawn / Center"] = Vector3.new(0, 5, 0), ["Military Base"] = Vector3.new(180, 4, -480), ["Gas Station"] = Vector3.new(-190, 4, 290), ["School"] = Vector3.new(-330, 4, -200), ["Cemetery"] = Vector3.new(80, 4, 310), ["Secret Bunker"] = Vector3.new(70, -30, -110), ["Fire Station"] = Vector3.new(-150, 4, -80) } for name, pos in pairs(locations) do teleportsPage:AddButton("TP to " .. name, function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(pos) end end) end local clickTpConnection = nil teleportsPage:AddToggle("Click TP (Ctrl + Click)", false, true, function(state) if state then clickTpConnection = AddConnection(UserInputService.InputBegan:Connect(function(input, gameProcessed) if not gameProcessed and (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) or UserInputService:IsKeyDown(Enum.KeyCode.RightControl) then if Mouse and Mouse.Hit and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = CFrame.new(Mouse.Hit.Position + Vector3.new(0, 3, 0)) end end end end)) else if clickTpConnection then clickTpConnection:Disconnect() end end end) automationPage:AddButton("FPS Booster", function() for _, v in ipairs(Workspace:GetDescendants()) do if v:IsA("BasePart") then v.Material = Enum.Material.SmoothPlastic elseif v:IsA("Decal") or v:IsA("Texture") then v:Destroy() elseif v:IsA("ParticleEmitter") or v:IsA("Smoke") or v:IsA("Fire") then v.Enabled = false end end Lighting.GlobalShadows = false end) automationPage:AddButton("Remove Blur & Effects", function() for _, v in ipairs(Lighting:GetChildren()) do if v:IsA("BlurEffect") or v:IsA("SunRaysEffect") or v:IsA("Atmosphere") or v:IsA("DepthOfFieldEffect") then if v.Name ~= "ThoriumUIBlur" then v:Destroy() end end end Lighting.FogEnd = 9e9 end) local autoRobSafesLoop = nil automationPage:AddToggle("Auto Rob All Safes (Loop)", false, true, function(state) if state then autoRobSafesLoop = task.spawn(function() while true do for _, obj in ipairs(Workspace:GetDescendants()) do if obj.Name == "Safe" and obj:IsA("BasePart") then if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then LocalPlayer.Character.HumanoidRootPart.CFrame = obj.CFrame * CFrame.new(0, 0, 3) task.wait(1.5) end end end task.wait(6) end end) table.insert(activeLoops, autoRobSafesLoop) else if autoRobSafesLoop then task.cancel(autoRobSafesLoop) end end end) local xrayEnabled = false automationPage:AddToggle("Wall X-Ray", false, function(state) xrayEnabled = state for _, part in ipairs(Workspace:GetDescendants()) do if part:IsA("BasePart") and not part.Parent:FindFirstChild("Humanoid") then part.LocalTransparencyModifier = xrayEnabled and 0.5 or 0 end end end) local autoRejoinConn = nil automationPage:AddToggle("Auto Rejoin on Error", false, function(state) if state then autoRejoinConn = AddConnection(game:GetService("CoreGui").RobloxPromptGui.promptOverlay.ChildAdded:Connect(function(child) if child.Name == "ErrorPrompt" then TeleportService:Teleport(game.PlaceId, LocalPlayer) end end)) else if autoRejoinConn then autoRejoinConn:Disconnect() end end end) miscPage:AddToggle("Trusted Mode", false, function(state) UpdateModeStatus(state) end) miscPage:AddButton("Unload ThoriumLib", function() getgenv().ThoriumLib_Loaded = nil for _, conn in ipairs(activeConnections) do if conn then pcall(function() conn:Disconnect() end) end end activeConnections = {} for _, loop in ipairs(activeLoops) do if loop then pcall(function() task.cancel(loop) end) end end activeLoops = {} pcall(function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChildOfClass("Humanoid") then local hum = LocalPlayer.Character:FindFirstChildOfClass("Humanoid") hum.WalkSpeed = 16 hum.JumpPower = 50 hum.PlatformStand = false end Workspace.Gravity = 196.2 Lighting.Ambient = originalAmbient or Lighting.Ambient Lighting.FogEnd = origFogEnd or Lighting.FogEnd Workspace.CurrentCamera.FieldOfView = 70 end) if UIBlur then UIBlur:Destroy() end if ScreenGui then ScreenGui:Destroy() end warn("[ThoriumLib] Успешно выгружен из игры.") end) local autoClickerLoop = nil miscPage:AddToggle("Auto Clicker", false, function(state) if state then autoClickerLoop = task.spawn(function() while true do mouse1click() task.wait(0.02) end end) table.insert(activeLoops, autoClickerLoop) else if autoClickerLoop then task.cancel(autoClickerLoop) end end end) local antiAfkConnection = nil miscPage:AddToggle("Anti-AFK Disconnect", false, function(state) if state then antiAfkConnection = AddConnection(LocalPlayer.Idled:Connect(function() VirtualUser:Button2Down(Vector2.new(0,0), Workspace.CurrentCamera.CFrame) task.wait(1) VirtualUser:Button2Up(Vector2.new(0,0), Workspace.CurrentCamera.CFrame) end)) else if antiAfkConnection then antiAfkConnection:Disconnect() end end end) miscPage:AddSlider("Camera FOV", 70, 120, 70, function(val) Workspace.CurrentCamera.FieldOfView = val end) miscPage:AddButton("Copy Job ID to Clipboard", function() if setclipboard then setclipboard(tostring(game.JobId)) end end) miscPage:AddButton("Rejoin Same Server", function() TeleportService:TeleportToPlaceInstance(game.PlaceId, game.JobId, LocalPlayer) end) miscPage:AddButton("Server Hop", function() local api = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/servers/Public?sortOrder=Asc&limit=100" local success, result = pcall(function() return HttpService:JSONDecode(game:HttpGet(api)) end) if success and result and result.data then for _, server in ipairs(result.data) do if server.playing < server.maxPlayers and server.id ~= game.JobId then TeleportService:TeleportToPlaceInstance(game.PlaceId, server.id, LocalPlayer) break end end end end) miscPage:AddButton("Reset / Suicide Character", function() if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.Health = 0 end end) miscPage:AddSlider("UI Transparency", 20, 80, 25, function(val) local alpha = val / 100 MainFrame.BackgroundTransparency = alpha Sidebar.BackgroundTransparency = alpha + 0.15 end) miscPage:AddButton("Reset Window Position", function() MainFrame.Position = UDim2.new(0.5, -370, 0.5, -230) end) local keybindBtnObj keybindBtnObj = miscPage:AddButton("Keybind: [" .. toggleKey.Name .. "] (Click to change)", function(btnRef) isListeningForKey = true btnRef.Text = "Press ANY key on keyboard..." task.spawn(function() while isListeningForKey do task.wait(0.1) end btnRef.Text = "Keybind: [" .. toggleKey.Name .. "] (Click to change)" end) end)