-- AceHubX - Better Looking Version -- LocalScript → StarterPlayerScripts local Players = game:GetService("Players") local ReplicatedStorage = game:GetService("ReplicatedStorage") local UserInputService = game:GetService("UserInputService") local RunService = game:GetService("RunService") local StarterGui = game:GetService("StarterGui") local Lighting = game:GetService("Lighting") local player = Players.LocalPlayer local playerGui = player:WaitForChild("PlayerGui") local killEvent = ReplicatedStorage:FindFirstChild("AceHubX_Kill") -- States local selectedPlayer = nil local flying = false local noclip = false local godMode = false local infiniteJump = false local flyConnection = nil local noclipConnection = nil -- Colors local Colors = { Background = Color3.fromRGB(13, 13, 16), Sidebar = Color3.fromRGB(18, 18, 22), Card = Color3.fromRGB(27, 27, 33), CardHover = Color3.fromRGB(38, 38, 46), Red = Color3.fromRGB(220, 45, 45), RedDark = Color3.fromRGB(170, 30, 30), White = Color3.fromRGB(250, 250, 250), Gray = Color3.fromRGB(150, 150, 160), DarkGray = Color3.fromRGB(90, 90, 100) } -- Blur local blur = Instance.new("BlurEffect") blur.Size = 0 blur.Parent = Lighting -- ScreenGui local screenGui = Instance.new("ScreenGui") screenGui.Name = "AceHubX" screenGui.ResetOnSpawn = false screenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling screenGui.Parent = playerGui -- Circular AX Button local openBtn = Instance.new("TextButton") openBtn.Size = UDim2.new(0, 54, 0, 54) openBtn.Position = UDim2.new(0, 18, 0, 18) openBtn.BackgroundColor3 = Colors.Red openBtn.Text = "AX" openBtn.TextColor3 = Colors.White openBtn.Font = Enum.Font.GothamBlack openBtn.TextSize = 19 openBtn.AutoButtonColor = false openBtn.Parent = screenGui local openCorner = Instance.new("UICorner") openCorner.CornerRadius = UDim.new(1, 0) openCorner.Parent = openBtn local openStroke = Instance.new("UIStroke") openStroke.Color = Color3.fromRGB(255, 100, 100) openStroke.Thickness = 2 openStroke.Parent = openBtn -- Main Frame local main = Instance.new("Frame") main.Size = UDim2.new(0, 740, 0, 440) main.Position = UDim2.new(0.5, -370, 0.5, -220) main.BackgroundColor3 = Colors.Background main.BorderSizePixel = 0 main.Visible = false main.Parent = screenGui local mainCorner = Instance.new("UICorner") mainCorner.CornerRadius = UDim.new(0, 14) mainCorner.Parent = main local mainStroke = Instance.new("UIStroke") mainStroke.Color = Color3.fromRGB(40, 40, 50) mainStroke.Thickness = 1 mainStroke.Parent = main -- Sidebar local sidebar = Instance.new("Frame") sidebar.Size = UDim2.new(0, 190, 1, 0) sidebar.BackgroundColor3 = Colors.Sidebar sidebar.BorderSizePixel = 0 sidebar.Parent = main local sideCorner = Instance.new("UICorner") sideCorner.CornerRadius = UDim.new(0, 14) sideCorner.Parent = sidebar -- Sidebar title local sideTitle = Instance.new("TextLabel") sideTitle.Size = UDim2.new(1, -24, 0, 50) sideTitle.Position = UDim2.new(0, 18, 0, 12) sideTitle.BackgroundTransparency = 1 sideTitle.Text = "AceHubX" sideTitle.TextColor3 = Colors.White sideTitle.Font = Enum.Font.GothamBold sideTitle.TextSize = 22 sideTitle.TextXAlignment = Enum.TextXAlignment.Left sideTitle.Parent = sidebar -- Content Area local content = Instance.new("Frame") content.Size = UDim2.new(1, -210, 1, -24) content.Position = UDim2.new(0, 202, 0, 12) content.BackgroundTransparency = 1 content.Parent = main local contentTitle = Instance.new("TextLabel") contentTitle.Size = UDim2.new(1, 0, 0, 32) contentTitle.BackgroundTransparency = 1 contentTitle.Text = "Local" contentTitle.TextColor3 = Colors.White contentTitle.Font = Enum.Font.GothamBold contentTitle.TextSize = 24 contentTitle.TextXAlignment = Enum.TextXAlignment.Left contentTitle.Parent = content local contentSub = Instance.new("TextLabel") contentSub.Size = UDim2.new(1, 0, 0, 20) contentSub.Position = UDim2.new(0, 0, 0, 34) contentSub.BackgroundTransparency = 1 contentSub.Text = "Your personal controls" contentSub.TextColor3 = Colors.Gray contentSub.Font = Enum.Font.Gotham contentSub.TextSize = 14 contentSub.TextXAlignment = Enum.TextXAlignment.Left contentSub.Parent = content -- Holder local holder = Instance.new("ScrollingFrame") holder.Size = UDim2.new(1, -8, 1, -70) holder.Position = UDim2.new(0, 0, 0, 65) holder.BackgroundTransparency = 1 holder.BorderSizePixel = 0 holder.ScrollBarThickness = 4 holder.ScrollBarImageColor3 = Colors.Red holder.CanvasSize = UDim2.new(0, 0, 0, 0) holder.Parent = content local layout = Instance.new("UIListLayout") layout.Padding = UDim.new(0, 9) layout.Parent = holder layout:GetPropertyChangedSignal("AbsoluteContentSize"):Connect(function() holder.CanvasSize = UDim2.new(0, 0, 0, layout.AbsoluteContentSize.Y + 20) end) -- Helpers local function clearHolder() for _, child in pairs(holder:GetChildren()) do if child:IsA("TextButton") or child:IsA("TextBox") then child:Destroy() end end end local function createButton(text, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -6, 0, 48) btn.BackgroundColor3 = Colors.Card btn.Text = " " .. text btn.TextColor3 = Colors.White btn.Font = Enum.Font.GothamMedium btn.TextSize = 16 btn.TextXAlignment = Enum.TextXAlignment.Left btn.AutoButtonColor = false btn.Parent = holder local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = btn btn.MouseButton1Click:Connect(callback) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = Colors.CardHover end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = Colors.Card end) end local function createInput(placeholder, callback) local box = Instance.new("TextBox") box.Size = UDim2.new(1, -6, 0, 46) box.BackgroundColor3 = Colors.Card box.PlaceholderText = " " .. placeholder box.Text = "" box.TextColor3 = Colors.White box.PlaceholderColor3 = Colors.DarkGray box.Font = Enum.Font.Gotham box.TextSize = 15 box.ClearTextOnFocus = false box.Parent = holder local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = box box.FocusLost:Connect(function(enter) if enter then callback(box.Text) end end) end local function notify(msg) StarterGui:SetCore("SendNotification", { Title = "AceHubX", Text = msg, Duration = 3 }) end -- ========== LOCAL ========== local function loadLocal() contentTitle.Text = "Local" contentSub.Text = "Your personal controls" clearHolder() createInput("WalkSpeed (16 = normal)", function(val) local num = tonumber(val) if num and player.Character then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = num notify("Speed: " .. num) end end end) createInput("JumpPower (50 = normal)", function(val) local num = tonumber(val) if num and player.Character then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then hum.UseJumpPower = true hum.JumpPower = num notify("Jump: " .. num) end end end) createButton("Toggle Fly", function() flying = not flying local char = player.Character if not char then return end local hrp = char:FindFirstChild("HumanoidRootPart") local hum = char:FindFirstChildOfClass("Humanoid") if not hrp or not hum then return end if flying then hum.PlatformStand = true local bv = Instance.new("BodyVelocity") bv.MaxForce = Vector3.new(math.huge, math.huge, math.huge) bv.Parent = hrp local bg = Instance.new("BodyGyro") bg.MaxTorque = Vector3.new(math.huge, math.huge, math.huge) bg.P = 10000 bg.Parent = hrp flyConnection = RunService.RenderStepped:Connect(function() if not flying or not hrp.Parent then return end local cam = workspace.CurrentCamera local dir = Vector3.zero if UserInputService:IsKeyDown(Enum.KeyCode.W) then dir += cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then dir -= cam.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then dir -= cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then dir += cam.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then dir += Vector3.yAxis end if UserInputService:IsKeyDown(Enum.KeyCode.LeftControl) then dir -= Vector3.yAxis end bv.Velocity = dir.Magnitude > 0 and dir.Unit * 70 or Vector3.zero bg.CFrame = cam.CFrame end) notify("Fly On") else if flyConnection then flyConnection:Disconnect() end hum.PlatformStand = false for _, v in pairs(hrp:GetChildren()) do if v:IsA("BodyVelocity") or v:IsA("BodyGyro") then v:Destroy() end end notify("Fly Off") end end) createButton("Toggle Noclip", function() noclip = not noclip if noclip then noclipConnection = RunService.Stepped:Connect(function() if player.Character then for _, part in pairs(player.Character:GetDescendants()) do if part:IsA("BasePart") then part.CanCollide = false end end end end) notify("Noclip On") else if noclipConnection then noclipConnection:Disconnect() end notify("Noclip Off") end end) createButton("Toggle God Mode", function() godMode = not godMode local char = player.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then if godMode then hum.MaxHealth = math.huge hum.Health = math.huge else hum.MaxHealth = 100 hum.Health = 100 end end end notify(godMode and "God Mode On" or "God Mode Off") end) createButton("Infinite Jump", function() infiniteJump = not infiniteJump notify(infiniteJump and "Infinite Jump On" or "Infinite Jump Off") end) createButton("Respawn", function() player:LoadCharacter() end) createButton("Reset Stats", function() local char = player.Character if char then local hum = char:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 16 hum.JumpPower = 50 hum.MaxHealth = 100 hum.Health = 100 end end flying = false noclip = false godMode = false infiniteJump = false if flyConnection then flyConnection:Disconnect() end if noclipConnection then noclipConnection:Disconnect() end notify("Stats Reset") end) end -- ========== PLAYERS ========== local function loadPlayers() contentTitle.Text = "Players" contentSub.Text = "Select a player to manage" clearHolder() for _, plr in ipairs(Players:GetPlayers()) do createButton(plr.DisplayName .. " @" .. plr.Name, function() selectedPlayer = plr contentSub.Text = "Selected: " .. plr.DisplayName clearHolder() createButton("Kill Player (Punish)", function() if killEvent and selectedPlayer then killEvent:FireServer(selectedPlayer) notify("Killed " .. selectedPlayer.Name) else notify("Server Script missing!") end end) createButton("Goto Player", function() local char = player.Character local tchar = selectedPlayer.Character if char and tchar then local hrp = char:FindFirstChild("HumanoidRootPart") local thrp = tchar:FindFirstChild("HumanoidRootPart") if hrp and thrp then hrp.CFrame = thrp.CFrame * CFrame.new(0, 0, 5) notify("Went to " .. selectedPlayer.Name) end end end) createButton("Freeze", function() local tchar = selectedPlayer.Character if tchar then local hum = tchar:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 0 hum.JumpPower = 0 notify("Froze " .. selectedPlayer.Name) end end end) createButton("Unfreeze", function() local tchar = selectedPlayer.Character if tchar then local hum = tchar:FindFirstChildOfClass("Humanoid") if hum then hum.WalkSpeed = 16 hum.JumpPower = 50 notify("Unfroze " .. selectedPlayer.Name) end end end) createButton("Spectate", function() local tchar = selectedPlayer.Character if tchar then local hum = tchar:FindFirstChildOfClass("Humanoid") if hum then workspace.CurrentCamera.CameraSubject = hum notify("Spectating " .. selectedPlayer.Name) end end end) createButton("Stop Spectating", function() if player.Character then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then workspace.CurrentCamera.CameraSubject = hum end end end) createButton("← Back to Players", function() loadPlayers() end) end) end end -- ========== SERVER ========== local function loadServer() contentTitle.Text = "Server" contentSub.Text = "Server controls" clearHolder() createButton("Respawn Yourself", function() player:LoadCharacter() end) end -- Sidebar Tabs local tabs = { {Name = "Local", Func = loadLocal}, {Name = "Players", Func = loadPlayers}, {Name = "Server", Func = loadServer}, } local sideY = 75 local sideButtons = {} for _, tab in ipairs(tabs) do local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -28, 0, 44) btn.Position = UDim2.new(0, 14, 0, sideY) btn.BackgroundColor3 = Colors.Card btn.Text = " " .. tab.Name btn.TextColor3 = Colors.White btn.Font = Enum.Font.GothamMedium btn.TextSize = 16 btn.TextXAlignment = Enum.TextXAlignment.Left btn.AutoButtonColor = false btn.Parent = sidebar local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = btn btn.MouseButton1Click:Connect(function() for _, b in pairs(sideButtons) do b.BackgroundColor3 = Colors.Card end btn.BackgroundColor3 = Colors.Red tab.Func() end) table.insert(sideButtons, btn) sideY += 52 end -- Default sideButtons[1].BackgroundColor3 = Colors.Red loadLocal() -- Toggle local opened = false openBtn.MouseButton1Click:Connect(function() opened = not opened main.Visible = opened blur.Size = opened and 18 or 0 end) -- Infinite Jump UserInputService.JumpRequest:Connect(function() if infiniteJump and player.Character then local hum = player.Character:FindFirstChildOfClass("Humanoid") if hum then hum:ChangeState(Enum.HumanoidStateType.Jumping) end end end) print("AceHubX loaded")