
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:
checkpointz linią do ziemi ismalljako 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
- Umieść folder
off_waypointw swoim folderzeresources. - Do
server.cfg:
ensure off_waypointKonfiguracja
config/settings/config.lua
| Opcja | Domyślnie | Opis |
|---|---|---|
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.design | 3 | Wygląd interfejsu: 1 = Klasyczny, 2 = Paragon, 3 = Storefront |
type | 'checkpoint' | Domyślny typ: 'checkpoint' lub 'small' |
drawDistance | 500.0 | Domyślny zasięg widoczności w metrach |
displayDistance | true | Domyślnie pokazuj odległość |
maxVisible | 6 | Tyle 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.enabled | true | Pokazuj punkt nawigacji GTA jako znacznik 3D |
mapWaypoint.type | 'checkpoint' | Typ punktu nawigacji GTA |
mapWaypoint.drawDistance | 10000.0 | Zasięg widoczności punktu nawigacji GTA |
mapWaypoint.arriveDistance | 25.0 | Od 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.
| Pole | Opis |
|---|---|
coords | vector3, vector4 lub { x, y, z } |
type | 'checkpoint' lub 'small' |
label | Tekst pod odległością, false = bez tekstu |
color | '#9b59ff' lub { 155, 89, 255 } |
icon / iconColor | Ikona Phosphor (np. 'ph-flag', domyślnie 'ph-map-pin') i własny kolor ikony |
image | URL obrazu zamiast ikony |
displayDistance | Pokazuj odległość |
size | Rozmiar, domyślnie 1.0 |
drawDistance / fadeDistance | Zasięg widoczności i odległość, od której punkt jest wygaszany |
dynamicScaling | Rośnie i unosi się wyżej wraz z odległością, jak punkt nawigacji GTA |
arriveDistance | Promień dotarcia w metrach, domyślnie 5.0 |
onArrive | Funkcja po dotarciu: na kliencie (id, metadata), na serwerze (source, id) |
removeDistance | Usuwany, gdy tylko znajdziesz się tak blisko |
duration | Milisekundy do usunięcia punktu |
blip | true lub { sprite, color, scale, name, shortRange } |
route / routeColor | Trasa GPS do punktu (automatycznie ustawia blip) i jej kolor |
groundZ / minHeight / maxHeight | Tylko checkpoint: wysokość podłoża linii i granice jej wysokości |
metadata | Dowolne dane, wracają w onArrive i GetWaypoint |
Dla deweloperów
-- 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.
onArrivena serwerze jest wywoływane tylko wtedy, gdy według serwera gracz naprawdę jest w pobliżu.
Częste problemy
| Problem | Rozwiązanie |
|---|---|
| Punkty nawigacji są niewidoczne | Brakuje web/dist – w folderze web uruchom npm install i npm run build. |
| Nie wszystkie punkty są widoczne | Wyświetlanych jest tylko maxVisible najbliższych, zwiększ wartość w configu. |
| Brak ikony | Sprawdź nazwę na phosphoricons.com, np. ph-flag. |
onArrive na serwerze nie dociera | OneSync musi być włączony, a arriveDistance musi pasować do miejsca. |
Jeszcze nie kupiony?
Zobacz Waypoint w sklepie