bfx-waypoints — 3D Waypoint Beams via DUI
Standalone resource that renders 3D waypoint beams in world space using runtime DUI textures. Each waypoint shows a colored beam with live distance and a label. No framework dependencies.
Preview
Important — Developer Resource
This is NOT a plug-and-play waypoint system for players.
This resource is developer-focused, meaning you must add, update, and remove waypoints manually via exports from your own scripts.
There is no UI, no player commands, and no automatic GPS integration by default.
Features
- Real 3D geometry (
DrawMarkertype 9) — depth-tested, clips behind buildings - Per-waypoint color, label, and live distance counter
- Scales with distance — small up close, tall from far away
- Fades out when you get close
- Optional auto-remove on approach (enabled by default)
- Lazy render loop — zero overhead when no waypoints are active
- Fully controlled via exports, drop it in and call from any resource
Installation
- Drop
bfx-waypointsinto your resources folder - Add
ensure bfx-waypointsto your server.cfg - Call the exports from any client-side script
Usage
-- spawn a red waypoint
local id = exports['bfx-waypoints']:AddWaypoint(vector3(200.0, -800.0, 30.0), {
label = "DELIVERY",
color = "#E74C3C",
})
-- spawn with defaults (white, auto-removes at 5m)
local id = exports['bfx-waypoints']:AddWaypoint(vector3(200.0, -800.0, 30.0))
-- persistent waypoint (won't auto-remove)
local id = exports['bfx-waypoints']:AddWaypoint(pos, {
label = "HQ",
color = "#3498DB",
autoRemove = false,
})
-- remove it manually
exports['bfx-waypoints']:RemoveWaypoint(id)
-- update color/label/position on the fly
exports['bfx-waypoints']:UpdateWaypoint(id, { color = "#2ECC71", label = "DONE" })
-- find a waypoint near a coord
local id = exports['bfx-waypoints']:GetWaypointForCoord(vector3(200.0, -800.0, 30.0), 10.0)
-- nuke everything
exports['bfx-waypoints']:ClearWaypoints()
