-- [[ Rscripts Risk Notice ]] -- This script is not verified by rscripts.net. Deal with caution. -- -- Stay safe: -- • Never log in on unofficial Roblox sites or lookalike domains. -- • Real Roblox links use roblox.com (check the .com ending). -- • Treat fake Roblox login / "claim reward" pages as phishing. -- [[ End Rscripts Risk Notice ]] ServerScriptService └── AdminController (Script)ServerStorage └── Items ├── Food ├── Weapons ├── Gems ├── Pelts └── Other--================================================== -- 99 NIGHTS MODDED ADMIN CONTROLLER -- ONE SCRIPT VERSION -- Put this Script in ServerScriptService -- Everyone can use the panel. --================================================== local Players = game:GetService("Players") local ServerStorage = game:GetService("ServerStorage") local ITEMS = ServerStorage:WaitForChild("Items") -------------------------------------------------- -- FIND ITEM -------------------------------------------------- local function findItem(name) name = string.lower(name) for _, category in ipairs(ITEMS:GetChildren()) do if category:IsA("Folder") then for _, item in ipairs(category:GetDescendants()) do if string.lower(item.Name) == name then return item end end end end return nil end -------------------------------------------------- -- CREATE GUI -------------------------------------------------- local function createGui(player) local playerGui = player:WaitForChild("PlayerGui") local gui = Instance.new("ScreenGui") gui.Name = "NightsAdminGui" gui.ResetOnSpawn = false gui.Parent = playerGui local main = Instance.new("Frame") main.Size = UDim2.new(0, 520, 0, 430) main.Position = UDim2.new(0.5, -260, 0.5, -215) main.Parent = gui local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 0, 45) title.Text = "🌲 99 NIGHTS ADMIN PANEL" title.TextScaled = true title.Parent = main -------------------------------------------------- -- PLAYER LIST -------------------------------------------------- local playerList = Instance.new("ScrollingFrame") playerList.Size = UDim2.new(0, 240, 0, 250) playerList.Position = UDim2.new(0, 10, 0, 60) playerList.Parent = main local selectedPlayer local function refreshPlayers() for _, child in ipairs(playerList:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local y = 5 for _, target in ipairs(Players:GetPlayers()) do local button = Instance.new("TextButton") button.Size = UDim2.new(1, -10, 0, 35) button.Position = UDim2.new(0, 5, 0, y) button.Text = target.DisplayName .. " (@" .. target.Name .. ")" button.Parent = playerList button.MouseButton1Click:Connect(function() selectedPlayer = target end) y += 40 end playerList.CanvasSize = UDim2.new(0, 0, 0, y) end -------------------------------------------------- -- BUTTON CREATOR -------------------------------------------------- local function button(text, x, y) local b = Instance.new("TextButton") b.Size = UDim2.new(0, 125, 0, 45) b.Position = UDim2.new(0, x, 0, y) b.Text = text b.TextScaled = true b.Parent = main return b end local kick = button("👢 Kick", 270, 60) local revive = button("❤️ Revive", 390, 60) local feed = button("🍗 Feed All", 270, 115) local fly = button("🪽 Fly", 390, 115) local noclip = button("👻 Noclip", 270, 170) local spawn = button("📦 Spawn Item", 390, 170) -------------------------------------------------- -- ITEM INPUT -------------------------------------------------- local itemBox = Instance.new("TextBox") itemBox.Size = UDim2.new(0, 245, 0, 40) itemBox.Position = UDim2.new(0, 270, 0, 225) itemBox.PlaceholderText = "Item name..." itemBox.Text = "" itemBox.Parent = main -------------------------------------------------- -- KICK -------------------------------------------------- kick.MouseButton1Click:Connect(function() if selectedPlayer and selectedPlayer ~= player then selectedPlayer:Kick( "Kicked by the admin panel." ) end end) -------------------------------------------------- -- REVIVE -------------------------------------------------- revive.MouseButton1Click:Connect(function() if selectedPlayer then selectedPlayer:LoadCharacter() end end) -------------------------------------------------- -- FEED ALL -------------------------------------------------- feed.MouseButton1Click:Connect(function() for _, target in ipairs( Players:GetPlayers() ) do local character = target.Character if character then local humanoid = character:FindFirstChildOfClass( "Humanoid" ) if humanoid then humanoid.Health = humanoid.MaxHealth end end end end) -------------------------------------------------- -- FLY -------------------------------------------------- fly.MouseButton1Click:Connect(function() if selectedPlayer then local state = selectedPlayer:GetAttribute( "Flying" ) selectedPlayer:SetAttribute( "Flying", not state ) if selectedPlayer == player then if not state then fly.Text = "🪽 Fly ON" else fly.Text = "🪽 Fly OFF" end end end end) -------------------------------------------------- -- NOCLIP -------------------------------------------------- noclip.MouseButton1Click:Connect(function() if selectedPlayer then local state = selectedPlayer:GetAttribute( "Noclip" ) selectedPlayer:SetAttribute( "Noclip", not state ) if selectedPlayer == player then if not state then noclip.Text = "👻 Noclip ON" else noclip.Text = "👻 Noclip OFF" end end end end) -------------------------------------------------- -- SPAWN ITEM -------------------------------------------------- spawn.MouseButton1Click:Connect(function() local name = itemBox.Text if name == "" then return end local item = findItem(name) if not item then warn( "Item not found: " .. name ) return end local clone = item:Clone() clone.Parent = player.Backpack end) refreshPlayers() Players.PlayerAdded:Connect( refreshPlayers ) Players.PlayerRemoving:Connect( refreshPlayers ) end -------------------------------------------------- -- NOCLIP -------------------------------------------------- local function noclipLoop(player, character) task.spawn(function() while character.Parent do task.wait(0.1) if player:GetAttribute("Noclip") then for _, object in ipairs( character:GetDescendants() ) do if object:IsA("BasePart") then object.CanCollide = false end end end end end) end -------------------------------------------------- -- FLY STATE -------------------------------------------------- local function flyLoop(player, character) task.spawn(function() local humanoid = character:WaitForChild( "Humanoid", 10 ) local root = character:WaitForChild( "HumanoidRootPart", 10 ) if not humanoid or not root then return end while character.Parent do task.wait(0.1) if player:GetAttribute("