-- Services local Players = game:GetService("Players") local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local LocalPlayer = Players.LocalPlayer local Camera = workspace.CurrentCamera -- Admin Key local ADMIN_KEY = "GhostAndAstro123" -- GUI Setup local PlayerGui = LocalPlayer:WaitForChild("PlayerGui") local ScreenGui = Instance.new("ScreenGui") ScreenGui.ResetOnSpawn = false ScreenGui.Parent = PlayerGui -- Key Entry Frame local KeyFrame = Instance.new("Frame", ScreenGui) KeyFrame.Size = UDim2.new(0, 300, 0, 150) KeyFrame.Position = UDim2.new(0.5, -150, 0.5, -75) -- Centered KeyFrame.BackgroundColor3 = Color3.fromRGB(0, 0, 0) KeyFrame.BackgroundTransparency = 0.5 KeyFrame.Active = true KeyFrame.Draggable = true local KeyLabel = Instance.new("TextLabel", KeyFrame) KeyLabel.Size = UDim2.new(1, -20, 0, 40) KeyLabel.Position = UDim2.new(0, 10, 0, 10) KeyLabel.Text = "Enter Admin Key:" KeyLabel.TextColor3 = Color3.new(1,1,1) KeyLabel.Font = Enum.Font.SourceSansBold KeyLabel.TextSize = 18 local KeyBox = Instance.new("TextBox", KeyFrame) KeyBox.Size = UDim2.new(1, -20, 0, 40) KeyBox.Position = UDim2.new(0, 10, 0, 60) KeyBox.PlaceholderText = "Type Key Here" KeyBox.ClearTextOnFocus = false KeyBox.TextColor3 = Color3.new(1,1,1) KeyBox.BackgroundColor3 = Color3.fromRGB(50,50,50) KeyBox.Font = Enum.Font.SourceSans KeyBox.TextSize = 18 local SubmitButton = Instance.new("TextButton", KeyFrame) SubmitButton.Size = UDim2.new(0, 100, 0, 35) SubmitButton.Position = UDim2.new(0.5, -50, 1, -45) SubmitButton.BackgroundColor3 = Color3.fromRGB(0,200,0) SubmitButton.TextColor3 = Color3.new(1,1,1) SubmitButton.Font = Enum.Font.SourceSansBold SubmitButton.TextSize = 18 SubmitButton.Text = "Submit" -- Function to launch admin GUI local function launchAdminGUI() KeyFrame:Destroy() local Frame = Instance.new("Frame", ScreenGui) Frame.Size = UDim2.new(0, 200, 0, 300) Frame.Position = UDim2.new(0.5, -100, 0.5, -150) Frame.BackgroundColor3 = Color3.fromRGB(0,0,0) Frame.BackgroundTransparency = 0.5 Frame.Active = true Frame.Draggable = true local guiVisible = true UserInputService.InputBegan:Connect(function(input, gpe) if gpe then return end if input.KeyCode == Enum.KeyCode.RightShift then guiVisible = not guiVisible Frame.Visible = guiVisible end end) -- Settings local settings = { fly = false, speedBoost = 16, jumpBoost = 50, noclip = false, invisible = false } -- Helper: create toggle button local function createToggle(name, y, state, callback) local btn = Instance.new("TextButton", Frame) btn.Size = UDim2.new(1, -10, 0, 25) btn.Position = UDim2.new(0, 5, 0, y) btn.BackgroundColor3 = state and Color3.fromRGB(0,200,0) or Color3.fromRGB(200,0,0) btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.SourceSansBold btn.TextSize = 18 btn.Text = name..": "..(state and "ON" or "OFF") local currentState = state btn.MouseButton1Click:Connect(function() currentState = not currentState callback(currentState) btn.Text = name..": "..(currentState and "ON" or "OFF") btn.BackgroundColor3 = currentState and Color3.fromRGB(0,200,0) or Color3.fromRGB(200,0,0) end) return btn end -- Create admin buttons local y = 5 createToggle("Fly", y, settings.fly, function(v) settings.fly = v end); y = y + 35 createToggle("NoClip", y, settings.noclip, function(v) settings.noclip = v end); y = y + 35 createToggle("Invisible", y, settings.invisible, function(v) settings.invisible = v if LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then part.Transparency = v and 1 or 0 end end end end); y = y + 35 createToggle("Speed Boost", y, false, function(v) if v then LocalPlayer.Character.Humanoid.WalkSpeed = settings.speedBoost * 2 else LocalPlayer.Character.Humanoid.WalkSpeed = settings.speedBoost end end); y = y + 35 createToggle("Jump Boost", y, false, function(v) if v then LocalPlayer.Character.Humanoid.JumpPower = settings.jumpBoost * 2 else LocalPlayer.Character.Humanoid.JumpPower = settings.jumpBoost end end); y = y + 35 createToggle("Reset Character", y, false, function(v) if v and LocalPlayer.Character then LocalPlayer.Character:BreakJoints() end end); y = y + 35 -- Fly loop RunService.RenderStepped:Connect(function() if settings.fly and LocalPlayer.Character and LocalPlayer.Character:FindFirstChild("HumanoidRootPart") then local hrp = LocalPlayer.Character.HumanoidRootPart local moveVec = Vector3.new() if UserInputService:IsKeyDown(Enum.KeyCode.W) then moveVec = moveVec + Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.S) then moveVec = moveVec - Camera.CFrame.LookVector end if UserInputService:IsKeyDown(Enum.KeyCode.A) then moveVec = moveVec - Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.D) then moveVec = moveVec + Camera.CFrame.RightVector end if UserInputService:IsKeyDown(Enum.KeyCode.Space) then moveVec = moveVec + Vector3.new(0,1,0) end if UserInputService:IsKeyDown(Enum.KeyCode.LeftShift) then moveVec = moveVec - Vector3.new(0,1,0) end if moveVec.Magnitude > 0 then moveVec = moveVec.Unit * settings.speedBoost hrp.Velocity = moveVec else hrp.Velocity = Vector3.new(0,0,0) end end end) -- NoClip loop RunService.RenderStepped:Connect(function() if settings.noclip and LocalPlayer.Character then for _, part in pairs(LocalPlayer.Character:GetDescendants()) do if part:IsA("BasePart") then pcall(function() part.CanCollide = false end) end end end end) end -- Submit button connection SubmitButton.MouseButton1Click:Connect(function() if KeyBox.Text == ADMIN_KEY then launchAdminGUI() else KeyLabel.Text = "Wrong Key! Try Again" KeyLabel.TextColor3 = Color3.fromRGB(255,0,0) end end)