local Players = game:GetService("Players") local TweenService = game:GetService("TweenService") local player = Players.LocalPlayer local pgui = player:WaitForChild("PlayerGui") -- Kill any selection boxes forever game:GetService("RunService").RenderStepped:Connect(function() for _, v in pairs(pgui:GetDescendants()) do if v:IsA("SelectionBox") or v:IsA("HandleAdornment") then v:Destroy() end end end) -- Locations local TELEPORTS = { {name = "Starter world", pos = Vector3.new(-1884.94751, -58.4999962, 286.599976)}, {name = "Fire world", pos = Vector3.new(-2894.94678, -58.5, -950.398804)}, {name = "Toxic world", pos = Vector3.new(-4826.94775, -58.5, -2462.39893)} } local idx = 1 -- ScreenGui local gui = Instance.new("ScreenGui") gui.Name = "Grok Teleport" gui.ResetOnSpawn = false gui.Parent = pgui -- Main Frame local frame = Instance.new("Frame") frame.Size = UDim2.new(0, 200, 0, 220) frame.Position = UDim2.new(0.5, -100, 0.15, 0) frame.BackgroundColor3 = Color3.fromRGB(30, 30, 35) frame.BorderSizePixel = 0 frame.Active = true frame.Parent = gui Instance.new("UICorner", frame).CornerRadius = UDim.new(0, 16) -- Custom smooth dragging local dragging = false local dragStart, startPos frame.InputBegan:Connect(function(input) if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then dragging = true dragStart = input.Position startPos = frame.Position end end) frame.InputChanged:Connect(function(input) if dragging and (input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch) then local delta = input.Position - dragStart frame.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y) end end) frame.InputEnded:Connect(function() dragging = false end) -- GROK LOGO (top-right) local grokLogo = Instance.new("ImageLabel") grokLogo.Size = UDim2.new(0, 44, 0, 44) grokLogo.Position = UDim2.new(1, -54, 0, 8) grokLogo.BackgroundTransparency = 1 grokLogo.Image = "rbxassetid://18395190734" -- Official Grok logo (white) grokLogo.Parent = frame -- Title local title = Instance.new("TextLabel") title.Size = UDim2.new(1, -60, 0, 40) title.Position = UDim2.new(0, 10, 0, 8) title.BackgroundTransparency = 1 title.Text = "Grok Hub" title.TextColor3 = Color3.new(1,1,1) title.Font = Enum.Font.GothamBold title.TextSize = 18 title.TextXAlignment = Enum.TextXAlignment.Left title.Parent = frame -- Current location local loc = Instance.new("TextLabel") loc.Size = UDim2.new(1, -50, 0, 32) loc.Position = UDim2.new(0, 10, 0, 52) loc.BackgroundColor3 = Color3.fromRGB(45,45,50) loc.Text = TELEPORTS[idx].name loc.TextColor3 = Color3.new(1,1,1) loc.Font = Enum.Font.GothamSemibold loc.TextSize = 15 loc.Parent = frame Instance.new("UICorner", loc).CornerRadius = UDim.new(0,10) -- Next button local nextBtn = Instance.new("TextButton") nextBtn.Size = UDim2.new(0, 38, 0, 32) nextBtn.Position = UDim2.new(1, -48, 0, 52) nextBtn.BackgroundColor3 = Color3.fromRGB(0, 200, 110) nextBtn.Text = ">" nextBtn.TextColor3 = Color3.new(1,1,1) nextBtn.Font = Enum.Font.GothamBold nextBtn.TextSize = 22 nextBtn.BorderSizePixel = 0 nextBtn.Parent = frame Instance.new("UICorner", nextBtn).CornerRadius = UDim.new(0,10) nextBtn.Activated:Connect(function() idx = idx % #TELEPORTS + 1 loc.Text = TELEPORTS[idx].name end) -- TELEPORT button local tpBtn = Instance.new("TextButton") tpBtn.Size = UDim2.new(0.85, 0, 0, 52) tpBtn.Position = UDim2.new(0.075, 0, 0.45, 0) tpBtn.BackgroundColor3 = Color3.fromRGB(0, 170, 255) tpBtn.Text = "TELEPORT" tpBtn.TextColor3 = Color3.new(1,1,1) tpBtn.Font = Enum.Font.GothamBold tpBtn.TextSize = 21 tpBtn.BorderSizePixel = 0 tpBtn.Parent = frame Instance.new("UICorner", tpBtn).CornerRadius = UDim.new(0,12) -- Cooldown label local cdLabel = Instance.new("TextLabel") cdLabel.Size = UDim2.new(1,0,0,25) cdLabel.Position = UDim2.new(0,0,0.78,0) cdLabel.BackgroundTransparency = 1 cdLabel.Text = "" cdLabel.TextColor3 = Color3.fromRGB(255,100,100) cdLabel.Font = Enum.Font.GothamBold cdLabel.TextSize = 17 cdLabel.Parent = frame -- Teleport logic local cooldown = 20 local canTP = true tpBtn.Activated:Connect(function() if not canTP then return end local hrp = player.Character and player.Character:FindFirstChild("HumanoidRootPart") if hrp then hrp.CFrame = CFrame.new(TELEPORTS[idx].pos) canTP = false tpBtn.Text = "WAIT..." tpBtn.BackgroundColor3 = Color3.fromRGB(80,80,80) for i = cooldown, 1, -1 do cdLabel.Text = i.."s" task.wait(1) end cdLabel.Text = "" tpBtn.Text = "TELEPORT" tpBtn.BackgroundColor3 = Color3.fromRGB(0,170,255) canTP = true end end) -- Close button local close = Instance.new("TextButton") close.Size = UDim2.new(0, 32, 0, 32) close.Position = UDim2.new(1, -40, 0, 8) close.BackgroundColor3 = Color3.fromRGB(220,50,50) close.Text = "X" close.TextColor3 = Color3.new(1,1,1) close.Font = Enum.Font.GothamBold close.BorderSizePixel = 0 close.Parent = frame Instance.new("UICorner", close).CornerRadius = UDim.new(0,16) close.Activated:Connect(function() gui:Destroy() end) -- Pop-in animation frame.Size = UDim2.new(0,0,0,0) frame.Position = UDim2.new(0.5,0,0.15,0) TweenService:Create(frame, TweenInfo.new(0.6, Enum.EasingStyle.Back), { Size = UDim2.new(0,200,0,220) }):Play()