TP_Tool_v3_PixelFont

Run Settings
LanguageLua
Language Version
Run Command
--[[ TP TOOL v3 | Advanced Executor Teleport Custom pixel font (no Roblox fonts), draggable UI [RIGHT CLICK] = TP to mouse position [T] = Toggle TP on/off [P] = Open player TP menu [B] = Set waypoint [N] = TP to waypoint [DELETE] = Clear waypoint ]] 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() lp.CharacterAdded:Connect(function(c) c:WaitForChild("HumanoidRootPart") task.wait(0.2) grab() end) local enabled = true local waypoint = nil local playerListOpen = false ------------------------------------------------------------------------ -- PIXEL FONT (5x7 grid per character, Minecraft-style blocky) ------------------------------------------------------------------------ local PIXEL_SIZE = 2 local CHAR_W = 5 local CHAR_H = 7 local SPACING = 1 -- Each char is a 7-row string of 5 bits (1=pixel, 0=empty) local GLYPHS = { ["A"] = {"01110","10001","10001","11111","10001","10001","10001"}, ["B"] = {"11110","10001","10001","11110","10001","10001","11110"}, ["C"] = {"01110","10001","10000","10000","10000","10001","01110"}, ["D"] = {"11100","10010","10001","10001","10001","10010","11100"}, ["E"] = {"11111","10000","10000","11110","10000","10000","11111"}, ["F"] = {"11111","10000","10000","11110","10000","10000","10000"}, ["G"] = {"01110","10001","10000","10111","10001","10001","01110"}, ["H"] = {"10001","10001","10001","11111","10001","10001","10001"}, ["I"] = {"11111","00100","00100","00100","00100","00100","11111"}, ["J"] = {"00111","00010","00010","00010","00010","10010","01100"}, ["K"] = {"10001","10010","10100","11000","10100","10010","10001"}, ["L"] = {"10000","10000","10000","10000","10000","10000","11111"}, ["M"] = {"10001","11011","10101","10101","10001","10001","10001"}, ["N"] = {"10001","11001","10101","10011","10001","10001","10001"}, ["O"] = {"01110","10001","10001","10001","10001","10001","01110"}, ["P"] = {"11110","10001","10001","11110","10000","10000","10000"}, ["Q"] = {"01110","10001","10001","10001","10101","10010","01101"}, ["R"] = {"11110","10001","10001","11110","10100","10010","10001"}, ["S"] = {"01111","10000","10000","01110","00001","00001","11110"}, ["T"] = {"11111","00100","00100","00100","00100","00100","00100"}, ["U"] = {"10001","10001","10001","10001","10001","10001","01110"}, ["V"] = {"10001","10001","10001","10001","01010","01010","00100"}, ["W"] = {"10001","10001","10001","10101","10101","11011","10001"}, ["X"] = {"10001","10001","01010","00100","01010","10001","10001"}, ["Y"] = {"10001","10001","01010","00100","00100","00100","00100"}, ["Z"] = {"11111","00001","00010","00100","01000","10000","11111"}, ["0"] = {"01110","10011","10101","10101","10101","11001","01110"}, ["1"] = {"00100","01100","00100","00100","00100","00100","01110"}, ["2"] = {"01110","10001","00001","00110","01000","10000","11111"}, ["3"] = {"01110","10001","00001","00110","00001","10001","01110"}, ["4"] = {"00010","00110","01010","10010","11111","00010","00010"}, ["5"] = {"11111","10000","11110","00001","00001","10001","01110"}, ["6"] = {"00110","01000","10000","11110","10001","10001","01110"}, ["7"] = {"11111","00001","00010","00100","01000","01000","01000"}, ["8"] = {"01110","10001","10001","01110","10001","10001","01110"}, ["9"] = {"01110","10001","10001","01111","00001","00010","01100"}, [":"] = {"00000","00100","00100","00000","00100","00100","00000"}, [","] = {"00000","00000","00000","00000","00000","00100","01000"}, ["-"] = {"00000","00000","00000","11111","00000","00000","00000"}, ["."] = {"00000","00000","00000","00000","00000","00000","00100"}, ["["] = {"01110","01000","01000","01000","01000","01000","01110"}, ["]"] = {"01110","00010","00010","00010","00010","00010","01110"}, ["="] = {"00000","00000","11111","00000","11111","00000","00000"}, [">"] = {"10000","01000","00100","00010","00100","01000","10000"}, ["<"] = {"00010","00100","01000","10000","01000","00100","00010"}, [" "] = {"00000","00000","00000","00000","00000","00000","00000"}, ["+"] = {"00000","00100","00100","11111","00100","00100","00000"}, ["@"] = {"01110","10001","10101","10111","10000","10001","01110"}, ["("] = {"00010","00100","01000","01000","01000","00100","00010"}, [")"] = {"01000","00100","00010","00010","00010","00100","01000"}, ["/"] = {"00001","00010","00010","00100","01000","01000","10000"}, ["!"] = {"00100","00100","00100","00100","00100","00000","00100"}, ["?"] = {"01110","10001","00001","00110","00100","00000","00100"}, } -- Render pixel text into a parent frame, returns the frame local function RenderPixelText(parent, text, color, scale) scale = scale or 1 local ps = PIXEL_SIZE * scale local container = Instance.new("Frame") container.BackgroundTransparency = 1 container.BorderSizePixel = 0 container.Parent = parent local totalW = 0 local upText = string.upper(text) for i = 1, #upText do local ch = upText:sub(i, i) local glyph = GLYPHS[ch] if not glyph then -- unknown char = space totalW = totalW + (CHAR_W + SPACING) * ps continue end for row = 1, CHAR_H do local rowData = glyph[row] if not rowData then continue end for col = 1, CHAR_W do if rowData:sub(col, col) == "1" then local px = Instance.new("Frame") px.Size = UDim2.new(0, ps, 0, ps) px.Position = UDim2.new(0, totalW + (col - 1) * ps, 0, (row - 1) * ps) px.BackgroundColor3 = color px.BorderSizePixel = 0 px.Parent = container end end end totalW = totalW + (CHAR_W + SPACING) * ps end container.Size = UDim2.new(0, totalW, 0, CHAR_H * ps) return container end -- Update existing pixel text (destroy + recreate) local function UpdatePixelText(container, text, color, scale) for _, c in ipairs(container:GetChildren()) do c:Destroy() end scale = scale or 1 local ps = PIXEL_SIZE * scale local totalW = 0 local upText = string.upper(text) for i = 1, #upText do local ch = upText:sub(i, i) local glyph = GLYPHS[ch] if not glyph then totalW = totalW + (CHAR_W + SPACING) * ps continue end for row = 1, CHAR_H do local rowData = glyph[row] if not rowData then continue end for col = 1, CHAR_W do if rowData:sub(col, col) == "1" then local px = Instance.new("Frame") px.Size = UDim2.new(0, ps, 0, ps) px.Position = UDim2.new(0, totalW + (col - 1) * ps, 0, (row - 1) * ps) px.BackgroundColor3 = color px.BorderSizePixel = 0 px.Parent = container end end end totalW = totalW + (CHAR_W + SPACING) * ps end container.Size = UDim2.new(0, totalW, 0, CHAR_H * ps) end ------------------------------------------------------------------------ -- DRAGGABLE HANDLER ------------------------------------------------------------------------ local function MakeDraggable(frame, handle) handle = handle or frame local dragging = false local dragStart, startPos 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) 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 ------------------------------------------------------------------------ -- GUI ------------------------------------------------------------------------ local old = lp.PlayerGui:FindFirstChild("TPGui") if old then old:Destroy() end local gui = Instance.new("ScreenGui") gui.Name = "TPGui" gui.ResetOnSpawn = false gui.ZIndexBehavior = Enum.ZIndexBehavior.Sibling gui.Parent = lp.PlayerGui -- main panel local panel = Instance.new("Frame") panel.Size = UDim2.new(0, 310, 0, 110) panel.Position = UDim2.new(0.5, -155, 1, -130) panel.BackgroundColor3 = Color3.fromRGB(60, 40, 20) panel.BorderSizePixel = 0 panel.Parent = gui -- MC-style layered border local border1 = Instance.new("UIStroke") border1.Thickness = 4 border1.Color = Color3.fromRGB(20, 12, 5) border1.Parent = panel -- inner 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(80, 55, 30) inner.BorderSizePixel = 0 inner.Parent = panel local innerStroke = Instance.new("UIStroke") innerStroke.Thickness = 2 innerStroke.Color = Color3.fromRGB(110, 80, 45) innerStroke.Parent = inner -- darkened content area local content = Instance.new("Frame") content.Size = UDim2.new(1, -8, 1, -24) content.Position = UDim2.new(0, 4, 0, 20) content.BackgroundColor3 = Color3.fromRGB(30, 20, 10) content.BackgroundTransparency = 0.3 content.BorderSizePixel = 0 content.Parent = inner -- drag handle (title bar area) local dragBar = Instance.new("Frame") dragBar.Size = UDim2.new(1, 0, 0, 20) dragBar.BackgroundTransparency = 1 dragBar.BorderSizePixel = 0 dragBar.Parent = inner MakeDraggable(panel, dragBar) -- title pixel text local titleContainer = Instance.new("Frame") titleContainer.Size = UDim2.new(0, 200, 0, 14) titleContainer.Position = UDim2.new(0, 8, 0, 3) titleContainer.BackgroundTransparency = 1 titleContainer.Parent = inner local titleText = RenderPixelText(titleContainer, "TP TOOL", Color3.fromRGB(255, 200, 60), 1) titleText.Position = UDim2.new(0, 0, 0, 0) -- status row local statusContainer = Instance.new("Frame") statusContainer.Name = "StatusRow" statusContainer.Size = UDim2.new(0, 280, 0, 14) statusContainer.Position = UDim2.new(0, 6, 0, 4) statusContainer.BackgroundTransparency = 1 statusContainer.Parent = content local statusText = RenderPixelText(statusContainer, "TP ON RCLICK=TP T=TOGGLE", Color3.fromRGB(85, 255, 85), 1) -- coords row local coordsContainer = Instance.new("Frame") coordsContainer.Name = "CoordsRow" coordsContainer.Size = UDim2.new(0, 280, 0, 14) coordsContainer.Position = UDim2.new(0, 6, 0, 22) coordsContainer.BackgroundTransparency = 1 coordsContainer.Parent = content local coordsText = RenderPixelText(coordsContainer, "POS 0 0 0", Color3.fromRGB(180, 180, 180), 1) -- target row local targetContainer = Instance.new("Frame") targetContainer.Name = "TargetRow" targetContainer.Size = UDim2.new(0, 280, 0, 14) targetContainer.Position = UDim2.new(0, 6, 0, 40) targetContainer.BackgroundTransparency = 1 targetContainer.Parent = content local targetText = RenderPixelText(targetContainer, "TARGET ...", Color3.fromRGB(255, 255, 85), 1) -- waypoint row local wpContainer = Instance.new("Frame") wpContainer.Name = "WPRow" wpContainer.Size = UDim2.new(0, 280, 0, 14) wpContainer.Position = UDim2.new(0, 6, 0, 58) wpContainer.BackgroundTransparency = 1 wpContainer.Parent = content local wpText = RenderPixelText(wpContainer, "WP NONE B=SET N=GO", Color3.fromRGB(130, 130, 130), 1) -- crosshair (pixel-built) local crossFrame = Instance.new("Frame") crossFrame.Size = UDim2.new(0, 12, 0, 12) crossFrame.Position = UDim2.new(0.5, -6, 0.5, -6) crossFrame.BackgroundTransparency = 1 crossFrame.Parent = gui -- Build pixel crosshair local cColor = Color3.fromRGB(200, 120, 255) for _, pos in ipairs({ {5,0},{5,2},{5,4},{5,6},{5,8},{5,10}, {0,5},{2,5},{4,5},{6,5},{8,5},{10,5}, }) do local px = Instance.new("Frame") px.Size = UDim2.new(0, 2, 0, 2) px.Position = UDim2.new(0, pos[1], 0, pos[2]) px.BackgroundColor3 = cColor px.BorderSizePixel = 0 px.Parent = crossFrame end -- flash overlay 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 ------------------------------------------------------------------------ -- PLAYER LIST (P key) ------------------------------------------------------------------------ local plrPanel = Instance.new("Frame") plrPanel.Size = UDim2.new(0, 210, 0, 200) plrPanel.Position = UDim2.new(0, 12, 0.5, -100) plrPanel.BackgroundColor3 = Color3.fromRGB(60, 40, 20) plrPanel.BorderSizePixel = 0 plrPanel.Visible = false plrPanel.Parent = gui Instance.new("UIStroke", plrPanel).Color = Color3.fromRGB(20, 12, 5) local plrInner = Instance.new("Frame") plrInner.Size = UDim2.new(1, -8, 1, -8) plrInner.Position = UDim2.new(0, 4, 0, 4) plrInner.BackgroundColor3 = Color3.fromRGB(80, 55, 30) plrInner.BorderSizePixel = 0 plrInner.ClipsDescendants = true plrInner.Parent = plrPanel local plrDrag = Instance.new("Frame") plrDrag.Size = UDim2.new(1, 0, 0, 20) plrDrag.BackgroundTransparency = 1 plrDrag.Parent = plrInner MakeDraggable(plrPanel, plrDrag) local plrTitleC = Instance.new("Frame") plrTitleC.Size = UDim2.new(0, 150, 0, 14) plrTitleC.Position = UDim2.new(0, 6, 0, 3) plrTitleC.BackgroundTransparency = 1 plrTitleC.Parent = plrInner RenderPixelText(plrTitleC, "PLAYERS", Color3.fromRGB(200, 120, 255), 1) local plrScroll = Instance.new("ScrollingFrame") plrScroll.Size = UDim2.new(1, -8, 1, -24) plrScroll.Position = UDim2.new(0, 4, 0, 22) plrScroll.BackgroundColor3 = Color3.fromRGB(30, 20, 10) plrScroll.BackgroundTransparency = 0.3 plrScroll.BorderSizePixel = 0 plrScroll.ScrollBarThickness = 4 plrScroll.ScrollBarImageColor3 = Color3.fromRGB(110, 80, 45) plrScroll.CanvasSize = UDim2.new(0, 0, 0, 0) plrScroll.Parent = plrInner local plrLayout = Instance.new("UIListLayout", plrScroll) plrLayout.Padding = UDim.new(0, 3) local function refreshPlrList() for _, c in ipairs(plrScroll:GetChildren()) do if c:IsA("TextButton") then c:Destroy() end end local count = 0 for _, p in ipairs(plrs:GetPlayers()) do if p ~= lp then count += 1 local btn = Instance.new("TextButton") btn.Size = UDim2.new(1, -6, 0, 20) btn.BackgroundColor3 = Color3.fromRGB(50, 35, 18) btn.BorderSizePixel = 0 btn.Text = "" btn.Parent = plrScroll Instance.new("UIStroke", btn).Color = Color3.fromRGB(70, 50, 28) -- pixel name local nc = Instance.new("Frame") nc.Size = UDim2.new(1, 0, 0, 14) nc.Position = UDim2.new(0, 4, 0, 3) nc.BackgroundTransparency = 1 nc.Parent = btn RenderPixelText(nc, p.DisplayName, Color3.fromRGB(200, 200, 200), 1) btn.MouseEnter:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(90, 55, 25) end) btn.MouseLeave:Connect(function() btn.BackgroundColor3 = Color3.fromRGB(50, 35, 18) 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 * 23) end ------------------------------------------------------------------------ -- TP ------------------------------------------------------------------------ function doTP(pos) if not grab() then return end flash.BackgroundTransparency = 0.4 ts:Create(flash, TweenInfo.new(0.35, Enum.EasingStyle.Quad, Enum.EasingDirection.Out), { BackgroundTransparency = 1 }):Play() hrp.CFrame = CFrame.new(pos + Vector3.new(0, 0.5, 0)) end ------------------------------------------------------------------------ -- INPUT ------------------------------------------------------------------------ uis.InputBegan:Connect(function(inp, gpe) if gpe then return end if inp.KeyCode == Enum.KeyCode.T then enabled = not enabled if enabled then UpdatePixelText(statusContainer, "TP ON RCLICK=TP T=TOGGLE", Color3.fromRGB(85, 255, 85), 1) else UpdatePixelText(statusContainer, "TP OFF RCLICK=TP T=TOGGLE", Color3.fromRGB(255, 85, 85), 1) 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 UpdatePixelText(wpContainer, string.format("WP %d %d %d N=GO", math.floor(w.X), math.floor(w.Y), math.floor(w.Z)), Color3.fromRGB(85, 255, 85), 1) 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 UpdatePixelText(wpContainer, "WP NONE B=SET N=GO", Color3.fromRGB(130, 130, 130), 1) end end) mouse.Button2Down:Connect(function() if not enabled then return end local hit = mouse.Hit if hit then doTP(hit.Position) local p = hit.Position UpdatePixelText(targetContainer, string.format("TP! %d %d %d", math.floor(p.X), math.floor(p.Y), math.floor(p.Z)), Color3.fromRGB(200, 120, 255), 1) end end) ------------------------------------------------------------------------ -- UPDATE LOOP ------------------------------------------------------------------------ local tick2 = 0 rs.RenderStepped:Connect(function(dt) if not grab() then return end tick2 += dt -- throttle pixel text updates (heavy) to 5 fps if tick2 < 0.2 then return end tick2 = 0 local p = hrp.Position UpdatePixelText(coordsContainer, string.format("POS %d %d %d", math.floor(p.X), math.floor(p.Y), math.floor(p.Z)), Color3.fromRGB(180, 180, 180), 1) if enabled then local mh = mouse.Hit if mh then local mp = mh.Position local dist = math.floor((mp - p).Magnitude) UpdatePixelText(targetContainer, string.format("AIM %d %d %d D=%d", math.floor(mp.X), math.floor(mp.Y), math.floor(mp.Z), dist), Color3.fromRGB(255, 255, 85), 1) end end end) print("[TP v3] Loaded! RClick=TP T=Toggle P=Players B=WP N=GoWP")
Editor Settings
Theme
Key bindings
Full width
Lines