
Waypoint
Waypoint come marcatori 3D nel mondo. Il waypoint GTA della mappa viene mostrato automaticamente, altri script impostano i propri waypoint tramite export sul client o sul server. Lo script non richiede alcun framework.
Requisiti
- OneSync, solo se gli script server usano
onArrive(il server controlla quindi la distanza)
Funzionalità
- Waypoint GTA come marcatore 3D con distanza. All'arrivo il waypoint viene eliminato.
- Due tipi:
checkpointcon una linea fino al suolo esmallcome marcatore sospeso. - Impostabile per ogni waypoint: colore, icona o immagine, testo, distanza, blip con percorso GPS, scadenza e una funzione all'arrivo.
- Export per client e server.
- Leggero: Vengono disegnati solo i waypoint più vicini (
maxVisible), le istanze del browser vengono riutilizzate e liberate quando non servono più.
Installazione
- Metti la cartella
off_waypointnella tua cartellaresources. - Nel
server.cfg:
ensure off_waypointConfigurazione
config/settings/config.lua
| Opzione | Predefinito | Descrizione |
|---|---|---|
serverInfo.name | 'OFF SCRIPTS' | Nome del server, mostrato nell'interfaccia al posto di «OFF SCRIPTS» |
serverInfo.locale | 'de' | Lingua: de, en, pl, fr, es o it |
serverInfo.color | { 155, 89, 255 } | Colore del server (RGB), anche per i waypoint senza un proprio color |
serverInfo.design | 3 | Design dell'interfaccia: 1 = Classico, 2 = Scontrino, 3 = Storefront |
type | 'checkpoint' | Tipo predefinito: 'checkpoint' o 'small' |
drawDistance | 500.0 | Distanza di visibilità predefinita in metri |
displayDistance | true | Mostra la distanza di default |
maxVisible | 6 | Quanti waypoint vengono mostrati contemporaneamente, prima i più vicini |
blip | { sprite = 162, color = 17, scale = 0.8 } | Valori predefiniti per i blip dei waypoint |
mapWaypoint.enabled | true | Mostra il waypoint GTA come marcatore 3D |
mapWaypoint.type | 'checkpoint' | Tipo del waypoint GTA |
mapWaypoint.drawDistance | 10000.0 | Distanza di visibilità del waypoint GTA |
mapWaypoint.arriveDistance | 25.0 | Entro questa distanza il waypoint GTA viene eliminato, 0 = mai |
Lingue
Il testo predefinito dei waypoint e i messaggi della console si trovano in config/locales/ (un file per lingua).
Opzioni dei waypoint
Puoi passare questi campi quando crei e modifichi. Solo coords è obbligatorio.
| Campo | Descrizione |
|---|---|
coords | vector3, vector4 o { x, y, z } |
type | 'checkpoint' o 'small' |
label | Testo sotto la distanza, false = nessun testo |
color | '#9b59ff' o { 155, 89, 255 } |
icon / iconColor | Icona Phosphor (ad es. 'ph-flag', predefinita 'ph-map-pin') e un colore proprio per l'icona |
image | URL di un'immagine al posto dell'icona |
displayDistance | Mostra la distanza |
size | Dimensione, predefinita 1.0 |
drawDistance / fadeDistance | Distanza di visibilità e distanza da cui il waypoint sfuma |
dynamicScaling | Diventa più grande e più alto con la distanza, come il waypoint GTA |
arriveDistance | Raggio di arrivo in metri, predefinito 5.0 |
onArrive | Funzione all'arrivo: sul client (id, metadata), sul server (source, id) |
removeDistance | Viene eliminato appena sei così vicino |
duration | Millisecondi prima che il waypoint venga eliminato |
blip | true o { sprite, color, scale, name, shortRange } |
route / routeColor | Percorso GPS verso il waypoint (imposta automaticamente un blip) e il suo colore |
groundZ / minHeight / maxHeight | Solo checkpoint: altezza del suolo della linea e limiti della sua altezza |
metadata | Dati liberi, tornano in onArrive e GetWaypoint |
Per sviluppatori
-- Client
local id = exports.off_waypoint:AddWaypoint({
coords = vector3(215.0, -810.0, 30.7),
label = 'Ritiro',
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 dissolvenza, RemoveWaypoint(id, true) subito
exports.off_waypoint:RemoveAllWaypoints() -- tutti i waypoint del tuo script
local waypoint = exports.off_waypoint:GetWaypoint(id)
local exists = exports.off_waypoint:HasWaypoint(id)
-- Server
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) -- tutti i waypoint del tuo script per questo giocatore
local exists = exports.off_waypoint:HasWaypoint(source, id)- Se uno script si ferma, i suoi waypoint vengono rimossi automaticamente.
onArrivesul server scatta solo se, secondo il server, il giocatore è davvero vicino.
Problemi comuni
| Problema | Soluzione |
|---|---|
| I waypoint sono invisibili | Manca web/dist – nella cartella web esegui npm install e npm run build. |
| Non si vedono tutti i waypoint | Vengono mostrati solo i maxVisible più vicini, aumenta il valore nella config. |
| Manca l'icona | Controlla il nome su phosphoricons.com, ad es. ph-flag. |
onArrive sul server non arriva | OneSync deve essere attivo e arriveDistance deve adattarsi al luogo. |
Non l’hai ancora acquistato?
Vedi Waypoint nel negozio