
Key Required

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()
Op
Nice