Vai al contenuto
Tutta la documentazione

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: checkpoint con una linea fino al suolo e small come 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

  1. Metti la cartella off_waypoint nella tua cartella resources.
  2. Nel server.cfg:
cfg
ensure off_waypoint

Configurazione

config/settings/config.lua

OpzionePredefinitoDescrizione
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.design3Design dell'interfaccia: 1 = Classico, 2 = Scontrino, 3 = Storefront
type'checkpoint'Tipo predefinito: 'checkpoint' o 'small'
drawDistance500.0Distanza di visibilità predefinita in metri
displayDistancetrueMostra la distanza di default
maxVisible6Quanti waypoint vengono mostrati contemporaneamente, prima i più vicini
blip{ sprite = 162, color = 17, scale = 0.8 }Valori predefiniti per i blip dei waypoint
mapWaypoint.enabledtrueMostra il waypoint GTA come marcatore 3D
mapWaypoint.type'checkpoint'Tipo del waypoint GTA
mapWaypoint.drawDistance10000.0Distanza di visibilità del waypoint GTA
mapWaypoint.arriveDistance25.0Entro 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.

CampoDescrizione
coordsvector3, vector4 o { x, y, z }
type'checkpoint' o 'small'
labelTesto sotto la distanza, false = nessun testo
color'#9b59ff' o { 155, 89, 255 }
icon / iconColorIcona Phosphor (ad es. 'ph-flag', predefinita 'ph-map-pin') e un colore proprio per l'icona
imageURL di un'immagine al posto dell'icona
displayDistanceMostra la distanza
sizeDimensione, predefinita 1.0
drawDistance / fadeDistanceDistanza di visibilità e distanza da cui il waypoint sfuma
dynamicScalingDiventa più grande e più alto con la distanza, come il waypoint GTA
arriveDistanceRaggio di arrivo in metri, predefinito 5.0
onArriveFunzione all'arrivo: sul client (id, metadata), sul server (source, id)
removeDistanceViene eliminato appena sei così vicino
durationMillisecondi prima che il waypoint venga eliminato
bliptrue o { sprite, color, scale, name, shortRange }
route / routeColorPercorso GPS verso il waypoint (imposta automaticamente un blip) e il suo colore
groundZ / minHeight / maxHeightSolo checkpoint: altezza del suolo della linea e limiti della sua altezza
metadataDati liberi, tornano in onArrive e GetWaypoint

Per sviluppatori

lua
-- 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.
  • onArrive sul server scatta solo se, secondo il server, il giocatore è davvero vicino.

Problemi comuni

ProblemaSoluzione
I waypoint sono invisibiliManca web/dist – nella cartella web esegui npm install e npm run build.
Non si vedono tutti i waypointVengono mostrati solo i maxVisible più vicini, aumenta il valore nella config.
Manca l'iconaControlla il nome su phosphoricons.com, ad es. ph-flag.
onArrive sul server non arrivaOneSync deve essere attivo e arriveDistance deve adattarsi al luogo.

Non l’hai ancora acquistato?

Vedi Waypoint nel negozio