--[[
⛏️ TELEPORT TOOL v1.0
Minecraft-style TP Tool for Executors
Click anywhere in the world to teleport there.
Blocky MC-style cursor + HUD, no imported fonts.
HOW IT WORKS:
- Hold [T] or click the TP button to toggle TP mode
- While TP mode is ON, click anywhere to teleport
- Shows coordinates + distance on HUD
]]
local Players = game:GetService("Players")
local UserInputService = game:GetService("UserInputService")
local RunService = game:GetService("RunService")
local TweenService = game:GetService("TweenService")
local Mouse = Players.LocalPlayer:GetMouse()
local Player = Players.LocalPlayer
local Camera = workspace.CurrentCamera
local Character = Player.Character or Player.CharacterAdded:Wait()
local Humanoid = Character:WaitForChild("Humanoid")
local RootPart = Character:WaitForChild("HumanoidRootPart")
Player.CharacterAdded:Connect(function(char)
Character = char
Humanoid = char:WaitForChild("Humanoid")
RootPart = char:WaitForChild("HumanoidRootPart")
end)
local tpEnabled = true
------------------------------------------------------------------------
-- HUD
------------------------------------------------------------------------
local old = Player.PlayerGui:FindFirstChild("TPHUD")
if old then old:Destroy() end
local Gui = Instance.new("ScreenGui")
Gui.Name = "TPHUD"
Gui.ResetOnSpawn = false
Gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
Gui.Parent = Player.PlayerGui
-- Main bar
local Bar = Instance.new("Frame")
Bar.Size = UDim2.new(0, 260, 0, 72)
Bar.Position = UDim2.new(0.5, -130, 1, -95)
Bar.BackgroundColor3 = Color3.fromRGB(28, 28, 28)
Bar.BorderSizePixel = 0
Bar.Parent = Gui
local barStroke = Instance.new("UIStroke")
barStroke.Thickness = 3
barStroke.Color = Color3.fromRGB(10, 10, 10)
barStroke.Parent = Bar
local Inner = Instance.new("Frame")
Inner.Size = UDim2.new(1, -8, 1, -8)
Inner.Position = UDim2.new(0, 4, 0, 4)
Inner.BackgroundColor3 = Color3.fromRGB(42, 42, 42)
Inner.BorderSizePixel = 0
Inner.Parent = Bar
Instance.new("UIStroke", Inner).Color = Color3.fromRGB(58, 58, 58)
-- Status label
local StatusLabel = Instance.new("TextLabel")
StatusLabel.Size = UDim2.new(1, -12, 0, 16)
StatusLabel.Position = UDim2.new(0, 6, 0, 4)
StatusLabel.BackgroundTransparency = 1
StatusLabel.Text = "[ TP MODE: ON ]"
StatusLabel.TextColor3 = Color3.fromRGB(85, 255, 85)
StatusLabel.TextSize = 13
StatusLabel.Font = Enum.Font.Code
StatusLabel.Parent = Inner
-- Coords label
local CoordsLabel = Instance.new("TextLabel")
CoordsLabel.Size = UDim2.new(1, -12, 0, 14)
CoordsLabel.Position = UDim2.new(0, 6, 0, 22)
CoordsLabel.BackgroundTransparency = 1
CoordsLabel.Text = "X: 0 Y: 0 Z: 0"
CoordsLabel.TextColor3 = Color3.fromRGB(180, 180, 180)
CoordsLabel.TextSize = 11
CoordsLabel.Font = Enum.Font.Code
CoordsLabel.TextXAlignment = Enum.TextXAlignment.Left
CoordsLabel.Parent = Inner
-- Target label
local TargetLabel = Instance.new("TextLabel")
TargetLabel.Size = UDim2.new(1, -12, 0, 14)
TargetLabel.Position = UDim2.new(0, 6, 0, 37)
TargetLabel.BackgroundTransparency = 1
TargetLabel.Text = "Target: --"
TargetLabel.TextColor3 = Color3.fromRGB(255, 255, 85)
TargetLabel.TextSize = 11
TargetLabel.Font = Enum.Font.Code
TargetLabel.TextXAlignment = Enum.TextXAlignment.Left
TargetLabel.Parent = Inner
-- Toggle button
local ToggleBtn = Instance.new("TextButton")
ToggleBtn.Size = UDim2.new(0, 50, 0, 18)
ToggleBtn.Position = UDim2.new(1, -56, 0, 42)
ToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 50)
ToggleBtn.BorderSizePixel = 0
ToggleBtn.Text = "[T] ON"
ToggleBtn.TextColor3 = Color3.fromRGB(255, 255, 255)
ToggleBtn.TextSize = 11
ToggleBtn.Font = Enum.Font.Code
ToggleBtn.Parent = Inner
Instance.new("UIStroke", ToggleBtn).Color = Color3.fromRGB(30, 30, 30)
-- Crosshair
local Cross = Instance.new("TextLabel")
Cross.Size = UDim2.new(0, 24, 0, 24)
Cross.Position = UDim2.new(0.5, -12, 0.5, -12)
Cross.BackgroundTransparency = 1
Cross.Text = "+"
Cross.TextColor3 = Color3.fromRGB(255, 255, 255)
Cross.TextSize = 24
Cross.Font = Enum.Font.Code
Cross.TextStrokeTransparency = 0.3
Cross.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)
Cross.Parent = Gui
-- TP flash effect
local Flash = Instance.new("Frame")
Flash.Size = UDim2.new(1, 0, 1, 0)
Flash.BackgroundColor3 = Color3.fromRGB(140, 80, 255)
Flash.BackgroundTransparency = 1
Flash.BorderSizePixel = 0
Flash.ZIndex = 10
Flash.Parent = Gui
------------------------------------------------------------------------
-- TOGGLE
------------------------------------------------------------------------
local function Toggle()
tpEnabled = not tpEnabled
if tpEnabled then
StatusLabel.Text = "[ TP MODE: ON ]"
StatusLabel.TextColor3 = Color3.fromRGB(85, 255, 85)
ToggleBtn.Text = "[T] ON"
ToggleBtn.BackgroundColor3 = Color3.fromRGB(50, 180, 50)
else
StatusLabel.Text = "[ TP MODE: OFF ]"
StatusLabel.TextColor3 = Color3.fromRGB(255, 85, 85)
ToggleBtn.Text = "[T] OFF"
ToggleBtn.BackgroundColor3 = Color3.fromRGB(180, 50, 50)
end
end
ToggleBtn.MouseButton1Click:Connect(Toggle)
UserInputService.InputBegan:Connect(function(input, gpe)
if gpe then return end
if input.KeyCode == Enum.KeyCode.T then
Toggle()
end
end)
------------------------------------------------------------------------
-- TELEPORT
------------------------------------------------------------------------
local function DoTP(pos)
if not RootPart or not RootPart.Parent then return end
-- Flash effect
Flash.BackgroundTransparency = 0.5
TweenService:Create(Flash, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
BackgroundTransparency = 1
}):Play()
-- Teleport (offset Y up a bit so you don't clip into floor)
RootPart.CFrame = CFrame.new(pos + Vector3.new(0, 3, 0))
TargetLabel.Text = string.format("TP >> X:%d Y:%d Z:%d", math.floor(pos.X), math.floor(pos.Y), math.floor(pos.Z))
TargetLabel.TextColor3 = Color3.fromRGB(170, 85, 255)
task.delay(1.5, function()
pcall(function()
TargetLabel.TextColor3 = Color3.fromRGB(255, 255, 85)
end)
end)
end
Mouse.Button1Down:Connect(function()
if not tpEnabled then return end
local target = Mouse.Hit
if target then
DoTP(target.Position)
end
end)
------------------------------------------------------------------------
-- UPDATE LOOP (coords display)
------------------------------------------------------------------------
RunService.RenderStepped:Connect(function()
if not RootPart or not RootPart.Parent then return end
local p = RootPart.Position
CoordsLabel.Text = string.format("X: %d Y: %d Z: %d", math.floor(p.X), math.floor(p.Y), math.floor(p.Z))
-- Update crosshair color based on mode
Cross.TextColor3 = tpEnabled and Color3.fromRGB(170, 85, 255) or Color3.fromRGB(255, 255, 255)
end)
print("[TP TOOL] Loaded! Click to teleport | [T] to toggle on/off")