local Players = game:GetService("Players") local player = Players.LocalPlayer local function createGUI() -- Destroy old UI if it already exists (so re-running the script replaces it) local existing = player.PlayerGui:FindFirstChild("TeleportGUI") if existing then existing:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "TeleportGUI" gui.Parent = player:WaitForChild("PlayerGui") gui.ResetOnSpawn = false gui.IgnoreGuiInset = true gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling -- Keep the auto-recreate if it gets destroyed by the game gui.AncestryChanged:Connect(function(_, parent) if not parent then task.wait(0.1) -- tiny delay so we don't instantly fight the destroy createGUI() end end) -- ───────────────────────────── -- COLORS -- ───────────────────────────── local COLORS = { bg = Color3.fromRGB(22, 22, 26), sidebar = Color3.fromRGB(16, 16, 20), card = Color3.fromRGB(32, 32, 38), button = Color3.fromRGB(45, 45, 52), buttonHover = Color3.fromRGB(58, 58, 68), accent = Color3.fromRGB(88, 101, 242), -- soft indigo text = Color3.fromRGB(235, 235, 245), textDim = Color3.fromRGB(160, 160, 175), stroke = Color3.fromRGB(12, 12, 15), } -- ───────────────────────────── -- MAIN FRAME -- ───────────────────────────── local frame = Instance.new("Frame") frame.Name = "Main" frame.Size = UDim2.new(0, 420, 0, 380) frame.Position = UDim2.new(0.5, -210, 0.5, -190) frame.BackgroundColor3 = COLORS.bg frame.BorderSizePixel = 0 frame.Active = true frame.Parent = gui Instance.new("UIDragDetector", frame) Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 14) local stroke = Instance.new("UIStroke", frame) stroke.Color = COLORS.stroke stroke.Thickness = 1.5 stroke.Transparency = 0.3 -- ───────────────────────────── -- SIDEBAR -- ───────────────────────────── local sidebar = Instance.new("Frame") sidebar.Size = UDim2.new(0, 110, 1, 0) sidebar.BackgroundColor3 = COLORS.sidebar sidebar.BorderSizePixel = 0 sidebar.Parent = frame Instance.new("UICorner", sidebar).CornerRadius = UDim.new(0, 14) -- cover the right side of the sidebar corner so it doesn't look rounded on the content side local sidebarFix = Instance.new("Frame") sidebarFix.Size = UDim2.new(0, 14, 1, 0) sidebarFix.Position = UDim2.new(1, -14, 0, 0) sidebarFix.BackgroundColor3 = COLORS.sidebar sidebarFix.BorderSizePixel = 0 sidebarFix.Parent = sidebar local function makeTab(text, yScale) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -12, 0, 36) btn.Position = UDim2.new(0, 6, yScale, 0) btn.Text = text btn.Font = Enum.Font.GothamMedium btn.TextSize = 14 btn.BackgroundColor3 = COLORS.button btn.TextColor3 = COLORS.textDim btn.AutoButtonColor = false btn.Parent = sidebar Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) btn.MouseEnter:Connect(function() if btn.BackgroundColor3 ~= COLORS.accent then btn.BackgroundColor3 = COLORS.buttonHover end end) btn.MouseLeave:Connect(function() if btn.BackgroundColor3 ~= COLORS.accent then btn.BackgroundColor3 = COLORS.button btn.TextColor3 = COLORS.textDim end end) return btn end local teleportTab = makeTab("Teleport", 0.08) local mainTab = makeTab("Main", 0.22) local explorerTab = makeTab("Explorer", 0.36) local function setActiveTab(active) for _, tab in ipairs({teleportTab, mainTab, explorerTab}) do tab.BackgroundColor3 = COLORS.button tab.TextColor3 = COLORS.textDim end active.BackgroundColor3 = COLORS.accent active.TextColor3 = Color3.new(1, 1, 1) end -- ───────────────────────────── -- PAGES -- ───────────────────────────── local function createPage() local page = Instance.new("Frame") page.Size = UDim2.new(1, -110, 1, 0) page.Position = UDim2.new(0, 110, 0, 0) page.BackgroundTransparency = 1 page.Visible = false page.Parent = frame return page end local teleportPage = createPage() teleportPage.Visible = true local mainPage = createPage() local explorerPage = createPage() setActiveTab(teleportTab) teleportTab.MouseButton1Click:Connect(function() teleportPage.Visible = true mainPage.Visible = false explorerPage.Visible = false setActiveTab(teleportTab) end) mainTab.MouseButton1Click:Connect(function() teleportPage.Visible = false mainPage.Visible = true explorerPage.Visible = false setActiveTab(mainTab) end) explorerTab.MouseButton1Click:Connect(function() teleportPage.Visible = false mainPage.Visible = false explorerPage.Visible = true setActiveTab(explorerTab) task.defer(refreshExplorer) end) -- ───────────────────────────── -- HELPER: styled button -- ───────────────────────────── local function makeButton(parent, text, color) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 40) btn.Text = text btn.Font = Enum.Font.GothamMedium btn.TextSize = 15 btn.BackgroundColor3 = color or COLORS.button btn.TextColor3 = COLORS.text btn.AutoButtonColor = false btn.Parent = parent Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 8) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = COLORS.buttonHover end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = color or COLORS.button end) return btn end -- ───────────────────────────── -- TELEPORT PAGE -- ───────────────────────────── local tpPadding = Instance.new("UIPadding", teleportPage) tpPadding.PaddingTop = UDim.new(0, 16) tpPadding.PaddingLeft = UDim.new(0, 16) tpPadding.PaddingRight = UDim.new(0, 16) tpPadding.PaddingBottom = UDim.new(0, 16) local tpLayout = Instance.new("UIListLayout", teleportPage) tpLayout.Padding = UDim.new(0, 10) tpLayout.SortOrder = Enum.SortOrder.LayoutOrder tpLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center local selectedPlayer = nil -- Dropdown button local dropdownButton = makeButton(teleportPage, "Select Player") dropdownButton.LayoutOrder = 1 -- Dropdown list local dropdownFrame = Instance.new("Frame") dropdownFrame.Size = UDim2.new(1, 0, 0, 140) dropdownFrame.BackgroundColor3 = COLORS.card dropdownFrame.Visible = false dropdownFrame.ClipsDescendants = true dropdownFrame.LayoutOrder = 2 dropdownFrame.Parent = teleportPage Instance.new("UICorner", dropdownFrame).CornerRadius = UDim.new(0, 8) local scrolling = Instance.new("ScrollingFrame") scrolling.Size = UDim2.new(1, 0, 1, 0) scrolling.CanvasSize = UDim2.new(0, 0, 0, 0) scrolling.BackgroundTransparency = 1 scrolling.BorderSizePixel = 0 scrolling.ScrollBarThickness = 4 scrolling.Parent = dropdownFrame local listLayout = Instance.new("UIListLayout", scrolling) listLayout.SortOrder = Enum.SortOrder.LayoutOrder listLayout.Padding = UDim.new(0, 2) local function refreshPlayers() for _, child in pairs(scrolling:GetChildren()) do if child:IsA("TextButton") then child:Destroy() end end local playerData = {} for _, p in pairs(Players:GetPlayers()) do if p ~= player then local creature = workspace:FindFirstChild(p.Name .. " Creature") if creature then table.insert(playerData, { player = p, objectCount = #creature:GetDescendants() }) end end end table.sort(playerData, function(a, b) return a.objectCount > b.objectCount end) local count = 0 for _, data in ipairs(playerData) do count += 1 local p = data.player local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -8, 0, 30) btn.Text = " " .. p.DisplayName .. " (" .. data.objectCount .. ")" btn.Font = Enum.Font.Gotham btn.TextSize = 13 btn.TextXAlignment = Enum.TextXAlignment.Left btn.BackgroundColor3 = COLORS.button btn.TextColor3 = COLORS.text btn.AutoButtonColor = false btn.Parent = scrolling Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = COLORS.buttonHover end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = COLORS.button end) btn.MouseButton1Click:Connect(function() selectedPlayer = p dropdownButton.Text = p.DisplayName dropdownFrame.Visible = false end) end scrolling.CanvasSize = UDim2.new(0, 0, 0, count * 32) end dropdownButton.MouseButton1Click:Connect(function() dropdownFrame.Visible = not dropdownFrame.Visible if dropdownFrame.Visible then refreshPlayers() end end) local teleport = makeButton(teleportPage, "Teleport", COLORS.accent) teleport.LayoutOrder = 3 local toggle = makeButton(teleportPage, "Auto: OFF") toggle.LayoutOrder = 4 local teleportRandom = makeButton(teleportPage, "Teleport Random") teleportRandom.LayoutOrder = 5 local loopAll = makeButton(teleportPage, "Loop All: OFF") loopAll.LayoutOrder = 6 -- ───────────────────────────── -- MAIN PAGE -- ───────────────────────────── local mainPadding = Instance.new("UIPadding", mainPage) mainPadding.PaddingTop = UDim.new(0, 20) mainPadding.PaddingLeft = UDim.new(0, 16) mainPadding.PaddingRight = UDim.new(0, 16) local mainLayout = Instance.new("UIListLayout", mainPage) mainLayout.Padding = UDim.new(0, 12) mainLayout.HorizontalAlignment = Enum.HorizontalAlignment.Center mainLayout.SortOrder = Enum.SortOrder.LayoutOrder local eatAllFood = makeButton(mainPage, "Farming: OFF") local despawn = makeButton(mainPage, "Instant Despawn") local infhp = makeButton(mainPage, "Infinite HP: OFF") local bypassSpawn = makeButton(mainPage, "Bypass Spawn", Color3.fromRGB(70, 160, 90)) -- ───────────────────────────── -- EXPLORER PAGE -- ───────────────────────────── local explorerScroll = Instance.new("ScrollingFrame") explorerScroll.Size = UDim2.new(1, -12, 1, -12) explorerScroll.Position = UDim2.new(0, 6, 0, 6) explorerScroll.BackgroundColor3 = COLORS.card explorerScroll.ScrollBarThickness = 5 explorerScroll.BorderSizePixel = 0 explorerScroll.AutomaticCanvasSize = Enum.AutomaticSize.Y explorerScroll.Parent = explorerPage Instance.new("UICorner", explorerScroll).CornerRadius = UDim.new(0, 8) local expPad = Instance.new("UIPadding", explorerScroll) expPad.PaddingLeft = UDim.new(0, 8) expPad.PaddingTop = UDim.new(0, 8) expPad.PaddingRight = UDim.new(0, 8) expPad.PaddingBottom = UDim.new(0, 8) local expLayout = Instance.new("UIListLayout", explorerScroll) expLayout.Padding = UDim.new(0, 2) expLayout.SortOrder = Enum.SortOrder.LayoutOrder local expanded = {} local function createNode(obj, depth) local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, 0, 0, 26) btn.BackgroundColor3 = COLORS.button btn.TextColor3 = COLORS.text btn.TextXAlignment = Enum.TextXAlignment.Left btn.Font = Enum.Font.Gotham btn.TextSize = 13 btn.Text = string.rep(" ", depth) .. "▸ " .. obj.Name .. " (" .. obj.ClassName .. ")" btn.AutoButtonColor = false btn.BorderSizePixel = 0 btn.Parent = explorerScroll Instance.new("UICorner", btn).CornerRadius = UDim.new(0, 6) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = COLORS.buttonHover end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = COLORS.button end) btn.MouseButton1Click:Connect(function() if #obj:GetChildren() > 0 then expanded[obj] = not expanded[obj] refreshExplorer() end end) end function refreshExplorer() for _, v in pairs(explorerScroll:GetChildren()) do if v:IsA("TextButton") then v:Destroy() end end local function addChildren(parent, depth) createNode(parent, depth) if expanded[parent] then for _, child in ipairs(parent:GetChildren()) do addChildren(child, depth + 1) end end end addChildren(game, 0) end -- ───────────────────────────── -- LOGIC (unchanged behavior) -- ───────────────────────────── local autoTeleport = false local loopAllEnabled = false local eatallenabled = false local infinitehp = false bypassSpawn.MouseButton1Click:Connect(function() local success, err = pcall(function() local confirmBtn = player.PlayerGui :FindFirstChild("Editor") and player.PlayerGui.Editor:FindFirstChild("ConfirmSpawn") and player.PlayerGui.Editor.ConfirmSpawn:FindFirstChild("ConfirmFrame") and player.PlayerGui.Editor.ConfirmSpawn.ConfirmFrame:FindFirstChild("Frame") and player.PlayerGui.Editor.ConfirmSpawn.ConfirmFrame.Frame:FindFirstChild("Buttons") and player.PlayerGui.Editor.ConfirmSpawn.ConfirmFrame.Frame.Buttons:FindFirstChild("Confirm") if not confirmBtn then -- force create path if it somehow isn't there yet confirmBtn = player.PlayerGui:WaitForChild("Editor", 3) :WaitForChild("ConfirmSpawn", 3) :WaitForChild("ConfirmFrame", 3) :WaitForChild("Frame", 3) :WaitForChild("Buttons", 3) :WaitForChild("Confirm", 3) end if not confirmBtn then error("Confirm button not found") end -- Make sure the button itself is usable (doesn't matter if parents are invisible) confirmBtn.Visible = true confirmBtn.Active = true -- Best method for Xeno / most executors for _, connection in ipairs(getconnections(confirmBtn.MouseButton1Click)) do connection:Fire() end -- Also fire Activated just in case if confirmBtn.Activated then for _, connection in ipairs(getconnections(confirmBtn.Activated)) do connection:Fire() end end -- Fallback if confirmBtn:IsA("GuiButton") then confirmBtn:Activate() end end) if not success then -- silent fail (no console) end end) eatAllFood.MouseButton1Click:Connect(function() eatallenabled = not eatallenabled eatAllFood.Text = eatallenabled and "Farming: ON" or "Farming: OFF" if not eatallenabled then return end task.spawn(function() while eatallenabled do local foodFolder = workspace:FindFirstChild("Food") local character = player.Character or player.CharacterAdded:Wait() local rootPart = character:FindFirstChild("HumanoidRootPart") if foodFolder and rootPart then local foundOrb = false for _, food in ipairs(foodFolder:GetChildren()) do if not eatallenabled then break end if string.lower(food.Name) == "yelloworb" then local targetPart if food:IsA("BasePart") then targetPart = food elseif food:IsA("Model") then targetPart = food.PrimaryPart or food:FindFirstChildWhichIsA("BasePart", true) end if targetPart and targetPart.Parent then foundOrb = true while targetPart and targetPart.Parent do rootPart.CFrame = targetPart.CFrame task.wait() end end end end if not foundOrb then task.wait(0.4) end else task.wait(0.4) end end end) end) despawn.MouseButton1Click:Connect(function() local char = player.Character or player.CharacterAdded:Wait() if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.Anchored = false char.HumanoidRootPart.CFrame = CFrame.new(0, -5, 0) end end) teleport.MouseButton1Click:Connect(function() if not selectedPlayer then return end local char = player.Character or player.CharacterAdded:Wait() local ochar = selectedPlayer.Character or selectedPlayer.CharacterAdded:Wait() if char and ochar and char:FindFirstChild("HumanoidRootPart") and ochar:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = ochar.HumanoidRootPart.CFrame end end) toggle.MouseButton1Click:Connect(function() autoTeleport = not autoTeleport toggle.Text = autoTeleport and "Auto: ON" or "Auto: OFF" if autoTeleport then task.spawn(function() while autoTeleport do if selectedPlayer and selectedPlayer.Character and selectedPlayer.Character:FindFirstChild("HumanoidRootPart") then local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = selectedPlayer.Character.HumanoidRootPart.CFrame end end task.wait(0.05) end end) end end) teleportRandom.MouseButton1Click:Connect(function() local list = {} for _, p in pairs(Players:GetPlayers()) do if p ~= player and workspace:FindFirstChild(p.Name .. " Creature") then table.insert(list, p) end end if #list > 0 then local target = list[math.random(1, #list)] if target.Character and target.Character:FindFirstChild("HumanoidRootPart") then local char = player.Character or player.CharacterAdded:Wait() if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame dropdownButton.Text = target.DisplayName selectedPlayer = target end end end end) loopAll.MouseButton1Click:Connect(function() loopAllEnabled = not loopAllEnabled loopAll.Text = loopAllEnabled and "Loop All: ON" or "Loop All: OFF" if loopAllEnabled then task.spawn(function() while loopAllEnabled do for _, target in pairs(Players:GetPlayers()) do if not loopAllEnabled then break end if target ~= player and target.Character and target.Character:FindFirstChild("HumanoidRootPart") and workspace:FindFirstChild("Creatures") and workspace.Creatures:FindFirstChild(target.Name) then local char = player.Character if char and char:FindFirstChild("HumanoidRootPart") then char.HumanoidRootPart.CFrame = target.Character.HumanoidRootPart.CFrame end end task.wait(0.05) end end end) end end) end createGUI()