-- Galaxity-Hub Premium Script v5.0 -- Created by Colin local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local TweenService = game:GetService("TweenService") local CoreGui = game:GetService("CoreGui") local Lighting = game:GetService("Lighting") -- Safe wait function local function safeWait(time) if time then for _=1, time*20 do task.wait(0.05) end else task.wait() end end -- Improved Loading Screen with smooth appearance local LoadingScreen = Instance.new("ScreenGui") LoadingScreen.Name = "GalaxityLoading" LoadingScreen.Parent = PlayerGui LoadingScreen.DisplayOrder = 999 local LoadingBackground = Instance.new("Frame") LoadingBackground.Size = UDim2.new(0, 400, 0, 120) LoadingBackground.Position = UDim2.new(0.5, -200, 0.8, -60) LoadingBackground.BackgroundColor3 = Color3.fromRGB(25, 12, 50) LoadingBackground.BorderSizePixel = 0 LoadingBackground.BackgroundTransparency = 1 -- Start transparent LoadingBackground.Parent = LoadingScreen local LoadingCorner = Instance.new("UICorner") LoadingCorner.CornerRadius = UDim.new(0, 15) LoadingCorner.Parent = LoadingBackground local LoadingStroke = Instance.new("UIStroke") LoadingStroke.Color = Color3.fromRGB(120, 60, 200) LoadingStroke.Thickness = 3 LoadingStroke.Parent = LoadingBackground local LoadingGradient = Instance.new("UIGradient") LoadingGradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 18, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(25, 12, 50)) }) LoadingGradient.Rotation = 45 LoadingGradient.Parent = LoadingBackground local LoadingLabel = Instance.new("TextLabel") LoadingLabel.Size = UDim2.new(1, -40, 0, 30) LoadingLabel.Position = UDim2.new(0, 20, 0, 15) LoadingLabel.BackgroundTransparency = 1 LoadingLabel.Text = "Loading" LoadingLabel.TextColor3 = Color3.fromRGB(220, 180, 255) LoadingLabel.TextSize = 20 LoadingLabel.Font = Enum.Font.SourceSansBold LoadingLabel.Parent = LoadingBackground -- Improved dots animation (slower) local dotsAnimation local function startDotsAnimation() local dots = {"", ".", "..", "..."} local current = 1 local lastUpdate = tick() dotsAnimation = RunService.Heartbeat:Connect(function() if tick() - lastUpdate > 0.5 then -- Slower animation current = (current % 4) + 1 LoadingLabel.Text = "Loading" .. dots[current] lastUpdate = tick() end end) end local LoadingBarBackground = Instance.new("Frame") LoadingBarBackground.Size = UDim2.new(1, -40, 0, 20) LoadingBarBackground.Position = UDim2.new(0, 20, 0, 60) LoadingBarBackground.BackgroundColor3 = Color3.fromRGB(40, 20, 80) LoadingBarBackground.BorderSizePixel = 0 LoadingBarBackground.Parent = LoadingBackground local LoadingBarCorner = Instance.new("UICorner") LoadingBarCorner.CornerRadius = UDim.new(0, 10) LoadingBarCorner.Parent = LoadingBarBackground local LoadingBar = Instance.new("Frame") LoadingBar.Size = UDim2.new(0, 0, 1, 0) LoadingBar.Position = UDim2.new(0, 0, 0, 0) LoadingBar.BackgroundColor3 = Color3.fromRGB(120, 60, 200) LoadingBar.BorderSizePixel = 0 LoadingBar.Parent = LoadingBarBackground local LoadingBarInnerCorner = Instance.new("UICorner") LoadingBarInnerCorner.CornerRadius = UDim.new(0, 10) LoadingBarInnerCorner.Parent = LoadingBar local LoadingPercent = Instance.new("TextLabel") LoadingPercent.Size = UDim2.new(1, -40, 0, 20) LoadingPercent.Position = UDim2.new(0, 20, 0, 85) LoadingPercent.BackgroundTransparency = 1 LoadingPercent.Text = "0%" LoadingPercent.TextColor3 = Color3.fromRGB(220, 180, 255) LoadingPercent.TextSize = 16 LoadingPercent.Font = Enum.Font.SourceSansBold LoadingPercent.Parent = LoadingBackground -- Smooth loading appearance local function startLoadingAnimation() -- Fade in loading screen local fadeIn = TweenService:Create(LoadingBackground, TweenInfo.new(0.8), {BackgroundTransparency = 0}) fadeIn:Play() startDotsAnimation() local loadProgress = 0 local loadStartTime = tick() local function updateLoading() local elapsed = tick() - loadStartTime loadProgress = math.min(100, (elapsed / 2.5) * 100) -- 2.5 seconds total -- Synchronize bar and percentage LoadingBar.Size = UDim2.new(loadProgress / 100, 0, 1, 0) LoadingPercent.Text = math.floor(loadProgress) .. "%" if loadProgress >= 100 then if dotsAnimation then dotsAnimation:Disconnect() end -- Fade out loading screen local fadeOut = TweenService:Create(LoadingBackground, TweenInfo.new(0.5), {BackgroundTransparency = 1}) fadeOut:Play() fadeOut.Completed:Wait() LoadingScreen:Destroy() loadMainGUI() return false end return true end -- Start loading loop local loadingConnection loadingConnection = RunService.Heartbeat:Connect(function() if not updateLoading() then loadingConnection:Disconnect() end end) end -- Start loading animation startLoadingAnimation() function loadMainGUI() -- Main GUI local ScreenGui = Instance.new("ScreenGui") ScreenGui.Name = "GalaxityHub" ScreenGui.Parent = PlayerGui ScreenGui.DisplayOrder = 999 -- Mobile open/close button (outside menu) local MobileToggleButton = Instance.new("TextButton") MobileToggleButton.Size = UDim2.new(0, 70, 0, 70) MobileToggleButton.Position = UDim2.new(0, 20, 0.5, -35) MobileToggleButton.BackgroundColor3 = Color3.fromRGB(80, 40, 150) MobileToggleButton.BorderSizePixel = 0 MobileToggleButton.Text = "GXH" MobileToggleButton.TextColor3 = Color3.fromRGB(255, 255, 255) MobileToggleButton.TextSize = 18 MobileToggleButton.Font = Enum.Font.SourceSansBold MobileToggleButton.Visible = false MobileToggleButton.Parent = ScreenGui local MobileToggleCorner = Instance.new("UICorner") MobileToggleCorner.CornerRadius = UDim.new(0, 15) MobileToggleCorner.Parent = MobileToggleButton local MobileToggleStroke = Instance.new("UIStroke") MobileToggleStroke.Color = Color3.fromRGB(120, 60, 200) MobileToggleStroke.Thickness = 3 MobileToggleStroke.Parent = MobileToggleButton -- Check if mobile if UserInputService.TouchEnabled then MobileToggleButton.Visible = true end -- Main Frame (start transparent for smooth appearance) local MainFrame = Instance.new("Frame") MainFrame.Size = UDim2.new(0, 500, 0, 450) MainFrame.Position = UDim2.new(0.5, -250, 0.5, -225) MainFrame.BackgroundColor3 = Color3.fromRGB(25, 12, 50) MainFrame.BorderSizePixel = 0 MainFrame.ClipsDescendants = true MainFrame.BackgroundTransparency = 1 -- Start transparent MainFrame.Parent = ScreenGui -- Make frame draggable and resizable local dragging = false local dragInput local dragStart local startPos local resizing = false local resizeStart local startSize local function update(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 local function updateResize(input) local delta = input.Position - resizeStart local newSize = UDim2.new(0, math.max(400, startSize.X.Offset + delta.X), 0, math.max(300, startSize.Y.Offset + delta.Y)) MainFrame.Size = newSize end MainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then if input.Position.X > MainFrame.AbsolutePosition.X + MainFrame.AbsoluteSize.X - 20 and input.Position.Y > MainFrame.AbsolutePosition.Y + MainFrame.AbsoluteSize.Y - 20 then -- Start resizing from bottom-right corner resizing = true resizeStart = input.Position startSize = MainFrame.Size input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then resizing = false end end) else -- Start dragging 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 end) MainFrame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if input == dragInput and dragging then update(input) elseif input == dragInput and resizing then updateResize(input) end end) -- Visual elements local UICorner = Instance.new("UICorner") UICorner.CornerRadius = UDim.new(0, 15) UICorner.Parent = MainFrame local UIStroke = Instance.new("UIStroke") UIStroke.Color = Color3.fromRGB(120, 60, 200) UIStroke.Thickness = 3 UIStroke.Parent = MainFrame local Gradient = Instance.new("UIGradient") Gradient.Color = ColorSequence.new({ ColorSequenceKeypoint.new(0, Color3.fromRGB(35, 18, 70)), ColorSequenceKeypoint.new(1, Color3.fromRGB(25, 12, 50)) }) Gradient.Rotation = 45 Gradient.Parent = MainFrame -- Title Bar local TitleBar = Instance.new("Frame") TitleBar.Size = UDim2.new(1, 0, 0, 45) TitleBar.Position = UDim2.new(0, 0, 0, 0) TitleBar.BackgroundColor3 = Color3.fromRGB(50, 25, 100) TitleBar.BorderSizePixel = 0 TitleBar.Parent = MainFrame local TitleBarCorner = Instance.new("UICorner") TitleBarCorner.CornerRadius = UDim.new(0, 15) TitleBarCorner.Parent = TitleBar local TitleLabel = Instance.new("TextLabel") TitleLabel.Size = UDim2.new(1, -100, 1, 0) TitleLabel.Position = UDim2.new(0, 20, 0, 0) TitleLabel.BackgroundTransparency = 1 TitleLabel.Text = "Galaxity-Hub v5.0" TitleLabel.TextColor3 = Color3.fromRGB(220, 180, 255) TitleLabel.TextSize = 22 TitleLabel.Font = Enum.Font.SourceSansBold TitleLabel.TextXAlignment = Enum.TextXAlignment.Left TitleLabel.Parent = TitleBar -- Tabs Frame local TabsFrame = Instance.new("Frame") TabsFrame.Size = UDim2.new(1, -20, 0, 40) TabsFrame.Position = UDim2.new(0, 10, 0, 50) TabsFrame.BackgroundColor3 = Color3.fromRGB(40, 20, 80) TabsFrame.BorderSizePixel = 0 TabsFrame.Parent = MainFrame local TabsCorner = Instance.new("UICorner") TabsCorner.CornerRadius = UDim.new(0, 10) TabsCorner.Parent = TabsFrame -- Content Frame local ContentFrame = Instance.new("Frame") ContentFrame.Size = UDim2.new(1, -20, 1, -100) ContentFrame.Position = UDim2.new(0, 10, 0, 95) ContentFrame.BackgroundColor3 = Color3.fromRGB(35, 18, 70) ContentFrame.BorderSizePixel = 0 ContentFrame.Parent = MainFrame local ContentCorner = Instance.new("UICorner") ContentCorner.CornerRadius = UDim.new(0, 10) ContentCorner.Parent = ContentFrame -- Tabs local Tabs = {"Player", "Visual", "Info"} local TabButtons = {} local CurrentTab = "Player" -- UI Creation Functions local function createButton(parent, text, position, size) local button = Instance.new("TextButton") button.Size = size or UDim2.new(0, 120, 0, 35) button.Position = position button.BackgroundColor3 = Color3.fromRGB(80, 40, 150) button.BorderSizePixel = 0 button.Text = text button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextSize = 14 button.Font = Enum.Font.SourceSansBold button.Parent = parent local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = button local stroke = Instance.new("UIStroke") stroke.Color = Color3.fromRGB(120, 60, 200) stroke.Thickness = 1 stroke.Parent = button return button end local function createToggle(parent, text, position, callback) local toggleFrame = Instance.new("Frame") toggleFrame.Size = UDim2.new(1, -20, 0, 30) toggleFrame.Position = position toggleFrame.BackgroundTransparency = 1 toggleFrame.Parent = parent local toggleLabel = Instance.new("TextLabel") toggleLabel.Size = UDim2.new(0.7, 0, 1, 0) toggleLabel.Position = UDim2.new(0, 0, 0, 0) toggleLabel.BackgroundTransparency = 1 toggleLabel.Text = text toggleLabel.TextColor3 = Color3.fromRGB(220, 180, 255) toggleLabel.TextSize = 14 toggleLabel.TextXAlignment = Enum.TextXAlignment.Left toggleLabel.Font = Enum.Font.SourceSans toggleLabel.Parent = toggleFrame local toggleButton = Instance.new("TextButton") toggleButton.Size = UDim2.new(0, 50, 0, 25) toggleButton.Position = UDim2.new(1, -50, 0.5, -12.5) toggleButton.BackgroundColor3 = Color3.fromRGB(60, 30, 100) toggleButton.BorderSizePixel = 0 toggleButton.Text = "" toggleButton.Parent = toggleFrame local toggleCorner = Instance.new("UICorner") toggleCorner.CornerRadius = UDim.new(0, 12) toggleCorner.Parent = toggleButton local toggleDot = Instance.new("Frame") toggleDot.Size = UDim2.new(0, 21, 0, 21) toggleDot.Position = UDim2.new(0, 2, 0.5, -10.5) toggleDot.BackgroundColor3 = Color3.fromRGB(120, 60, 200) toggleDot.BorderSizePixel = 0 toggleDot.Parent = toggleButton local dotCorner = Instance.new("UICorner") dotCorner.CornerRadius = UDim.new(0, 10) dotCorner.Parent = toggleDot local isToggled = false local function updateToggle() if isToggled then local tween = TweenService:Create(toggleDot, TweenInfo.new(0.2), {Position = UDim2.new(1, -23, 0.5, -10.5)}) tween:Play() toggleButton.BackgroundColor3 = Color3.fromRGB(80, 40, 150) else local tween = TweenService:Create(toggleDot, TweenInfo.new(0.2), {Position = UDim2.new(0, 2, 0.5, -10.5)}) tween:Play() toggleButton.BackgroundColor3 = Color3.fromRGB(60, 30, 100) end if callback then callback(isToggled) end end toggleButton.MouseButton1Click:Connect(function() isToggled = not isToggled updateToggle() end) return { Set = function(value) isToggled = value updateToggle() end, Get = function() return isToggled end } end local function createSlider(parent, text, position, min, max, default, callback) local sliderFrame = Instance.new("Frame") sliderFrame.Size = UDim2.new(1, -20, 0, 60) sliderFrame.Position = position sliderFrame.BackgroundTransparency = 1 sliderFrame.Parent = parent local sliderLabel = Instance.new("TextLabel") sliderLabel.Size = UDim2.new(1, 0, 0, 20) sliderLabel.Position = UDim2.new(0, 0, 0, 0) sliderLabel.BackgroundTransparency = 1 sliderLabel.Text = text .. ": " .. tostring(default) sliderLabel.TextColor3 = Color3.fromRGB(220, 180, 255) sliderLabel.TextSize = 14 sliderLabel.TextXAlignment = Enum.TextXAlignment.Left sliderLabel.Font = Enum.Font.SourceSans sliderLabel.Name = text .. "Label" sliderLabel.Parent = sliderFrame local sliderBackground = Instance.new("Frame") sliderBackground.Size = UDim2.new(1, 0, 0, 20) sliderBackground.Position = UDim2.new(0, 0, 0, 30) sliderBackground.BackgroundColor3 = Color3.fromRGB(50, 25, 90) sliderBackground.BorderSizePixel = 0 sliderBackground.Parent = sliderFrame local backgroundCorner = Instance.new("UICorner") backgroundCorner.CornerRadius = UDim.new(0, 10) backgroundCorner.Parent = sliderBackground local sliderFill = Instance.new("Frame") sliderFill.Size = UDim2.new((default - min) / (max - min), 0, 1, 0) sliderFill.Position = UDim2.new(0, 0, 0, 0) sliderFill.BackgroundColor3 = Color3.fromRGB(120, 60, 200) sliderFill.BorderSizePixel = 0 sliderFill.Parent = sliderBackground local fillCorner = Instance.new("UICorner") fillCorner.CornerRadius = UDim.new(0, 10) fillCorner.Parent = sliderFill local sliderButton = Instance.new("TextButton") sliderButton.Size = UDim2.new(1, 0, 1, 0) sliderButton.Position = UDim2.new(0, 0, 0, 0) sliderButton.BackgroundTransparency = 1 sliderButton.Text = "" sliderButton.Parent = sliderBackground local isSliding = false local function updateValue(value) value = math.clamp(value, min, max) local tweenInfo = TweenInfo.new(0.1) local tween = TweenService:Create(sliderFill, tweenInfo, {Size = UDim2.new((value - min) / (max - min), 0, 1, 0)}) tween:Play() sliderLabel.Text = text .. ": " .. tostring(math.floor(value)) if callback then callback(value) end end sliderButton.MouseButton1Down:Connect(function() isSliding = true end) UserInputService.InputEnded:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then isSliding = false end end) game:GetService("UserInputService").InputChanged:Connect(function(input) if isSliding and input.UserInputType == Enum.UserInputType.MouseMovement then local mousePos = UserInputService:GetMouseLocation() local sliderPos = sliderBackground.AbsolutePosition local sliderSize = sliderBackground.AbsoluteSize local x = math.clamp(mousePos.X - sliderPos.X, 0, sliderSize.X) local value = min + (x / sliderSize.X) * (max - min) updateValue(value) end end) updateValue(default) return { Set = updateValue, Get = function() return tonumber(string.match(sliderLabel.Text, "%d+")) end } end -- Tab Management local function showTab(tabName) CurrentTab = tabName for _, child in ipairs(ContentFrame:GetChildren()) do if child:IsA("Frame") then child.Visible = false end end local tabContent = ContentFrame:FindFirstChild(tabName) if tabContent then tabContent.Visible = true end for _, button in pairs(TabButtons) do if button.Name == tabName then button.BackgroundColor3 = Color3.fromRGB(100, 50, 180) else button.BackgroundColor3 = Color3.fromRGB(60, 30, 110) end end end -- Create tabs for i, tabName in ipairs(Tabs) do local TabButton = Instance.new("TextButton") TabButton.Size = UDim2.new(0.33, -5, 1, 0) TabButton.Position = UDim2.new(0.33 * (i - 1), 0, 0, 0) TabButton.BackgroundColor3 = Color3.fromRGB(60, 30, 110) TabButton.BorderSizePixel = 0 TabButton.Text = tabName TabButton.TextColor3 = Color3.fromRGB(220, 180, 255) TabButton.TextSize = 14 TabButton.Font = Enum.Font.SourceSansBold TabButton.Name = tabName TabButton.Parent = TabsFrame local TabCorner = Instance.new("UICorner") TabCorner.CornerRadius = UDim.new(0, 8) TabCorner.Parent = TabButton TabButton.MouseButton1Click:Connect(function() showTab(tabName) end) TabButtons[tabName] = TabButton end -- Player Tab local PlayerTab = Instance.new("Frame") PlayerTab.Size = UDim2.new(1, 0, 1, 0) PlayerTab.Position = UDim2.new(0, 0, 0, 0) PlayerTab.BackgroundTransparency = 1 PlayerTab.Visible = true PlayerTab.Name = "Player" PlayerTab.Parent = ContentFrame local PlayerScroll = Instance.new("ScrollingFrame") PlayerScroll.Size = UDim2.new(1, 0, 1, 0) PlayerScroll.Position = UDim2.new(0, 0, 0, 0) PlayerScroll.BackgroundTransparency = 1 PlayerScroll.BorderSizePixel = 0 PlayerScroll.ScrollBarThickness = 6 PlayerScroll.ScrollBarImageColor3 = Color3.fromRGB(120, 60, 200) PlayerScroll.Parent = PlayerTab local PlayerLayout = Instance.new("UIListLayout") PlayerLayout.Padding = UDim.new(0, 15) PlayerLayout.Parent = PlayerScroll -- Player features local speedEnabled = false local speedToggle = createToggle(PlayerScroll, "Speed", UDim2.new(0, 0, 0, 10), function(enabled) speedEnabled = enabled if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = enabled and speedSlider.Get() or 16 end end) local speedSlider = createSlider(PlayerScroll, "Speed Value", UDim2.new(0, 0, 0, 50), 16, 100, 16, function(value) if speedEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = value end end) local jumpEnabled = false local jumpToggle = createToggle(PlayerScroll, "Jump Height", UDim2.new(0, 0, 0, 130), function(enabled) jumpEnabled = enabled if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.JumpPower = enabled and jumpSlider.Get() or 50 end end) local jumpSlider = createSlider(PlayerScroll, "Jump Value", UDim2.new(0, 0, 0, 170), 50, 200, 50, function(value) if jumpEnabled and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.JumpPower = value end end) -- Fixed Tp-Walk with proper anti-cheat bypass local tpWalkEnabled = false local tpWalkConnection local lastTpTime = 0 local tpWalkToggle = createToggle(PlayerScroll, "TpWalk", UDim2.new(0, 0, 0, 250), function(enabled) tpWalkEnabled = enabled if enabled then tpWalkConnection = RunService.Heartbeat:Connect(function() local currentTime = tick() if currentTime - lastTpTime < 0.05 then return end -- Limit to 20 teleports per second if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and LocalPlayer.Character:FindFirstChild("Humanoid") then local humanoid = LocalPlayer.Character.Humanoid local rootPart = LocalPlayer.Character.HumanoidRootPart -- Check if player is moving and on ground if humanoid.MoveDirection.Magnitude > 0 and humanoid.FloorMaterial ~= Enum.Material.Air then local moveDirection = humanoid.MoveDirection local speed = tpWalkSlider.Get() -- Calculate small teleport distance (bypasses anti-cheat) local teleportDistance = speed * 0.02 -- Very small distance per teleport -- Teleport player in small increments local newPosition = rootPart.Position + (moveDirection * teleportDistance) rootPart.CFrame = CFrame.new(newPosition) lastTpTime = currentTime end end end) else if tpWalkConnection then tpWalkConnection:Disconnect() tpWalkConnection = nil end end end) local tpWalkSlider = createSlider(PlayerScroll, "TpWalk Speed", UDim2.new(0, 0, 0, 290), 10, 200, 50, function(value) -- Used in tpWalk connection end) -- Noclip moved to Player tab local noclipEnabled = false local noclipToggle = createToggle(PlayerScroll, "Noclip", UDim2.new(0, 0, 0, 370), function(enabled) noclipEnabled = enabled end) -- Noclip functionality RunService.Stepped:Connect(function() if noclipEnabled and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) -- Visual Tab local VisualTab = Instance.new("Frame") VisualTab.Size = UDim2.new(1, 0, 1, 0) VisualTab.Position = UDim2.new(0, 0, 0, 0) VisualTab.BackgroundTransparency = 1 VisualTab.Visible = false VisualTab.Name = "Visual" VisualTab.Parent = ContentFrame local VisualScroll = Instance.new("ScrollingFrame") VisualScroll.Size = UDim2.new(1, 0, 1, 0) VisualScroll.Position = UDim2.new(0, 0, 0, 0) VisualScroll.BackgroundTransparency = 1 VisualScroll.BorderSizePixel = 0 VisualScroll.ScrollBarThickness = 6 VisualScroll.ScrollBarImageColor3 = Color3.fromRGB(120, 60, 200) VisualScroll.Parent = VisualTab local VisualLayout = Instance.new("UIListLayout") VisualLayout.Padding = UDim.new(0, 15) VisualLayout.Parent = VisualScroll -- Fixed ESP System with purple colors local espFunctions = { ESP = {active = false, data = {}} } -- Enhanced ESP with purple colors and reliable toggling local function updateESP() -- Cleanup first for _, data in pairs(espFunctions.ESP.data) do if data.highlight then pcall(function() data.highlight:Destroy() end) end if data.tag then pcall(function() data.tag:Destroy() end) end if data.connection then pcall(function() data.connection:Disconnect() end) end if data.colorAnim then pcall(function() data.colorAnim:Disconnect() end) end end espFunctions.ESP.data = {} if not espFunctions.ESP.active then return end for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then coroutine.wrap(function() local character = player.Character if not character then player.CharacterAdded:Wait() character = player.Character safeWait(1) end local humanoid = character:FindFirstChildOfClass("Humanoid") if not humanoid then return end local highlight = Instance.new("Highlight") highlight.Parent = character highlight.DepthMode = Enum.HighlightDepthMode.AlwaysOnTop highlight.FillTransparency = 0.4 highlight.OutlineTransparency = 0.1 -- Purple colors for ESP highlight.FillColor = Color3.fromRGB(120, 60, 200) -- Main purple highlight.OutlineColor = Color3.fromRGB(60, 30, 100) -- Dark purple outline -- Tag setup with darker colors local tag = Instance.new("BillboardGui") tag.Parent = character:FindFirstChild("Head") or character:WaitForChild("Head", 2) if not tag.Parent then return end tag.Size = UDim2.new(4, 0, 1.5, 0) tag.StudsOffset = Vector3.new(0, 3.5, 0) tag.AlwaysOnTop = true tag.Enabled = true local label = Instance.new("TextLabel") label.Parent = tag label.Size = UDim2.new(1, 0, 1, 0) label.Text = player.DisplayName.." | "..player.Name.." | 0m" label.TextColor3 = Color3.fromRGB(180, 140, 220) -- Darker purple for text label.BackgroundTransparency = 1 label.Font = Enum.Font.SourceSansBold label.TextSize = 14 label.TextStrokeColor3 = Color3.fromRGB(40, 20, 80) -- Very dark purple stroke label.TextStrokeTransparency = 0.3 local connection = RunService.Heartbeat:Connect(function() if not character or not character.Parent then connection:Disconnect() return end if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") and character:FindFirstChild("HumanoidRootPart") then local distance = math.floor((LocalPlayer.Character.HumanoidRootPart.Position - character.HumanoidRootPart.Position).Magnitude) label.Text = player.DisplayName.." | "..player.Name.." | "..distance.."m" end end) espFunctions.ESP.data[player] = { highlight = highlight, tag = tag, connection = connection } end)() end end end -- ESP Toggle with reliable cleanup local espToggle = createToggle(VisualScroll, "ESP", UDim2.new(0, 0, 0, 10), function(enabled) espFunctions.ESP.active = enabled if not enabled then -- Immediate cleanup when turning off for _, data in pairs(espFunctions.ESP.data) do if data.highlight then pcall(function() data.highlight:Destroy() end) end if data.tag then pcall(function() data.tag:Destroy() end) end if data.connection then pcall(function() data.connection:Disconnect() end) end end espFunctions.ESP.data = {} else updateESP() end end) -- Sky Changer local skyChangerEnabled = false local originalSky local skyChangerToggle = createToggle(VisualScroll, "Sky Changer", UDim2.new(0, 0, 0, 60), function(enabled) skyChangerEnabled = enabled if enabled then -- Save original sky originalSky = Lighting:FindFirstChildOfClass("Sky") -- Create beautiful purple sky local newSky = Instance.new("Sky") newSky.SkyboxBk = "http://www.roblox.com/asset/?id=271042516" -- Purple gradient newSky.SkyboxDn = "http://www.roblox.com/asset/?id=271042556" newSky.SkyboxFt = "http://www.roblox.com/asset/?id=271042516" newSky.SkyboxLf = "http://www.roblox.com/asset/?id=271042556" newSky.SkyboxRt = "http://www.roblox.com/asset/?id=271042516" newSky.SkyboxUp = "http://www.roblox.com/asset/?id=271042579" newSky.Name = "GalaxitySky" newSky.Parent = Lighting -- Add stars Lighting.StarCount = 5000 -- Animate sky colors local pulseValue = 0 local skyAnimation = RunService.Heartbeat:Connect(function() if not skyChangerEnabled then skyAnimation:Disconnect() return end pulseValue = (pulseValue + 0.01) % 1 local colorValue = 0.7 + (math.sin(pulseValue * math.pi) * 0.3) Lighting.Ambient = Color3.fromRGB(80 * colorValue, 40 * colorValue, 160 * colorValue) Lighting.OutdoorAmbient = Color3.fromRGB(60 * colorValue, 30 * colorValue, 120 * colorValue) end) else -- Restore original sky if originalSky then local currentSky = Lighting:FindFirstChild("GalaxitySky") if currentSky then currentSky:Destroy() end Lighting.StarCount = 3000 Lighting.Ambient = Color3.fromRGB(127, 127, 127) Lighting.OutdoorAmbient = Color3.fromRGB(127, 127, 127) end end end) -- Redux (Graphics Enhancer) local reduxEnabled = false local reduxToggle = createToggle(VisualScroll, "Redux Graphics", UDim2.new(0, 0, 0, 110), function(enabled) reduxEnabled = enabled if enabled then -- Enhance graphics with purple theme Lighting.Brightness = 2 Lighting.GlobalShadows = true Lighting.FogColor = Color3.fromRGB(40, 20, 80) Lighting.FogEnd = 1000 Lighting.ColorShift_Bottom = Color3.fromRGB(60, 30, 100) Lighting.ColorShift_Top = Color3.fromRGB(120, 60, 200) -- Add bloom effect local bloom = Instance.new("BloomEffect") bloom.Intensity = 0.4 bloom.Size = 24 bloom.Threshold = 0.9 bloom.Name = "GalaxityBloom" bloom.Parent = Lighting -- Add color correction local colorCorrection = Instance.new("ColorCorrectionEffect") colorCorrection.Brightness = 0.1 colorCorrection.Contrast = 0.2 colorCorrection.Saturation = 0.3 colorCorrection.TintColor = Color3.fromRGB(255, 240, 255) colorCorrection.Name = "GalaxityColorCorrection" colorCorrection.Parent = Lighting else -- Restore original graphics Lighting.Brightness = 1 Lighting.GlobalShadows = false Lighting.FogColor = Color3.fromRGB(191, 191, 191) Lighting.FogEnd = 100000 Lighting.ColorShift_Bottom = Color3.fromRGB(0, 0, 0) Lighting.ColorShift_Top = Color3.fromRGB(0, 0, 0) local bloom = Lighting:FindFirstChild("GalaxityBloom") if bloom then bloom:Destroy() end local colorCorrection = Lighting:FindFirstChild("GalaxityColorCorrection") if colorCorrection then colorCorrection:Destroy() end end end) -- Info Tab local InfoTab = Instance.new("Frame") InfoTab.Size = UDim2.new(1, 0, 1, 0) InfoTab.Position = UDim2.new(0, 0, 0, 0) InfoTab.BackgroundTransparency = 1 InfoTab.Visible = false InfoTab.Name = "Info" InfoTab.Parent = ContentFrame local InfoText = Instance.new("TextLabel") InfoText.Size = UDim2.new(1, -20, 0, 150) InfoText.Position = UDim2.new(0, 10, 0, 20) InfoText.BackgroundTransparency = 1 InfoText.Text = "Galaxity-Hub Premium v5.0\n\n• Исправленный Tp-Walk (обход анти-чита)\n• Надежная система ESP в фиолетовых тонах\n• Красивый Sky Changer с анимацией\n• Улучшенная графика Redux\n• Плавные анимации загрузки\n\nСкрипт будет дорабатываться!" InfoText.TextColor3 = Color3.fromRGB(220, 180, 255) InfoText.TextSize = 16 InfoText.TextWrapped = true InfoText.Font = Enum.Font.SourceSans InfoText.Parent = InfoTab local ExitButton = createButton(InfoTab, "Exit Script", UDim2.new(0.5, -80, 0, 190), UDim2.new(0, 160, 0, 40)) -- Menu open/close functionality local menuOpen = true local function toggleMenu() menuOpen = not menuOpen if menuOpen then local tween = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.Out), {Size = UDim2.new(0, 500, 0, 450)}) tween:Play() else local tween = TweenService:Create(MainFrame, TweenInfo.new(0.3, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Size = UDim2.new(0, 0, 0, 0)}) tween:Play() end end -- Input bindings UserInputService.InputBegan:Connect(function(input, gameProcessed) if not gameProcessed then if input.KeyCode == Enum.KeyCode.Insert then toggleMenu() end end end) MobileToggleButton.MouseButton1Click:Connect(toggleMenu) ExitButton.MouseButton1Click:Connect(function() -- Clean up everything if tpWalkConnection then tpWalkConnection:Disconnect() end -- Clean up ESP for _, data in pairs(espFunctions.ESP.data) do if data.highlight then pcall(function() data.highlight:Destroy() end) end if data.tag then pcall(function() data.tag:Destroy() end) end if data.connection then pcall(function() data.connection:Disconnect() end) end end -- Clean up visual effects if skyChangerEnabled then local currentSky = Lighting:FindFirstChild("GalaxitySky") if currentSky then currentSky:Destroy() end Lighting.StarCount = 3000 Lighting.Ambient = Color3.fromRGB(127, 127, 127) Lighting.OutdoorAmbient = Color3.fromRGB(127, 127, 127) end if reduxEnabled then Lighting.Brightness = 1 Lighting.GlobalShadows = false Lighting.FogColor = Color3.fromRGB(191, 191, 191) Lighting.FogEnd = 100000 Lighting.ColorShift_Bottom = Color3.fromRGB(0, 0, 0) Lighting.ColorShift_Top = Color3.fromRGB(0, 0, 0) local bloom = Lighting:FindFirstChild("GalaxityBloom") if bloom then bloom:Destroy() end local colorCorrection = Lighting:FindFirstChild("GalaxityColorCorrection") if colorCorrection then colorCorrection:Destroy() end end -- Reset player values if LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("Humanoid") then LocalPlayer.Character.Humanoid.WalkSpeed = 16 LocalPlayer.Character.Humanoid.JumpPower = 50 end ScreenGui:Destroy() end) -- Update scroll sizes PlayerLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() PlayerScroll.CanvasSize = UDim2.new(0, 0, 0, PlayerLayout.AbsoluteContentSize.Y + 20) end) VisualLayout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() VisualScroll.CanvasSize = UDim2.new(0, 0, 0, VisualLayout.AbsoluteContentSize.Y + 20) end) -- Character added event LocalPlayer.CharacterAdded:Connect(function(character) wait(1) if speedEnabled then character:WaitForChild("Humanoid").WalkSpeed = speedSlider.Get() end if jumpEnabled then character:WaitForChild("Humanoid").JumpPower = jumpSlider.Get() end end) -- Player handlers for ESP Players.PlayerAdded:Connect(function(player) player.CharacterAdded:Connect(function() safeWait(0.5) if espFunctions.ESP.active then updateESP() end end) end) for _, player in pairs(Players:GetPlayers()) do if player ~= LocalPlayer then player.CharacterAdded:Connect(function() safeWait(0.5) if espFunctions.ESP.active then updateESP() end end) end end -- Smooth menu appearance local menuAppear = TweenService:Create(MainFrame, TweenInfo.new(0.8), {BackgroundTransparency = 0}) menuAppear:Play() showTab("Player") end