
Key Required

-- Roblox Immortal Teleport GUI with Draggable 🍕 Hide/Show Button
-- ✕ = delete GUI completely
-- 🍕 = toggle hide/show (draggable at all times)
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")
local player = Players.LocalPlayer
local GUI_NAME = "ImmortalTeleportGUI"
-- Clean old version
if CoreGui:FindFirstChild(GUI_NAME) then
CoreGui[GUI_NAME]:Destroy()
end
local screenGui = Instance.new("ScreenGui")
screenGui.Name = GUI_NAME
screenGui.ResetOnSpawn = false
screenGui.IgnoreGuiInset = true
screenGui.Parent = CoreGui
-- Main Frame (the full menu)
local frame = Instance.new("Frame")
frame.Name = "MainFrame"
frame.Size = UDim2.new(0, 300, 0, 260)
frame.Position = UDim2.new(0.5, -150, 0.5, -130)
frame.BackgroundColor3 = Color3.fromRGB(25, 25, 25)
frame.BorderSizePixel = 0
frame.BackgroundTransparency = 0.05
frame.Parent = screenGui
local corner = Instance.new("UICorner")
corner.CornerRadius = UDim.new(0, 16)
corner.Parent = frame
local stroke = Instance.new("UIStroke")
stroke.Color = Color3.fromRGB(255, 215, 0)
stroke.Thickness = 3
stroke.Parent = frame
-- Title
local title = Instance.new("TextLabel")
title.Size = UDim2.new(1, 0, 0, 50)
title.BackgroundTransparency = 1
title.Text = "🍀 TELEPORT MENU 🍀"
title.TextColor3 = Color3.fromRGB(255, 215, 0)
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.Parent = frame
-- Lucky Block Button
local luckyButton = Instance.new("TextButton")
luckyButton.Size = UDim2.new(0.9, 0, 0.28, 0)
luckyButton.Position = UDim2.new(0.05, 0, 0.32, 0)
luckyButton.BackgroundColor3 = Color3.fromRGB(255, 215, 0)
luckyButton.Text = "TELEPORT INTO A LUCKY BLOCK ✨"
luckyButton.TextColor3 = Color3.fromRGB(0, 0, 0)
luckyButton.TextScaled = true
luckyButton.Font = Enum.Font.GothamBold
luckyButton.Parent = frame
local luckyCorner = Instance.new("UICorner")
luckyCorner.CornerRadius = UDim.new(0, 12)
luckyCorner.Parent = luckyButton
local luckyStroke = Instance.new("UIStroke")
luckyStroke.Color = Color3.fromRGB(255, 255, 255)
luckyStroke.Thickness = 2
luckyStroke.Parent = luckyButton
-- Mr. Chair Button
local chairButton = Instance.new("TextButton")
chairButton.Size = UDim2.new(0.9, 0, 0.28, 0)
chairButton.Position = UDim2.new(0.05, 0, 0.65, 0)
chairButton.BackgroundColor3 = Color3.fromRGB(100, 50, 255)
chairButton.Text = "TELEPORT INTO MR. CHAIR 🪑\n(Only Works After Sewer Teleport)"
chairButton.TextColor3 = Color3.fromRGB(255, 255, 255)
chairButton.TextScaled = true
chairButton.TextWrapped = true
chairButton.Font = Enum.Font.GothamBold
chairButton.Parent = frame
local chairCorner = Instance.new("UICorner")
chairCorner.CornerRadius = UDim.new(0, 12)
chairCorner.Parent = chairButton
local chairStroke = Instance.new("UIStroke")
chairStroke.Color = Color3.fromRGB(255, 255, 255)
chairStroke.Thickness = 2
chairStroke.Parent = chairButton
-- 🍕 Hide/Show Button (draggable always)
local toggleBtn = Instance.new("TextButton")
toggleBtn.Name = "TogglePizza"
toggleBtn.Size = UDim2.new(0, 50, 0, 50)
toggleBtn.Position = UDim2.new(0, 20, 0, 20) -- starting corner position
toggleBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 100)
toggleBtn.Text = "🍕"
toggleBtn.TextScaled = true
toggleBtn.Font = Enum.Font.GothamBold
toggleBtn.Parent = screenGui -- Parent to ScreenGui so it stays on top & draggable independently
local toggleCorner = Instance.new("UICorner")
toggleCorner.CornerRadius = UDim.new(1, 0) -- fully round
toggleCorner.Parent = toggleBtn
local toggleStroke = Instance.new("UIStroke")
toggleStroke.Color = Color3.fromRGB(255, 215, 0)
toggleStroke.Thickness = 2.5
toggleStroke.Parent = toggleBtn
-- Close Button (top right of main frame - deletes everything)
local closeBtn = Instance.new("TextButton")
closeBtn.Size = UDim2.new(0, 35, 0, 35)
closeBtn.Position = UDim2.new(1, -43, 0, 8)
closeBtn.BackgroundTransparency = 1
closeBtn.Text = "✕"
closeBtn.TextColor3 = Color3.fromRGB(255, 80, 80)
closeBtn.TextScaled = true
closeBtn.Font = Enum.Font.GothamBold
closeBtn.Parent = frame
-- Hover effect for 🍕 button
toggleBtn.MouseEnter:Connect(function()
TweenService:Create(toggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 150, 150)}):Play()
end)
toggleBtn.MouseLeave:Connect(function()
TweenService:Create(toggleBtn, TweenInfo.new(0.2), {BackgroundColor3 = Color3.fromRGB(255, 100, 100)}):Play()
end)
-- Draggable logic for 🍕 button (independent)
local dragging, dragInput, dragStart, startPos = false, nil, nil, nil
local function update(input)
local delta = input.Position - dragStart
toggleBtn.Position = UDim2.new(startPos.X.Scale, startPos.X.Offset + delta.X, startPos.Y.Scale, startPos.Y.Offset + delta.Y)
end
toggleBtn.InputBegan:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseButton1 or input.UserInputType == Enum.UserInputType.Touch then
dragging = true
dragStart = input.Position
startPos = toggleBtn.Position
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end)
toggleBtn.InputChanged:Connect(function(input)
if input.UserInputType == Enum.UserInputType.MouseMovement or input.UserInputType == Enum.UserInputType.Touch then
dragInput = input
end
end)
UserInputService.InputChanged:Connect(function(input)
if input == dragInput and dragging then
update(input)
end
end)
-- Toggle hide/show logic
local isHidden = false
toggleBtn.MouseButton1Click:Connect(function()
isHidden = not isHidden
if isHidden then
-- Hide main GUI
frame.Visible = false
toggleBtn.Text = "🍕"
toggleBtn.BackgroundColor3 = Color3.fromRGB(0, 180, 100) -- green when hidden
print("GUI hidden - drag 🍕 anywhere & click to show")
else
-- Show main GUI (centered on the 🍕 button for smooth feel)
frame.Visible = true
frame.Position = UDim2.new(toggleBtn.Position.X.Scale, toggleBtn.Position.X.Offset - 125, toggleBtn.Position.Y.Scale, toggleBtn.Position.Y.Offset - 100)
toggleBtn.Text = "🍕"
toggleBtn.BackgroundColor3 = Color3.fromRGB(255, 100, 100) -- red when visible
print("GUI shown")
end
end)
-- Teleport functions (same as before)
local function teleportTo(pos, button, originalText, originalColor)
local character = player.Character or player.CharacterAdded:Wait()
local hrp = character:WaitForChild("HumanoidRootPart", 8)
if hrp then
hrp.CFrame = CFrame.new(pos)
local oldText = button.Text
button.Text = "TELEPORTED! 🎉"
button.BackgroundColor3 = Color3.fromRGB(0, 255, 100)
task.wait(1.8)
button.Text = oldText
button.BackgroundColor3 = originalColor
else
button.Text = "No HRP! Retry"
task.wait(2)
button.Text = originalText
end
end
luckyButton.MouseButton1Click:Connect(function()
teleportTo(Vector3.new(0, 866, -1423), luckyButton, "TELEPORT INTO A LUCKY BLOCK ✨", Color3.fromRGB(255, 215, 0))
end)
chairButton.MouseButton1Click:Connect(function()
teleportTo(Vector3.new(39, 4102, 383), chairButton, "TELEPORT INTO MR. CHAIR 🪑\n(Only Works After Sewer Teleport)", Color3.fromRGB(100, 50, 255))
end)
-- Permanent delete
closeBtn.MouseButton1Click:Connect(function()
screenGui:Destroy()
print("GUI fully deleted - re-execute to bring back 🍕")
end)
-- Respawn safety
player.CharacterAdded:Connect(function()
task.wait(0.5)
if not CoreGui:FindFirstChild(GUI_NAME) then
screenGui.Parent = CoreGui
end
end)
print("🍀 Teleport GUI with draggable 🍕 toggle loaded!")
print("→ Drag 🍕 anywhere on screen")
print("→ Click 🍕 to hide/show the menu")
print("→ ✕ deletes everything")No comments yet for this script.