
Key RequiredUniversal

local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local waypointPart = nil
local range = 25
local function setWaypoint()
if waypointPart then
waypointPart:Destroy()
end
waypointPart = Instance.new("Part")
waypointPart.Size = Vector3.new(1, 1, 1)
waypointPart.Anchored = true
waypointPart.CanCollide = false
waypointPart.Transparency = 1
waypointPart.Position = character.PrimaryPart.Position
waypointPart.Parent = workspace
local billboardGui = Instance.new("BillboardGui")
billboardGui.Size = UDim2.new(0, 100, 0, 50)
billboardGui.AlwaysOnTop = true
billboardGui.Adornee = waypointPart
local textLabel = Instance.new("TextLabel")
textLabel.Size = UDim2.new(1, 0, 1, 0)
textLabel.Text = "WP"
textLabel.TextColor3 = Color3.fromRGB(255, 255, 0)
textLabel.BackgroundTransparency = 1
textLabel.TextScaled = true
textLabel.Parent = billboardGui
billboardGui.Parent = waypointPart
end
local function teleportAroundWaypoint()
if waypointPart then
local randomX = math.random(-range, range)
local randomZ = math.random(-range, range)
local targetPosition = Vector3.new(
waypointPart.Position.X + randomX,
waypointPart.Position.Y,
waypointPart.Position.Z + randomZ
)
character:SetPrimaryPartCFrame(CFrame.new(targetPosition))
end
end
game:GetService("UserInputService").InputBegan:Connect(function(input, gameProcessed)
if gameProcessed then return end
if input.KeyCode == Enum.KeyCode.T then
setWaypoint()
elseif input.KeyCode == Enum.KeyCode.R then
teleportAroundWaypoint()
end
end)



mobile unsupported thanks for the free view😎 click T to set the waypoint click R to teleport around it.