-- Instructions at https://scriptblox.com/script/GEF-Admin-Commands-OP-62171 --[[ WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk! ]] --[[ Copy and paste the entire script into your executor to use it Version 1.0.0 ]] -- Instances local ScreenGui = Instance.new("ScreenGui") local Frame = Instance.new("Frame") local UICorner = Instance.new("UICorner") local TextBox = Instance.new("TextBox") -- Properties ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui") ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling ScreenGui.Name = "CommandGui" Frame.Parent = ScreenGui Frame.BackgroundColor3 = Color3.new(0, 0, 0) Frame.BorderColor3 = Color3.new(0, 0, 0) Frame.BorderSizePixel = 0 Frame.Position = UDim2.new(0.282912523, 0, 0.393454015, 0) Frame.Size = UDim2.new(0, 430, 0, 108) UICorner.Parent = Frame UICorner.CornerRadius = UDim.new(1, 0) TextBox.Parent = Frame TextBox.BackgroundColor3 = Color3.new(1, 1, 1) TextBox.BackgroundTransparency = 1 TextBox.BorderColor3 = Color3.new(0, 0, 0) TextBox.BorderSizePixel = 0 TextBox.Position = UDim2.new(0.0604651161, 0, 0.115789473, 0) TextBox.Size = UDim2.new(0, 373, 0, 73) TextBox.Font = Enum.Font.SourceSans TextBox.PlaceholderColor3 = Color3.new(1, 1, 1) TextBox.PlaceholderText = "Enter a command here.." TextBox.Text = "" TextBox.TextColor3 = Color3.new(1, 1, 1) TextBox.TextScaled = true TextBox.TextSize = 14 TextBox.TextWrapped = true -- Command System Variables local commandPrefix = "!" -- Default prefix local commands = {} local player = game.Players.LocalPlayer -- Resources GUI Variables local resourcesGui -- Fullbright Variables local fullbrightEnabled = false local originalLightingSettings = {} -- RemoveGEFs Variables local removeGEFsEnabled = false -- Command System Functions function executeCommand(input) local args = {} for word in input:gmatch("%S+") do table.insert(args, word) end if #args == 0 then return end local command = args[1]:lower() table.remove(args, 1) if commands[command] then commands[command](args) else -- Check if command has prefix if command:sub(1, 1) == commandPrefix then local actualCommand = command:sub(2):lower() if commands[actualCommand] then commands[actualCommand](args) else showNotification("Unknown command: " .. actualCommand) end else showNotification("Unknown command. Use '" .. commandPrefix .. "help' for commands list.") end end end function showNotification(message) local notification = Instance.new("TextLabel") notification.Size = UDim2.new(0, 300, 0, 50) notification.Position = UDim2.new(0.5, -150, 0.1, 0) notification.BackgroundColor3 = Color3.new(0, 0, 0) notification.BackgroundTransparency = 0.3 notification.TextColor3 = Color3.new(1, 1, 1) notification.Text = message notification.Font = Enum.Font.SourceSans notification.TextSize = 18 notification.TextWrapped = true notification.Parent = ScreenGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = notification -- Animate fade out spawn(function() wait(3) for i = 1, 10 do notification.BackgroundTransparency = notification.BackgroundTransparency + 0.1 wait(0.1) end notification:Destroy() end) end -- Command: Set Prefix commands["prefix"] = function(args) if #args < 1 then showNotification("Current prefix: " .. commandPrefix) return end local newPrefix = args[1] if #newPrefix > 1 then showNotification("Prefix must be a single character!") return end commandPrefix = newPrefix showNotification("Prefix set to: " .. commandPrefix) end -- Command: Resources commands["resources"] = function(args) createResourcesGUI() end -- Command: Fullbright commands["fullbright"] = function(args) local Lighting = game:GetService("Lighting") if not fullbrightEnabled then -- Save original settings originalLightingSettings = { Ambient = Lighting.Ambient, Brightness = Lighting.Brightness, GlobalShadows = Lighting.GlobalShadows, OutdoorAmbient = Lighting.OutdoorAmbient } -- Set fullbright settings Lighting.Ambient = Color3.new(1, 1, 1) Lighting.Brightness = 2 Lighting.GlobalShadows = false Lighting.OutdoorAmbient = Color3.new(1, 1, 1) fullbrightEnabled = true showNotification("Fullbright ENABLED - World is now bright!") else -- Restore original settings Lighting.Ambient = originalLightingSettings.Ambient Lighting.Brightness = originalLightingSettings.Brightness Lighting.GlobalShadows = originalLightingSettings.GlobalShadows Lighting.OutdoorAmbient = originalLightingSettings.OutdoorAmbient fullbrightEnabled = false showNotification("Fullbright DISABLED - Back to normal lighting") end end -- Command: RemoveGEFs commands["removegef"] = function(args) removeGEFsEnabled = not removeGEFsEnabled if removeGEFsEnabled then showNotification("RemoveGEFs ENABLED - Deleting GEFs folder contents...") -- Start loop to delete GEFs spawn(function() while removeGEFsEnabled do local gefsFolder = workspace:FindFirstChild("GEFs") if gefsFolder then for _, child in ipairs(gefsFolder:GetChildren()) do if child:IsA("Part") or child:IsA("MeshPart") or child:IsA("Model") then child:Destroy() end end end wait(0.1) -- Check every 0.1 seconds end end) else showNotification("RemoveGEFs DISABLED - Stopped deleting GEFs") end end -- Command: Goto commands["goto"] = function(args) if #args < 1 then showNotification("Usage: " .. commandPrefix .. "goto [username]") return end local targetName = args[1]:lower() local players = game:GetService("Players"):GetPlayers() local foundPlayers = {} -- Search for players by username for _, plr in ipairs(players) do local username = plr.Name:lower() if username == targetName or username:find(targetName) then table.insert(foundPlayers, plr) end end if #foundPlayers == 0 then showNotification("No player found with name: " .. targetName) return end if #foundPlayers > 1 then showNotification("Multiple players found: " .. #foundPlayers .. ". Using first match.") end local targetPlayer = foundPlayers[1] local character = targetPlayer.Character if not character then showNotification(targetPlayer.Name .. " has no character!") return end local humanoidRootPart = character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then showNotification(targetPlayer.Name .. " has no HumanoidRootPart!") return end -- Teleport to player local localCharacter = player.Character if not localCharacter then showNotification("You have no character!") return end local localRootPart = localCharacter:FindFirstChild("HumanoidRootPart") if not localRootPart then showNotification("You have no HumanoidRootPart!") return end localRootPart.CFrame = humanoidRootPart.CFrame showNotification("Teleported to " .. targetPlayer.Name) end -- Command: Help - FIXED TO SHOW ALL COMMANDS commands["help"] = function(args) local helpText = "Available Commands:\n" helpText = helpText .. commandPrefix .. "prefix [char] - Set command prefix\n" helpText = helpText .. commandPrefix .. "resources - Show resources picker\n" helpText = helpText .. commandPrefix .. "fullbright - Toggle bright lighting\n" helpText = helpText .. commandPrefix .. "removegef - Toggle deleting GEFs folder\n" helpText = helpText .. commandPrefix .. "goto [player] - Teleport to player\n" helpText = helpText .. commandPrefix .. "help - Show this message" showNotification(helpText) end -- FIXED: Resources GUI Functions for MeshParts function createResourcesGUI() -- Destroy existing GUI if it exists if resourcesGui then resourcesGui:Destroy() resourcesGui = nil end -- Get pickups folder local pickupsFolder = workspace:FindFirstChild("Pickups") if not pickupsFolder then showNotification("ERROR: No 'Pickups' folder found in workspace!") return end -- Count objects by name (checking both Parts and MeshParts) local resourceCounts = {} local allObjects = {} -- Get ALL objects recursively from Pickups folder for _, obj in ipairs(pickupsFolder:GetDescendants()) do if obj:IsA("Part") or obj:IsA("MeshPart") then local partName = obj.Name resourceCounts[partName] = (resourceCounts[partName] or 0) + 1 table.insert(allObjects, obj) end end -- Check if we found any objects if next(resourceCounts) == nil then showNotification("ERROR: No Parts or MeshParts found in Pickups folder!") return end -- Create Resources GUI resourcesGui = Instance.new("ScreenGui") resourcesGui.Name = "ResourcesGUI" resourcesGui.Parent = player.PlayerGui resourcesGui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling local mainFrame = Instance.new("Frame") mainFrame.Size = UDim2.new(0, 400, 0, 500) mainFrame.Position = UDim2.new(0.5, -200, 0.5, -250) mainFrame.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) mainFrame.BorderSizePixel = 0 mainFrame.Parent = resourcesGui local corner = Instance.new("UICorner") corner.CornerRadius = UDim.new(0, 8) corner.Parent = mainFrame -- Title Bar (for dragging) local titleBar = Instance.new("Frame") titleBar.Size = UDim2.new(1, 0, 0, 50) titleBar.Position = UDim2.new(0, 0, 0, 0) titleBar.BackgroundColor3 = Color3.new(0.2, 0.2, 0.2) titleBar.BorderSizePixel = 0 titleBar.Parent = mainFrame local titleCorner = Instance.new("UICorner") titleCorner.CornerRadius = UDim.new(0, 8) titleCorner.Parent = titleBar -- Title Text local title = Instance.new("TextLabel") title.Size = UDim2.new(1, 0, 1, 0) title.Position = UDim2.new(0, 0, 0, 0) title.BackgroundTransparency = 1 title.TextColor3 = Color3.new(1, 1, 1) title.Text = "What resources do you need? (Drag Me)" title.Font = Enum.Font.SourceSansBold title.TextSize = 20 title.TextWrapped = true title.Parent = titleBar -- Close Button local closeButton = Instance.new("TextButton") closeButton.Size = UDim2.new(0, 30, 0, 30) closeButton.Position = UDim2.new(1, -35, 0, 10) closeButton.BackgroundColor3 = Color3.new(1, 0.3, 0.3) closeButton.TextColor3 = Color3.new(1, 1, 1) closeButton.Text = "X" closeButton.Font = Enum.Font.SourceSansBold closeButton.TextSize = 16 closeButton.Parent = mainFrame local closeCorner = Instance.new("UICorner") closeCorner.CornerRadius = UDim.new(0, 4) closeCorner.Parent = closeButton -- Resources Count Label local countLabel = Instance.new("TextLabel") countLabel.Size = UDim2.new(1, -20, 0, 30) countLabel.Position = UDim2.new(0, 10, 0, 55) countLabel.BackgroundTransparency = 1 countLabel.TextColor3 = Color3.new(1, 1, 1) countLabel.Text = "Found " .. #allObjects .. " objects in " .. getTableSize(resourceCounts) .. " resource types" countLabel.Font = Enum.Font.SourceSans countLabel.TextSize = 14 countLabel.Parent = mainFrame -- Scrolling Frame for Resources local scrollFrame = Instance.new("ScrollingFrame") scrollFrame.Size = UDim2.new(1, -20, 1, -100) scrollFrame.Position = UDim2.new(0, 10, 0, 90) scrollFrame.BackgroundColor3 = Color3.new(0.15, 0.15, 0.15) scrollFrame.BorderSizePixel = 0 scrollFrame.ScrollBarThickness = 8 scrollFrame.CanvasSize = UDim2.new(0, 0, 0, 0) scrollFrame.Parent = mainFrame local scrollCorner = Instance.new("UICorner") scrollCorner.CornerRadius = UDim.new(0, 6) scrollCorner.Parent = scrollFrame local uiListLayout = Instance.new("UIListLayout") uiListLayout.Padding = UDim.new(0, 5) uiListLayout.Parent = scrollFrame -- DEBUG: Show what we found print("=== OBJECTS FOUND IN PICKUPS ===") for name, count in pairs(resourceCounts) do print(name .. " : x" .. count) end print("Total objects: " .. #allObjects) print("=================================") -- Create buttons for each resource type local buttonHeight = 40 for resourceName, count in pairs(resourceCounts) do local button = Instance.new("TextButton") button.Size = UDim2.new(1, -10, 0, buttonHeight) button.BackgroundColor3 = Color3.new(0.3, 0.5, 0.8) button.TextColor3 = Color3.new(1, 1, 1) button.Text = resourceName .. " (x" .. count .. ")" button.Font = Enum.Font.SourceSansBold button.TextSize = 16 button.Parent = scrollFrame local buttonCorner = Instance.new("UICorner") buttonCorner.CornerRadius = UDim.new(0, 6) buttonCorner.Parent = button -- Click event button.MouseButton1Click:Connect(function() showNotification("Starting collection of " .. resourceName .. "...") collectResource(resourceName) if resourcesGui then resourcesGui:Destroy() resourcesGui = nil end end) end -- Update scroll frame canvas size after buttons are added spawn(function() wait(0.1) local totalHeight = 0 for _, child in ipairs(scrollFrame:GetChildren()) do if child:IsA("TextButton") then totalHeight = totalHeight + buttonHeight + 5 end end scrollFrame.CanvasSize = UDim2.new(0, 0, 0, totalHeight) end) -- Close button functionality closeButton.MouseButton1Click:Connect(function() resourcesGui:Destroy() resourcesGui = nil end) -- Make Resources GUI Draggable makeDraggable(titleBar, mainFrame) showNotification("Resources GUI loaded with " .. getTableSize(resourceCounts) .. " resource types!") end -- Helper function to get table size function getTableSize(t) local count = 0 for _ in pairs(t) do count = count + 1 end return count end -- FIXED: Resource Collection Function function collectResource(resourceName) local character = player.Character if not character then showNotification("ERROR: No character found!") return end local humanoidRootPart = character:FindFirstChild("HumanoidRootPart") if not humanoidRootPart then showNotification("ERROR: No HumanoidRootPart found!") return end -- Save original position local originalCFrame = humanoidRootPart.CFrame showNotification("Collecting " .. resourceName .. "...") local pickupsFolder = workspace:FindFirstChild("Pickups") if not pickupsFolder then showNotification("ERROR: Pickups folder not found!") return end -- Find ALL objects with the specified resource name (both Parts and MeshParts) local resourceObjects = {} for _, obj in ipairs(pickupsFolder:GetDescendants()) do if (obj:IsA("Part") or obj:IsA("MeshPart")) and obj.Name == resourceName then table.insert(resourceObjects, obj) end end if #resourceObjects == 0 then showNotification("ERROR: No " .. resourceName .. " objects found!") return end showNotification("Found " .. #resourceObjects .. " " .. resourceName .. " objects. Starting collection...") -- Function to find and activate proximity prompt local function activateProximityPrompt(obj) -- Look for proximity prompt local prompt = obj:FindFirstChildOfClass("ProximityPrompt") if not prompt then -- Check all children for proximity prompt for _, child in ipairs(obj:GetChildren()) do if child:IsA("ProximityPrompt") then prompt = child break end end end if prompt then -- Teleport to the object humanoidRootPart.CFrame = CFrame.new(obj.Position + Vector3.new(0, 5, 0)) -- Wait for teleport wait(0.5) -- Activate the proximity prompt fireproximityprompt(prompt) -- Wait for prompt to process wait(1) return true else return false end end -- Collect all resources of this type local activatedCount = 0 for i, obj in ipairs(resourceObjects) do if obj and obj.Parent then showNotification("Collecting " .. resourceName .. " " .. i .. "/" .. #resourceObjects) if activateProximityPrompt(obj) then activatedCount = activatedCount + 1 end wait(0.3) -- Small delay between collections end end -- Return to original position humanoidRootPart.CFrame = originalCFrame showNotification("✓ Finished! Activated " .. activatedCount .. "/" .. #resourceObjects .. " " .. resourceName .. " objects") end -- Function to make any GUI draggable function makeDraggable(dragFrame, targetFrame) local UserInputService = game:GetService("UserInputService") local dragging = false local dragInput, mousePos, framePos dragFrame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 then dragging = true mousePos = input.Position framePos = targetFrame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragging = false end end) end end) dragFrame.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 local delta = input.Position - mousePos targetFrame.Position = UDim2.new(framePos.X.Scale, framePos.X.Offset + delta.X, framePos.Y.Scale, framePos.Y.Offset + delta.Y) end end) end -- TextBox Input Handling TextBox.FocusLost:Connect(function(enterPressed) if enterPressed then local text = TextBox.Text TextBox.Text = "" if text and text ~= "" then executeCommand(text) end end end) -- Drag Script for main command frame local function UDOFBOD_fake_script() local script = Instance.new('LocalScript', Frame) local UIS = game:GetService('UserInputService') local frame = script.Parent local dragToggle = nil local dragSpeed = 0.25 local dragStart = nil local startPos = nil local function updateInput(input) local delta = input.Position - dragStart local position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) game:GetService('TweenService'):Create(frame, TweenInfo.new(dragSpeed), {Position = position}):Play() end frame.InputBegan:Connect(function(input) if (input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch) then dragToggle = true dragStart = input.Position startPos = frame.Position input.Changed:Connect(function() if input.UserInputState == Enum.UserInputState.End then dragToggle = false end end) end end) UIS.InputChanged:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then if dragToggle then updateInput(input) end end end) end coroutine.wrap(UDOFBOD_fake_script)() -- Welcome message wait(1) showNotification("Command system loaded! Use '" .. commandPrefix .. "help' for commands.")