Aller au contenu
Toute la documentation

Waypoint

Des points de passage sous forme de marqueurs 3D dans le monde. Le point de passage GTA de la carte s'affiche automatiquement, d'autres scripts placent leurs propres points de passage via des exports côté client ou côté serveur. Le script n'a besoin d'aucun framework.

Prérequis
  • OneSync, uniquement si des scripts serveur utilisent onArrive (le serveur vérifie alors la distance)

Fonctionnalités

  • Point de passage GTA en marqueur 3D avec la distance. Il est supprimé à l'arrivée.
  • Deux types : checkpoint avec une ligne jusqu'au sol et small comme marqueur flottant.
  • Réglable par point de passage : couleur, icône ou image, texte, distance, blip avec itinéraire GPS, durée de vie et une fonction à l'arrivée.
  • Exports pour le client et le serveur.
  • Économe : Seuls les points de passage les plus proches sont dessinés (maxVisible), les instances de navigateur sont réutilisées et nettoyées quand elles ne servent plus.

Installation

  1. Place le dossier off_waypoint dans ton dossier resources.
  2. Dans le server.cfg :
cfg
ensure off_waypoint

Configuration

config/settings/config.lua

OptionPar défautDescription
serverInfo.name'OFF SCRIPTS'Nom du serveur, affiché dans l'interface à la place de « OFF SCRIPTS »
serverInfo.locale'de'Langue : de, en, pl, fr, es ou it
serverInfo.color{ 155, 89, 255 }Couleur du serveur (RGB), aussi pour les points de passage sans color propre
serverInfo.design3Design de l'interface : 1 = Classique, 2 = Ticket, 3 = Storefront
type'checkpoint'Type par défaut : 'checkpoint' ou 'small'
drawDistance500.0Distance d'affichage par défaut en mètres
displayDistancetrueAfficher la distance par défaut
maxVisible6Nombre de points de passage affichés en même temps, les plus proches d'abord
blip{ sprite = 162, color = 17, scale = 0.8 }Valeurs par défaut des blips des points de passage
mapWaypoint.enabledtrueAfficher le point de passage GTA en marqueur 3D
mapWaypoint.type'checkpoint'Type du point de passage GTA
mapWaypoint.drawDistance10000.0Distance d'affichage du point de passage GTA
mapWaypoint.arriveDistance25.0En dessous de cette distance, le point de passage GTA est supprimé, 0 = jamais

Langues

Le texte par défaut des points de passage et les messages de la console se trouvent dans config/locales/ (un fichier par langue).

Options des points de passage

Tu peux passer ces champs à la création et à la modification. Seul coords est obligatoire.

ChampDescription
coordsvector3, vector4 ou { x, y, z }
type'checkpoint' ou 'small'
labelTexte sous la distance, false = pas de texte
color'#9b59ff' ou { 155, 89, 255 }
icon / iconColorIcône Phosphor (p. ex. 'ph-flag', par défaut 'ph-map-pin') et une couleur d'icône propre
imageURL d'image au lieu d'une icône
displayDistanceAfficher la distance
sizeTaille, par défaut 1.0
drawDistance / fadeDistanceDistance d'affichage et distance à partir de laquelle le point de passage s'estompe
dynamicScalingDevient plus grand et plus haut avec la distance, comme le point de passage GTA
arriveDistanceRayon d'arrivée en mètres, par défaut 5.0
onArriveFonction à l'arrivée : côté client (id, metadata), côté serveur (source, id)
removeDistanceSupprimé dès que tu es aussi proche
durationMillisecondes avant la suppression du point de passage
bliptrue ou { sprite, color, scale, name, shortRange }
route / routeColorItinéraire GPS vers le point de passage (place automatiquement un blip) et sa couleur
groundZ / minHeight / maxHeightUniquement checkpoint : hauteur du sol de la ligne et limites de sa hauteur
metadataDonnées libres, renvoyées dans onArrive et GetWaypoint

Pour les développeurs

lua
-- Client
local id = exports.off_waypoint:AddWaypoint({
  coords = vector3(215.0, -810.0, 30.7),
  label = 'Retrait',
  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)          -- avec fondu, RemoveWaypoint(id, true) immédiatement
exports.off_waypoint:RemoveAllWaypoints()        -- tous les points de passage de ton script
local waypoint = exports.off_waypoint:GetWaypoint(id)
local exists = exports.off_waypoint:HasWaypoint(id)

-- Serveur
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)  -- tous les points de passage de ton script pour ce joueur
local exists = exports.off_waypoint:HasWaypoint(source, id)
  • Quand un script s'arrête, ses points de passage sont supprimés automatiquement.
  • onArrive côté serveur ne se déclenche que si le joueur est vraiment à proximité selon le serveur.

Problèmes fréquents

ProblèmeSolution
Les points de passage sont invisiblesweb/dist manque – lance npm install et npm run build dans le dossier web.
Tous les points de passage ne sont pas visiblesSeuls les maxVisible plus proches sont affichés, augmente la valeur dans la config.
L'icône manqueVérifie le nom sur phosphoricons.com, p. ex. ph-flag.
onArrive côté serveur ne se déclenche pasOneSync doit être activé et arriveDistance doit correspondre au lieu.

Pas encore acheté ?

Voir Waypoint dans la boutique