
Waypoint
Puntos de ruta como marcadores 3D en el mundo. El punto de ruta de GTA del mapa se muestra automáticamente, otros scripts colocan sus propios puntos de ruta mediante exports en el cliente o en el servidor. El script no necesita ningún framework.
Requisitos
- OneSync, solo si scripts del servidor usan
onArrive(el servidor comprueba entonces la distancia)
Funciones
- Punto de ruta de GTA como marcador 3D con distancia. Al llegar, el punto de ruta se borra.
- Dos tipos:
checkpointcon una línea hasta el suelo ysmallcomo marcador flotante. - Configurable por punto de ruta: color, icono o imagen, texto, distancia, blip con ruta GPS, tiempo de caducidad y una función al llegar.
- Exports para cliente y servidor.
- Ligero: Solo se dibujan los puntos de ruta más cercanos (
maxVisible), las instancias del navegador se reutilizan y se limpian cuando ya no se necesitan.
Instalación
- Pon la carpeta
off_waypointen tu carpetaresources. - En el
server.cfg:
ensure off_waypointConfiguración
config/settings/config.lua
| Opción | Predeterminado | Descripción |
|---|---|---|
serverInfo.name | 'OFF SCRIPTS' | Nombre del servidor, se muestra en la interfaz en lugar de «OFF SCRIPTS» |
serverInfo.locale | 'de' | Idioma: de, en, pl, fr, es o it |
serverInfo.color | { 155, 89, 255 } | Color del servidor (RGB), también para puntos de ruta sin color propio |
serverInfo.design | 3 | Diseño de la interfaz: 1 = Clásico, 2 = Ticket, 3 = Storefront |
type | 'checkpoint' | Tipo predeterminado: 'checkpoint' o 'small' |
drawDistance | 500.0 | Distancia de visión predeterminada en metros |
displayDistance | true | Mostrar la distancia de forma predeterminada |
maxVisible | 6 | Cuántos puntos de ruta se muestran a la vez, los más cercanos primero |
blip | { sprite = 162, color = 17, scale = 0.8 } | Valores predeterminados para los blips de los puntos de ruta |
mapWaypoint.enabled | true | Mostrar el punto de ruta de GTA como marcador 3D |
mapWaypoint.type | 'checkpoint' | Tipo del punto de ruta de GTA |
mapWaypoint.drawDistance | 10000.0 | Distancia de visión del punto de ruta de GTA |
mapWaypoint.arriveDistance | 25.0 | A partir de esta distancia se borra el punto de ruta de GTA, 0 = nunca |
Idiomas
El texto predeterminado de los puntos de ruta y los mensajes de consola están en config/locales/ (un archivo por idioma).
Opciones del punto de ruta
Puedes pasar estos campos al crear y al modificar. Solo coords es obligatorio.
| Campo | Descripción |
|---|---|
coords | vector3, vector4 o { x, y, z } |
type | 'checkpoint' o 'small' |
label | Texto bajo la distancia, false = sin texto |
color | '#9b59ff' o { 155, 89, 255 } |
icon / iconColor | Icono de Phosphor (p. ej. 'ph-flag', predeterminado 'ph-map-pin') y un color de icono propio |
image | URL de imagen en lugar de icono |
displayDistance | Mostrar la distancia |
size | Tamaño, predeterminado 1.0 |
drawDistance / fadeDistance | Distancia de visión y distancia desde la que el punto de ruta se desvanece |
dynamicScaling | Se hace más grande y más alto con la distancia, como el punto de ruta de GTA |
arriveDistance | Radio de llegada en metros, predeterminado 5.0 |
onArrive | Función al llegar: en el cliente (id, metadata), en el servidor (source, id) |
removeDistance | Se borra en cuanto estás así de cerca |
duration | Milisegundos hasta que se borra el punto de ruta |
blip | true o { sprite, color, scale, name, shortRange } |
route / routeColor | Ruta GPS hasta el punto de ruta (coloca un blip automáticamente) y su color |
groundZ / minHeight / maxHeight | Solo checkpoint: altura del suelo de la línea y límites de su altura |
metadata | Datos libres, vuelven en onArrive y GetWaypoint |
Para desarrolladores
-- Cliente
local id = exports.off_waypoint:AddWaypoint({
coords = vector3(215.0, -810.0, 30.7),
label = 'Recogida',
icon = 'ph-package',
color = '#3B9EFF',
route = true,
onArrive = function(id)
exports.off_waypoint:RemoveWaypoint(id)
end,
})
exports.off_waypoint:UpdateWaypoint(id, { label = 'Abgabe', coords = vector3(300.0, -900.0, 29.3) })
exports.off_waypoint:RemoveWaypoint(id) -- con desvanecimiento, RemoveWaypoint(id, true) al instante
exports.off_waypoint:RemoveAllWaypoints() -- todos los puntos de ruta de tu script
local waypoint = exports.off_waypoint:GetWaypoint(id)
local exists = exports.off_waypoint:HasWaypoint(id)
-- Servidor
local id = exports.off_waypoint:AddWaypoint(source, {
coords = vector3(215.0, -810.0, 30.7),
label = 'Lieferung',
onArrive = function(source, id)
exports.off_waypoint:RemoveWaypoint(source, id)
end,
})
exports.off_waypoint:UpdateWaypoint(source, id, { label = 'Neue Adresse' })
exports.off_waypoint:RemoveWaypoint(source, id)
exports.off_waypoint:RemoveAllWaypoints(source) -- todos los puntos de ruta de tu script en este jugador
local exists = exports.off_waypoint:HasWaypoint(source, id)- Si un script se detiene, sus puntos de ruta se eliminan automáticamente.
onArriveen el servidor solo se activa si, según el servidor, el jugador está realmente cerca.
Problemas frecuentes
| Problema | Solución |
|---|---|
| Los puntos de ruta son invisibles | Falta web/dist – ejecuta npm install y npm run build en la carpeta web. |
| No se ven todos los puntos de ruta | Solo se muestran los maxVisible más cercanos, aumenta el valor en la config. |
| Falta el icono | Comprueba el nombre en phosphoricons.com, p. ej. ph-flag. |
onArrive en el servidor no llega | OneSync debe estar activado y arriveDistance debe ajustarse al lugar. |
¿Aún no lo has comprado?
Ver Waypoint en la tienda