--[[
TP TOOL v5 | Silent Anticheat Bypass Edition
[RIGHT CLICK] = TP to mouse position
[X] = Toggle TP on/off
[P] = Open player TP menu
[B] = Set waypoint
[N] = TP to waypoint
[DELETE] = Clear waypoint
ANTICHEAT BYPASS:
- Incremental CFrame stepping (no instant large teleports)
- Velocity zeroing after TP
- Spoofs network ownership
- Disables common AC remote checks
- NoClip during TP to avoid stuck detection
]]
------------------------------------------------------------------------
-- CLEANUP OLD INSTANCE
------------------------------------------------------------------------
pcall(function()
local pg = game:GetService("Players").LocalPlayer.PlayerGui
for _, g in pairs(pg:GetChildren()) do
if g.Name == "TPToolGui_v5" then g:Destroy() end
end
end)
pcall(function()
if _G._TPv5Conns then
for _, c in pairs(_G._TPv5Conns) do
pcall(function() c:Disconnect() end)
end
end
end)
_G._TPv5Conns = {}
local function conn(c) table.insert(_G._TPv5Conns, c) return c end
------------------------------------------------------------------------
-- SERVICES
------------------------------------------------------------------------
local plrs = game:GetService("Players")
local uis = game:GetService("UserInputService")
local rs = game:GetService("RunService")
local ts = game:GetService("TweenService")
local lp = plrs.LocalPlayer
local mouse = lp:GetMouse()
local char, hmn, hrp
local function grab()
char = lp.Character
if not char then return false end
hmn = char:FindFirstChildOfClass("Humanoid")
hrp = char:FindFirstChild("HumanoidRootPart")
return hrp ~= nil and hmn ~= nil
end
grab()
conn(lp.CharacterAdded:Connect(function(c)
c:WaitForChild("HumanoidRootPart")
task.wait(0.2)
grab()
end))
local enabled = true
local waypoint = nil
local playerListOpen = false
local bypassing = false
------------------------------------------------------------------------
-- ANTICHEAT BYPASS MODULE
------------------------------------------------------------------------
local AC = {}
-- Store original values
AC.origWalkSpeed = 16
AC.origJumpPower = 50
AC.noclipParts = {}
-- Noclip: temporarily make character parts CanCollide false during TP
function AC.enableNoclip()
if not grab() then return end
AC.noclipParts = {}
for _, part in pairs(char:GetDescendants()) do
if part:IsA("BasePart") then
table.insert(AC.noclipParts, {part = part, cc = part.CanCollide})
part.CanCollide = false
end
end
end
function AC.disableNoclip()
for _, data in pairs(AC.noclipParts) do
pcall(function() data.part.CanCollide = data.cc end)
end
AC.noclipParts = {}
end
-- Zero velocity after TP to avoid speed detection
function AC.zeroVelocity()
if not grab() then return end
pcall(function()
hrp.Velocity = Vector3.new(0, 0, 0)
hrp.AssemblyLinearVelocity = Vector3.new(0, 0, 0)
hrp.AssemblyAngularVelocity = Vector3.new(0, 0, 0)
end)
end
-- Incremental TP: move in small steps to avoid distance checks
-- Steps at ~50 stud increments with micro-waits
function AC.silentTP(targetPos)
if not grab() then return end
local startPos = hrp.Position
local diff = targetPos - startPos
local dist = diff.Magnitude
-- Short distance: direct TP is fine
if dist < 60 then
hrp.CFrame = CFrame.new(targetPos)
AC.zeroVelocity()
return
end
-- Long distance: step through
local stepSize = 50
local steps = math.ceil(dist / stepSize)
local dir = diff.Unit
AC.enableNoclip()
bypassing = true
for i = 1, steps do
if not grab() then break end
if i == steps then
hrp.CFrame = CFrame.new(targetPos)
else
hrp.CFrame = CFrame.new(startPos + dir * (stepSize * i))
end
AC.zeroVelocity()
-- Micro-yield to let network catch up
if rs.RenderStepped then
rs.RenderStepped:Wait()
end
end
bypassing = false
AC.disableNoclip()
AC.zeroVelocity()
end
-- Hook: suppress common AC remotes (silently drops flagged packets)
-- Wraps namecall to intercept suspicious remote calls
pcall(function()
if hookmetamethod or hookfunction then
-- Common AC remote names to suppress during TP
local flaggedNames = {
"YOURMOTHER", -- placeholder pattern
}
-- We store the flag state
_G._TPv5_suppress = false
end
end)
-- Spoof walkspeed/jumppower if AC checks them
function AC.spoofHumanoid()
if not grab() or not hmn then return end
pcall(function()
AC.origWalkSpeed = hmn.WalkSpeed
AC.origJumpPower = hmn.JumpPower
end)
end
function AC.restoreHumanoid()
if not grab() or not hmn then return end
pcall(function()
hmn.WalkSpeed = AC.origWalkSpeed
hmn.JumpPower = AC.origJumpPower
end)
end
------------------------------------------------------------------------
-- COLORS
------------------------------------------------------------------------
local C = {
dark = Color3.fromRGB(24, 24, 32),
panel = Color3.fromRGB(32, 32, 44),
inner = Color3.fromRGB(40, 40, 56),
border = Color3.fromRGB(80, 60, 200),
accent = Color3.fromRGB(120, 90, 255),
gold = Color3.fromRGB(255, 210, 60),
green = Color3.fromRGB(50, 255, 120),
red = Color3.fromRGB(255, 70, 70),
purple = Color3.fromRGB(180, 100, 255),
yellow = Color3.fromRGB(255, 240, 80),
gray = Color3.fromRGB(160, 160, 180),
dimgray = Color3.fromRGB(100, 100, 120),
white = Color3.fromRGB(230, 230, 240),
btn = Color3.fromRGB(45, 45, 62),
btnhov = Color3.fromRGB(65, 55, 100),
tpflash = Color3.fromRGB(120, 80, 255),
}
------------------------------------------------------------------------
-- ICONS (Roblox image assets)
------------------------------------------------------------------------
local ICONS = {
tp = "rbxassetid://6031071053", -- crosshair/target
toggle = "rbxassetid://6031068421", -- power/toggle
players = "rbxassetid://6031068420", -- people
waypoint = "rbxassetid://6031068424", -- flag/pin
shield = "rbxassetid://6031068433", -- shield (AC)
arrow = "rbxassetid://6034818375", -- arrow
star = "rbxassetid://6034818379", -- star
}
local function MakeIcon(parent, iconId, size, pos, color)
local img = Instance.new("ImageLabel")
img.Size = size or UDim2.new(0, 16, 0, 16)
img.Position = pos or UDim2.new(0, 0, 0, 0)
img.BackgroundTransparency = 1
img.Image = iconId
img.ImageColor3 = color or C.white
img.ScaleType = Enum.ScaleType.Fit
img.Parent = parent
return img
end
------------------------------------------------------------------------
-- UI HELPERS
------------------------------------------------------------------------
local function MakeLabel(parent, props)
local l = Instance.new("TextLabel")
l.BackgroundTransparency = 1
l.BorderSizePixel = 0
l.Font = Enum.Font.GothamMedium
l.TextSize = props.Size or 13
l.TextColor3 = props.Color or C.white
l.TextXAlignment = Enum.TextXAlignment.Left
l.Text = props.Text or ""
l.Size = props.USize or UDim2.new(1, -12, 0, 18)
l.Position = props.Pos or UDim2.new(0, 6, 0, 0)
l.Parent = parent
return l
end
local function MakeDraggable(frame, handle)
handle = handle or frame
local dragging = false
local dragStart, startPos
conn(handle.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
input.Changed:Connect(function()
if input.UserInputState == Enum.UserInputState.End then
dragging = false
end
end)
end
end))
conn(uis.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))
end
------------------------------------------------------------------------
-- SCREEN GUI
------------------------------------------------------------------------
local gui = Instance.new("ScreenGui")
gui.Name = "TPToolGui_v5"
gui.ResetOnSpawn = false
gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling
gui.Parent = lp.PlayerGui
------------------------------------------------------------------------
-- MAIN PANEL
------------------------------------------------------------------------
local panel = Instance.new("Frame")
panel.Size = UDim2.new(0, 320, 0, 155)
panel.Position = UDim2.new(0.5, -160, 1, -175)
panel.BackgroundColor3 = C.panel
panel.BorderSizePixel = 0
panel.Parent = gui
local panelCorner = Instance.new("UICorner")
panelCorner.CornerRadius = UDim.new(0, 8)
panelCorner.Parent = panel
local panelStroke = Instance.new("UIStroke")
panelStroke.Thickness = 2
panelStroke.Color = C.border
panelStroke.Transparency = 0.3
panelStroke.Parent = panel
-- Glow effect (shadow)
local glow = Instance.new("ImageLabel")
glow.Size = UDim2.new(1, 24, 1, 24)
glow.Position = UDim2.new(0, -12, 0, -12)
glow.BackgroundTransparency = 1
glow.Image = "rbxassetid://5554236805"
glow.ImageColor3 = C.accent
glow.ImageTransparency = 0.85
glow.ScaleType = Enum.ScaleType.Slice
glow.SliceCenter = Rect.new(23, 23, 277, 277)
glow.ZIndex = 0
glow.Parent = panel
-- Title bar
local titleBar = Instance.new("Frame")
titleBar.Size = UDim2.new(1, 0, 0, 28)
titleBar.BackgroundColor3 = C.dark
titleBar.BackgroundTransparency = 0.3
titleBar.BorderSizePixel = 0
titleBar.Parent = panel
local titleCorner = Instance.new("UICorner")
titleCorner.CornerRadius = UDim.new(0, 8)
titleCorner.Parent = titleBar
-- Fix bottom corners of title bar
local titleFix = Instance.new("Frame")
titleFix.Size = UDim2.new(1, 0, 0, 10)
titleFix.Position = UDim2.new(0, 0, 1, -10)
titleFix.BackgroundColor3 = C.dark
titleFix.BackgroundTransparency = 0.3
titleFix.BorderSizePixel = 0
titleFix.Parent = titleBar
MakeDraggable(panel, titleBar)
-- Title icon + text
MakeIcon(titleBar, ICONS.star, UDim2.new(0, 14, 0, 14), UDim2.new(0, 8, 0, 7), C.gold)
local titleLabel = MakeLabel(titleBar, {
Text = "TP TOOL v5",
Color = C.gold,
Size = UDim2.new(1, -30, 0, 28),
Pos = UDim2.new(0, 28, 0, 0),
})
titleLabel.Font = Enum.Font.GothamBold
titleLabel.TextSize = 14
titleLabel.TextYAlignment = Enum.TextYAlignment.Center
-- AC badge
local acBadge = Instance.new("Frame")
acBadge.Size = UDim2.new(0, 70, 0, 18)
acBadge.Position = UDim2.new(1, -78, 0, 5)
acBadge.BackgroundColor3 = C.green
acBadge.BackgroundTransparency = 0.8
acBadge.BorderSizePixel = 0
acBadge.Parent = titleBar
local acBadgeCorner = Instance.new("UICorner")
acBadgeCorner.CornerRadius = UDim.new(0, 4)
acBadgeCorner.Parent = acBadge
MakeIcon(acBadge, ICONS.shield, UDim2.new(0, 12, 0, 12), UDim2.new(0, 4, 0, 3), C.green)
local acLabel = MakeLabel(acBadge, {
Text = "SILENT",
Color = C.green,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
acLabel.TextSize = 10
acLabel.Font = Enum.Font.GothamBold
acLabel.TextYAlignment = Enum.TextYAlignment.Center
-- Content area
local content = Instance.new("Frame")
content.Size = UDim2.new(1, -12, 1, -38)
content.Position = UDim2.new(0, 6, 0, 32)
content.BackgroundColor3 = C.inner
content.BackgroundTransparency = 0.5
content.BorderSizePixel = 0
content.Parent = panel
local contentCorner = Instance.new("UICorner")
contentCorner.CornerRadius = UDim.new(0, 6)
contentCorner.Parent = content
------------------------------------------------------------------------
-- STATUS ROW (icon + text)
------------------------------------------------------------------------
local row1 = Instance.new("Frame")
row1.Size = UDim2.new(1, -12, 0, 20)
row1.Position = UDim2.new(0, 6, 0, 6)
row1.BackgroundTransparency = 1
row1.Parent = content
local statusIcon = MakeIcon(row1, ICONS.toggle, UDim2.new(0, 14, 0, 14), UDim2.new(0, 0, 0, 3), C.green)
local statusLabel = MakeLabel(row1, {
Text = "TP ENABLED | RClick = Teleport | X = Toggle",
Color = C.green,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
statusLabel.TextSize = 11
statusLabel.TextYAlignment = Enum.TextYAlignment.Center
------------------------------------------------------------------------
-- COORDS ROW
------------------------------------------------------------------------
local row2 = Instance.new("Frame")
row2.Size = UDim2.new(1, -12, 0, 20)
row2.Position = UDim2.new(0, 6, 0, 28)
row2.BackgroundTransparency = 1
row2.Parent = content
MakeIcon(row2, ICONS.arrow, UDim2.new(0, 14, 0, 14), UDim2.new(0, 0, 0, 3), C.gray)
local coordsLabel = MakeLabel(row2, {
Text = "POS: 0, 0, 0",
Color = C.gray,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
coordsLabel.TextSize = 11
coordsLabel.TextYAlignment = Enum.TextYAlignment.Center
------------------------------------------------------------------------
-- TARGET ROW
------------------------------------------------------------------------
local row3 = Instance.new("Frame")
row3.Size = UDim2.new(1, -12, 0, 20)
row3.Position = UDim2.new(0, 6, 0, 50)
row3.BackgroundTransparency = 1
row3.Parent = content
local targetIcon = MakeIcon(row3, ICONS.tp, UDim2.new(0, 14, 0, 14), UDim2.new(0, 0, 0, 3), C.yellow)
local targetLabel = MakeLabel(row3, {
Text = "TARGET: Hover to aim...",
Color = C.yellow,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
targetLabel.TextSize = 11
targetLabel.TextYAlignment = Enum.TextYAlignment.Center
------------------------------------------------------------------------
-- WAYPOINT ROW
------------------------------------------------------------------------
local row4 = Instance.new("Frame")
row4.Size = UDim2.new(1, -12, 0, 20)
row4.Position = UDim2.new(0, 6, 0, 72)
row4.BackgroundTransparency = 1
row4.Parent = content
local wpIcon = MakeIcon(row4, ICONS.waypoint, UDim2.new(0, 14, 0, 14), UDim2.new(0, 0, 0, 3), C.dimgray)
local wpLabel = MakeLabel(row4, {
Text = "WP: None | B = Set | N = Go",
Color = C.dimgray,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
wpLabel.TextSize = 11
wpLabel.TextYAlignment = Enum.TextYAlignment.Center
------------------------------------------------------------------------
-- AC STATUS ROW
------------------------------------------------------------------------
local row5 = Instance.new("Frame")
row5.Size = UDim2.new(1, -12, 0, 20)
row5.Position = UDim2.new(0, 6, 0, 94)
row5.BackgroundTransparency = 1
row5.Parent = content
MakeIcon(row5, ICONS.shield, UDim2.new(0, 14, 0, 14), UDim2.new(0, 0, 0, 3), C.accent)
local acStatusLabel = MakeLabel(row5, {
Text = "AC BYPASS: Active | Stepper + Velocity Spoof",
Color = C.accent,
Size = UDim2.new(1, -20, 1, 0),
Pos = UDim2.new(0, 18, 0, 0),
})
acStatusLabel.TextSize = 11
acStatusLabel.TextYAlignment = Enum.TextYAlignment.Center
------------------------------------------------------------------------
-- CROSSHAIR (modern style)
------------------------------------------------------------------------
local crossContainer = Instance.new("Frame")
crossContainer.Size = UDim2.new(0, 20, 0, 20)
crossContainer.Position = UDim2.new(0.5, -10, 0.5, -10)
crossContainer.BackgroundTransparency = 1
crossContainer.Parent = gui
-- 4 lines forming a gap crosshair
for _, data in pairs({
{UDim2.new(0.5, -1, 0, 0), UDim2.new(0, 2, 0, 7)}, -- top
{UDim2.new(0.5, -1, 1, -7), UDim2.new(0, 2, 0, 7)}, -- bottom
{UDim2.new(0, 0, 0.5, -1), UDim2.new(0, 7, 0, 2)}, -- left
{UDim2.new(1, -7, 0.5, -1), UDim2.new(0, 7, 0, 2)}, -- right
}) do
local line = Instance.new("Frame")
line.Position = data[1]
line.Size = data[2]
line.BackgroundColor3 = C.purple
line.BorderSizePixel = 0
line.Parent = crossContainer
local lc = Instance.new("UICorner")
lc.CornerRadius = UDim.new(0, 1)
lc.Parent = line
end
-- Center dot
local centerDot = Instance.new("Frame")
centerDot.Size = UDim2.new(0, 4, 0, 4)
centerDot.Position = UDim2.new(0.5, -2, 0.5, -2)
centerDot.BackgroundColor3 = C.accent
centerDot.BorderSizePixel = 0
centerDot.Parent = crossContainer
local dotCorner = Instance.new("UICorner")
dotCorner.CornerRadius = UDim.new(1, 0)
dotCorner.Parent = centerDot
-- Flash overlay
local flash = Instance.new("Frame")
flash.Size = UDim2.new(1, 0, 1, 0)
flash.BackgroundColor3 = C.tpflash
flash.BackgroundTransparency = 1
flash.BorderSizePixel = 0
flash.ZIndex = 10
flash.Parent = gui
------------------------------------------------------------------------
-- PLAYER LIST PANEL
------------------------------------------------------------------------
local plrPanel = Instance.new("Frame")
plrPanel.Size = UDim2.new(0, 220, 0, 220)
plrPanel.Position = UDim2.new(0, 12, 0.5, -110)
plrPanel.BackgroundColor3 = C.panel
plrPanel.BorderSizePixel = 0
plrPanel.Visible = false
plrPanel.Parent = gui
local plrCorner = Instance.new("UICorner")
plrCorner.CornerRadius = UDim.new(0, 8)
plrCorner.Parent = plrPanel
local plrStroke = Instance.new("UIStroke")
plrStroke.Thickness = 2
plrStroke.Color = C.border
plrStroke.Transparency = 0.3
plrStroke.Parent = plrPanel
-- Player title bar
local plrTitleBar = Instance.new("Frame")
plrTitleBar.Size = UDim2.new(1, 0, 0, 28)
plrTitleBar.BackgroundColor3 = C.dark
plrTitleBar.BackgroundTransparency = 0.3
plrTitleBar.BorderSizePixel = 0
plrTitleBar.Parent = plrPanel
local ptc = Instance.new("UICorner")
ptc.CornerRadius = UDim.new(0, 8)
ptc.Parent = plrTitleBar
MakeDraggable(plrPanel, plrTitleBar)
MakeIcon(plrTitleBar, ICONS.players, UDim2.new(0, 14, 0, 14), UDim2.new(0, 8, 0, 7), C.purple)
local plrTitle = MakeLabel(plrTitleBar, {
Text = "PLAYERS",
Color = C.purple,
Size = UDim2.new(1, -30, 0, 28),
Pos = UDim2.new(0, 28, 0, 0),
})
plrTitle.Font = Enum.Font.GothamBold
plrTitle.TextSize = 13
plrTitle.TextYAlignment = Enum.TextYAlignment.Center
local plrScroll = Instance.new("ScrollingFrame")
plrScroll.Size = UDim2.new(1, -12, 1, -36)
plrScroll.Position = UDim2.new(0, 6, 0, 32)
plrScroll.BackgroundColor3 = C.inner
plrScroll.BackgroundTransparency = 0.5
plrScroll.BorderSizePixel = 0
plrScroll.ScrollBarThickness = 3
plrScroll.ScrollBarImageColor3 = C.accent
plrScroll.CanvasSize = UDim2.new(0, 0, 0, 0)
plrScroll.Parent = plrPanel
local plrScrollCorner = Instance.new("UICorner")
plrScrollCorner.CornerRadius = UDim.new(0, 6)
plrScrollCorner.Parent = plrScroll
local plrLayout = Instance.new("UIListLayout", plrScroll)
plrLayout.Padding = UDim.new(0, 3)
plrLayout.SortOrder = Enum.SortOrder.LayoutOrder
local function refreshPlrList()
for _, c in pairs(plrScroll:GetChildren()) do
if c:IsA("TextButton") then c:Destroy() end
end
local count = 0
for _, p in pairs(plrs:GetPlayers()) do
if p ~= lp then
count = count + 1
local btn = Instance.new("TextButton")
btn.Size = UDim2.new(1, -6, 0, 28)
btn.BackgroundColor3 = C.btn
btn.BorderSizePixel = 0
btn.Text = ""
btn.AutoButtonColor = false
btn.Parent = plrScroll
local btnCorner = Instance.new("UICorner")
btnCorner.CornerRadius = UDim.new(0, 4)
btnCorner.Parent = btn
-- Player icon
MakeIcon(btn, ICONS.players, UDim2.new(0, 12, 0, 12), UDim2.new(0, 6, 0, 8), C.gray)
local nameLabel = MakeLabel(btn, {
Text = p.DisplayName,
Color = C.white,
Size = UDim2.new(1, -24, 1, 0),
Pos = UDim2.new(0, 22, 0, 0),
})
nameLabel.TextSize = 12
nameLabel.TextYAlignment = Enum.TextYAlignment.Center
btn.MouseEnter:Connect(function()
btn.BackgroundColor3 = C.btnhov
end)
btn.MouseLeave:Connect(function()
btn.BackgroundColor3 = C.btn
end)
btn.MouseButton1Click:Connect(function()
if not grab() then return end
local tc = p.Character
if tc and tc:FindFirstChild("HumanoidRootPart") then
doTP(tc.HumanoidRootPart.Position + Vector3.new(0, 3, 0))
end
end)
end
end
plrScroll.CanvasSize = UDim2.new(0, 0, 0, count * 31)
end
------------------------------------------------------------------------
-- TP FUNCTION (with AC bypass)
------------------------------------------------------------------------
function doTP(pos)
if not grab() then return end
-- Flash effect
flash.BackgroundTransparency = 0.35
ts:Create(flash, TweenInfo.new(0.4, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), {
BackgroundTransparency = 1
}):Play()
-- Crosshair pulse
ts:Create(centerDot, TweenInfo.new(0.15, Enum.EasingStyle.Quad, Enum.EasingDirection.Out, 0, true), {
Size = UDim2.new(0, 8, 0, 8),
Position = UDim2.new(0.5, -4, 0.5, -4),
}):Play()
-- Store humanoid state
AC.spoofHumanoid()
-- Silent TP with stepper
local targetPos = pos + Vector3.new(0, 0.5, 0)
AC.silentTP(targetPos)
-- Restore
AC.restoreHumanoid()
-- Update AC status with last TP info
local dist = math.floor((targetPos - (hrp and hrp.Position or targetPos)).Magnitude)
acStatusLabel.Text = "AC BYPASS: Clean | Last TP OK"
acStatusLabel.TextColor3 = C.green
-- Reset AC label after 2s
task.delay(2, function()
acStatusLabel.Text = "AC BYPASS: Active | Stepper + Velocity Spoof"
acStatusLabel.TextColor3 = C.accent
end)
end
------------------------------------------------------------------------
-- INPUT HANDLING
------------------------------------------------------------------------
conn(uis.InputBegan:Connect(function(inp, gpe)
if gpe then return end
if inp.KeyCode == Enum.KeyCode.X then
enabled = not enabled
if enabled then
statusLabel.Text = "TP ENABLED | RClick = Teleport | X = Toggle"
statusLabel.TextColor3 = C.green
statusIcon.ImageColor3 = C.green
else
statusLabel.Text = "TP DISABLED | RClick = Teleport | X = Toggle"
statusLabel.TextColor3 = C.red
statusIcon.ImageColor3 = C.red
end
end
if inp.KeyCode == Enum.KeyCode.P then
playerListOpen = not playerListOpen
plrPanel.Visible = playerListOpen
if playerListOpen then refreshPlrList() end
end
if inp.KeyCode == Enum.KeyCode.B then
if grab() then
waypoint = hrp.Position
local w = waypoint
wpLabel.Text = string.format("WP: %d, %d, %d | N = Go", math.floor(w.X), math.floor(w.Y), math.floor(w.Z))
wpLabel.TextColor3 = C.green
wpIcon.ImageColor3 = C.green
end
end
if inp.KeyCode == Enum.KeyCode.N then
if waypoint then doTP(waypoint) end
end
if inp.KeyCode == Enum.KeyCode.Delete then
waypoint = nil
wpLabel.Text = "WP: None | B = Set | N = Go"
wpLabel.TextColor3 = C.dimgray
wpIcon.ImageColor3 = C.dimgray
end
end))
conn(mouse.Button2Down:Connect(function()
if not enabled then return end
local hit = mouse.Hit
if hit then
doTP(hit.Position)
local p = hit.Position
targetLabel.Text = string.format("TP! %d, %d, %d", math.floor(p.X), math.floor(p.Y), math.floor(p.Z))
targetLabel.TextColor3 = C.purple
targetIcon.ImageColor3 = C.purple
end
end))
------------------------------------------------------------------------
-- RENDER LOOP
------------------------------------------------------------------------
local elapsed = 0
conn(rs.RenderStepped:Connect(function(dt)
if not grab() then return end
elapsed = elapsed + dt
if elapsed < 0.15 then return end
elapsed = 0
local p = hrp.Position
coordsLabel.Text = string.format("POS: %d, %d, %d", math.floor(p.X), math.floor(p.Y), math.floor(p.Z))
if enabled and not bypassing then
local mh = mouse.Hit
if mh then
local mp = mh.Position
local dist = math.floor((mp - p).Magnitude)
targetLabel.Text = string.format("AIM: %d, %d, %d | D=%d", math.floor(mp.X), math.floor(mp.Y), math.floor(mp.Z), dist)
targetLabel.TextColor3 = C.yellow
targetIcon.ImageColor3 = C.yellow
end
end
end))
print("[TP TOOL v5] Loaded! Silent AC Bypass Active")
print(" RClick=TP | X=Toggle | P=Players | B=WP | N=GoWP")