Przejdź do treści
Cała dokumentacja

Waypoint

Punkty nawigacji jako znaczniki 3D w świecie. Punkt nawigacji GTA z mapy jest wyświetlany automatycznie, inne skrypty ustawiają własne punkty nawigacji przez eksporty na kliencie lub na serwerze. Skrypt nie potrzebuje frameworka.

Wymagania
  • OneSync, tylko jeśli skrypty serwera używają onArrive (serwer sprawdza wtedy odległość)

Funkcje

  • Punkt nawigacji GTA jako znacznik 3D z odległością. Po dotarciu punkt zostaje usunięty.
  • Dwa typy: checkpoint z linią do ziemi i small jako unoszący się znacznik.
  • Ustawiane dla każdego punktu: kolor, ikona lub obraz, tekst, odległość, blip z trasą GPS, czas wygaśnięcia i funkcja po dotarciu.
  • Eksporty dla klienta i serwera.
  • Oszczędny: Rysowane są tylko najbliższe punkty (maxVisible), instancje przeglądarki są używane ponownie i sprzątane, gdy nie są już potrzebne.

Instalacja

  1. Umieść folder off_waypoint w swoim folderze resources.
  2. Do server.cfg:
cfg
ensure off_waypoint

Konfiguracja

config/settings/config.lua

OpcjaDomyślnieOpis
serverInfo.name'OFF SCRIPTS'Nazwa serwera, widoczna w interfejsie zamiast „OFF SCRIPTS”
serverInfo.locale'de'Język: de, en, pl, fr, es lub it
serverInfo.color{ 155, 89, 255 }Kolor serwera (RGB), także dla punktów bez własnego color
serverInfo.design3Wygląd interfejsu: 1 = Klasyczny, 2 = Paragon, 3 = Storefront
type'checkpoint'Domyślny typ: 'checkpoint' lub 'small'
drawDistance500.0Domyślny zasięg widoczności w metrach
displayDistancetrueDomyślnie pokazuj odległość
maxVisible6Tyle punktów jest wyświetlanych jednocześnie, najbliższe najpierw
blip{ sprite = 162, color = 17, scale = 0.8 }Domyślne ustawienia blipów punktów
mapWaypoint.enabledtruePokazuj punkt nawigacji GTA jako znacznik 3D
mapWaypoint.type'checkpoint'Typ punktu nawigacji GTA
mapWaypoint.drawDistance10000.0Zasięg widoczności punktu nawigacji GTA
mapWaypoint.arriveDistance25.0Od tej odległości punkt nawigacji GTA jest usuwany, 0 = nigdy

Języki

Domyślny tekst punktów nawigacji i komunikaty konsoli znajdują się w config/locales/ (jeden plik na język).

Opcje punktu nawigacji

Te pola możesz przekazać przy tworzeniu i zmianie. Tylko coords jest wymagane.

PoleOpis
coordsvector3, vector4 lub { x, y, z }
type'checkpoint' lub 'small'
labelTekst pod odległością, false = bez tekstu
color'#9b59ff' lub { 155, 89, 255 }
icon / iconColorIkona Phosphor (np. 'ph-flag', domyślnie 'ph-map-pin') i własny kolor ikony
imageURL obrazu zamiast ikony
displayDistancePokazuj odległość
sizeRozmiar, domyślnie 1.0
drawDistance / fadeDistanceZasięg widoczności i odległość, od której punkt jest wygaszany
dynamicScalingRośnie i unosi się wyżej wraz z odległością, jak punkt nawigacji GTA
arriveDistancePromień dotarcia w metrach, domyślnie 5.0
onArriveFunkcja po dotarciu: na kliencie (id, metadata), na serwerze (source, id)
removeDistanceUsuwany, gdy tylko znajdziesz się tak blisko
durationMilisekundy do usunięcia punktu
bliptrue lub { sprite, color, scale, name, shortRange }
route / routeColorTrasa GPS do punktu (automatycznie ustawia blip) i jej kolor
groundZ / minHeight / maxHeightTylko checkpoint: wysokość podłoża linii i granice jej wysokości
metadataDowolne dane, wracają w onArrive i GetWaypoint

Dla deweloperów

lua
-- Klient
local id = exports.off_waypoint:AddWaypoint({
  coords = vector3(215.0, -810.0, 30.7),
  label = 'Odbiór',
  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)          -- z wygaszeniem, RemoveWaypoint(id, true) natychmiast
exports.off_waypoint:RemoveAllWaypoints()        -- wszystkie punkty twojego skryptu
local waypoint = exports.off_waypoint:GetWaypoint(id)
local exists = exports.off_waypoint:HasWaypoint(id)

-- Serwer
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)  -- wszystkie punkty twojego skryptu u tego gracza
local exists = exports.off_waypoint:HasWaypoint(source, id)
  • Gdy skrypt się zatrzyma, jego punkty nawigacji są automatycznie usuwane.
  • onArrive na serwerze jest wywoływane tylko wtedy, gdy według serwera gracz naprawdę jest w pobliżu.

Częste problemy

ProblemRozwiązanie
Punkty nawigacji są niewidoczneBrakuje web/dist – w folderze web uruchom npm install i npm run build.
Nie wszystkie punkty są widoczneWyświetlanych jest tylko maxVisible najbliższych, zwiększ wartość w configu.
Brak ikonySprawdź nazwę na phosphoricons.com, np. ph-flag.
onArrive na serwerze nie docieraOneSync musi być włączony, a arriveDistance musi pasować do miejsca.

Jeszcze nie kupiony?

Zobacz Waypoint w sklepie