local Players = game:GetService("Players") local LocalPlayer = Players.LocalPlayer local UserInputService = game:GetService("UserInputService") -- Admin userId list (put actual admin userIds here) local AdminUserIds = { 12345678, -- example admin 1 87654321, -- example admin 2 -- add more admins here } -- Check if admin is in game local function isAdminPresent() for _, player in pairs(Players:GetPlayers()) do if table.find(AdminUserIds, player.UserId) then return true, player.Name end end return false end -- Key system local key = "roblox" -- Wait for PlayerGui local playerGui = LocalPlayer:WaitForChild("PlayerGui") -- Create Key Input GUI local keyGui = Instance.new("ScreenGui", playerGui) keyGui.Name = "KeyGui" local keyFrame = Instance.new("Frame", keyGui) keyFrame.Size = UDim2.new(0, 300, 0, 150) keyFrame.Position = UDim2.new(0.5, -150, 0.5, -75) keyFrame.BackgroundColor3 = Color3.fromRGB(20, 20, 50) keyFrame.BorderSizePixel = 0 keyFrame.Active = true keyFrame.Draggable = true local keyLabel = Instance.new("TextLabel", keyFrame) keyLabel.Size = UDim2.new(1, 0, 0, 40) keyLabel.Position = UDim2.new(0, 0, 0, 10) keyLabel.BackgroundTransparency = 1 keyLabel.Text = "Enter Key to Access GUI" keyLabel.TextColor3 = Color3.new(1,1,1) keyLabel.Font = Enum.Font.SourceSansBold keyLabel.TextScaled = true local keyBox = Instance.new("TextBox", keyFrame) keyBox.Size = UDim2.new(0.8, 0, 0, 40) keyBox.Position = UDim2.new(0.1, 0, 0, 60) keyBox.PlaceholderText = "Key here" keyBox.TextColor3 = Color3.new(1,1,1) keyBox.BackgroundColor3 = Color3.fromRGB(40, 40, 80) keyBox.Font = Enum.Font.SourceSans keyBox.TextScaled = true local submitButton = Instance.new("TextButton", keyFrame) submitButton.Size = UDim2.new(0.6, 0, 0, 40) submitButton.Position = UDim2.new(0.2, 0, 0, 110) submitButton.BackgroundColor3 = Color3.fromRGB(70, 130, 180) submitButton.TextColor3 = Color3.new(1,1,1) submitButton.Font = Enum.Font.SourceSansBold submitButton.TextScaled = true submitButton.Text = "Submit" -- Main GUI setup (hidden until correct key) local mainGui = Instance.new("ScreenGui", playerGui) mainGui.Name = "BrookhavenGui" mainGui.Enabled = false local mainFrame = Instance.new("Frame", mainGui) mainFrame.Size = UDim2.new(0, 350, 0, 450) mainFrame.Position = UDim2.new(0.5, -175, 0.5, -225) mainFrame.BackgroundColor3 = Color3.fromRGB(10, 40, 80) mainFrame.BorderSizePixel = 0 mainFrame.Active = true mainFrame.Draggable = true local title = Instance.new("TextLabel", mainFrame) title.Size = UDim2.new(1, 0, 0, 50) title.BackgroundTransparency = 1 title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.SourceSansBold title.TextScaled = true title.Text = "Brookhaven GUI" -- Warning label for admin presence local adminWarning = Instance.new("TextLabel", mainFrame) adminWarning.Size = UDim2.new(1, -20, 0, 40) adminWarning.Position = UDim2.new(0, 10, 0, 60) adminWarning.BackgroundTransparency = 0.2 adminWarning.BackgroundColor3 = Color3.fromRGB(180, 50, 50) adminWarning.TextColor3 = Color3.new(1, 1, 1) adminWarning.Font = Enum.Font.SourceSansBold adminWarning.TextScaled = true adminWarning.TextWrapped = true adminWarning.Visible = false adminWarning.Text = "" -- ScrollFrame for features local scrollFrame = Instance.new("ScrollingFrame", mainFrame) scrollFrame.Size = UDim2.new(1, -20, 1, -120) scrollFrame.Position = UDim2.new(0, 10, 0, 110) scrollFrame.CanvasSize = UDim2.new(0, 0, 2, 0) scrollFrame.ScrollBarThickness = 8 scrollFrame.BackgroundTransparency = 1 local UIListLayout = Instance.new("UIListLayout", scrollFrame) UIListLayout.SortOrder = Enum.SortOrder.LayoutOrder UIListLayout.Padding = UDim.new(0, 8) -- Features table local features = {} -- Helper function to create buttons local function createFeatureButton(name, callback) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 40) btn.Text = name btn.BackgroundColor3 = Color3.fromRGB(50, 100, 180) btn.TextColor3 = Color3.new(1,1,1) btn.Font = Enum.Font.SourceSansBold btn.TextScaled = true btn.BorderSizePixel = 0 btn.AutoButtonColor = true btn.MouseButton1Click:Connect(callback) return btn end -- Features Implementation (Examples) features["Fly"] = function() -- Simple fly by changing Humanoid state local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.PlatformStand = false local bodyVelocity = Instance.new("BodyVelocity") bodyVelocity.MaxForce = Vector3.new(0, math.huge, 0) bodyVelocity.Velocity = Vector3.new(0, 50, 0) bodyVelocity.Parent = character.HumanoidRootPart wait(5) bodyVelocity:Destroy() end end features["Speed Boost"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 100 wait(10) humanoid.WalkSpeed = 16 end end features["Jump Boost"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.JumpPower = 100 wait(10) humanoid.JumpPower = 50 end end features["Rejoin"] = function() game:GetService("TeleportService"):Teleport(game.PlaceId, LocalPlayer) end features["Change Shirt"] = function() local character = LocalPlayer.Character if not character then return end local shirt = character:FindFirstChildWhichIsA("Shirt") if shirt then shirt:Destroy() end local newShirt = Instance.new("Shirt", character) newShirt.ShirtTemplate = "rbxassetid://144076891" -- Example shirt asset end features["Change Pants"] = function() local character = LocalPlayer.Character if not character then return end local pants = character:FindFirstChildWhichIsA("Pants") if pants then pants:Destroy() end local newPants = Instance.new("Pants", character) newPants.PantsTemplate = "rbxassetid://144076896" -- Example pants asset end features["Sit"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.Sit = true end end features["No Clip Toggle"] = function() -- Simple no clip implementation toggle on/off local noclip = false local character = LocalPlayer.Character if not character then return end local hrp = character:FindFirstChild("HumanoidRootPart") if not hrp then return end noclip = not noclip if noclip then for _, part in pairs(character:GetChildren()) do if part:IsA("BasePart") then part.CanCollide = false end end else for _, part in pairs(character:GetChildren()) do if part:IsA("BasePart") then part.CanCollide = true end end end end features["Fly Speed Up"] = function() local character = LocalPlayer.Character if not character then return end local hrp = character:FindFirstChild("HumanoidRootPart") if not hrp then return end local bodyVelocity = hrp:FindFirstChildOfClass("BodyVelocity") if bodyVelocity then bodyVelocity.Velocity = hrp.CFrame.LookVector * 150 wait(5) bodyVelocity:Destroy() end end features["God Mode"] = function() -- Just as example, sets health to very high local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.MaxHealth = math.huge humanoid.Health = humanoid.MaxHealth end end features["Heal"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.Health = humanoid.MaxHealth end end features["Jump"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid:ChangeState(Enum.HumanoidStateType.Jumping) end end features["Open Door"] = function() -- Example: open a door (depends on map, dummy example) print("Door opened! (Example feature)") end features["Invisible"] = function() local character = LocalPlayer.Character if not character then return end for _, part in pairs(character:GetChildren()) do if part:IsA("BasePart") then part.Transparency = 1 if part:FindFirstChild("Decal") then part.Decal.Transparency = 1 end end end end features["Walk Speed Reset"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.WalkSpeed = 16 end end features["Jump Power Reset"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.JumpPower = 50 end end features["Sit Toggle"] = function() local character = LocalPlayer.Character if not character then return end local humanoid = character:FindFirstChildOfClass("Humanoid") if humanoid then humanoid.Sit = not humanoid.Sit end end features["Anti Fall Damage"] = function() -- Prevent fall damage by resetting health before damage -- Example: depends on game mechanics, dummy here print("Anti fall damage activated!") end features["Rejoin Server"] = function() game:GetService("TeleportService"):Teleport(game.PlaceId) end features["Disable GUI"] = function() mainGui.Enabled = false keyGui.Enabled = true end -- Add buttons for features for name, func in pairs(features) do local btn = createFeatureButton(name, function() -- Disable features if admin detected and feature is restricted local adminPresent = isAdminPresent() if adminPresent then warn("Feature disabled due to admin presence.") return end func() end) btn.Parent = scrollFrame end -- Submit button logic submitButton.MouseButton1Click:Connect(function() if keyBox.Text:lower() == key then keyGui.Enabled = false mainGui.Enabled = true -- Check admin presence local adminPresent, adminName = isAdminPresent() if adminPresent then adminWarning.Text = "WARNING: Admin detected in game: "..adminName..". Some features disabled." adminWarning.Visible = true -- Optional: kick player (uncomment to enable) -- wait(5) -- LocalPlayer:Kick("Admin detected. You have been kicked.") else adminWarning.Visible = false end else keyLabel.Text = "Incorrect Key! Try again." keyLabel.TextColor3 = Color3.fromRGB(255, 80, 80) end end) -- Allow dragging main GUI by dragging frame local dragging, dragInput, dragStart, startPos mainFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 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) mainFrame.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement then dragInput = input end end) UserInputService.InputChanged:Connect(function(input) if dragging and input == dragInput then 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 end)