ai-sirens dla deweloperów
Eksporty klienta, state bagi i zdarzenie ai-sirens.
ai-sirens ma tylko eksporty klienta. Robią to samo co klawisze kierowcy. vehicle jest opcjonalne: bez niego używany jest pojazd, w którym siedzi gracz. Pojazd, który nie jest pojazdem uprzywilejowanym (klasa 18 i na liście modeli w panelu), jest ignorowany.
O zmiany (ton, syrena) prosi się serwer, który przyjmuje je tylko od kierowcy. Wywołuj settery na kliencie kierowcy. Światła (SetLights, ToggleLights) to własny stan świateł syreny gry na tym kliencie.
Lua wywołuje je jako exports['ai-sirens']:Name(...). Nie są typowane w @aicore-fivem/shared: w TypeScript używaj callExport("ai-sirens", "Name", ...args) z @aicore-fivem/lib/client.
Eksporty klienta
SetLights
Włącza lub wyłącza światła uprzywilejowane (oraz belki świetlnej ONX, jeśli jest).
Strona: klient · Czeka: nie
SetLights(vehicle: number | undefined, on: boolean): booleanlocal ok = exports['ai-sirens']:SetLights(vehicle, true)Parametry
Prop
Type
Zwraca
true, gdy pojazd jest pojazdem uprzywilejowanym i światła zostały ustawione. W przeciwnym razie false.
ToggleLights
Przełącza światła uprzywilejowane.
Strona: klient · Czeka: nie
ToggleLights(vehicle?: number): booleanlocal ok = exports['ai-sirens']:ToggleLights()Zwraca
true, gdy pojazd jest pojazdem uprzywilejowanym. W przeciwnym razie false.
SetSirenTone
Ustawia główny ton syreny. Ton powyżej 0 najpierw włącza światła.
Strona: klient · Czeka: nie (serwer odpowiada później; lokalna wartość pojawia się od razu)
SetSirenTone(vehicle: number | undefined, tone: 0 | 1 | 2 | 3): booleanlocal ok = exports['ai-sirens']:SetSirenTone(nil, 2)Parametry
Prop
Type
Zwraca
true, gdy żądanie zostało wysłane. false dla pojazdu, który nie jest uprzywilejowany, lub tonu spoza 0-3. Żądanie, którego serwer nie potwierdzi w ciągu 1,5 sekundy, liczy się jako odrzucone i znowu widać stary ton.
Przykład
import { callExport } from "@aicore-fivem/lib/client";
// Skrypt pościgu: ton 2, gdy zaczyna się pościg.
export function startPursuit(): void {
if (!callExport("ai-sirens", "SetSirenTone", undefined, 2)) return;
console.log("pursuit tone on");
}ToggleSiren
Zatrzymuje syrenę, jeśli działa, w przeciwnym razie uruchamia ją na tonie 1 (najpierw włączając światła).
Strona: klient · Czeka: nie
ToggleSiren(vehicle?: number): booleanlocal ok = exports['ai-sirens']:ToggleSiren()Zwraca
true, gdy żądanie zostało wysłane, false dla pojazdu, który nie jest uprzywilejowany.
CycleTone
Następny ton: 1, 2, 3, potem znowu 1. Przy wyłączonej syrenie uruchamia ton 1 (najpierw włączając światła).
Strona: klient · Czeka: nie
CycleTone(vehicle?: number): booleanlocal ok = exports['ai-sirens']:CycleTone()Zwraca
true, gdy żądanie zostało wysłane, false dla pojazdu, który nie jest uprzywilejowany.
GetSirenTone
Bieżący główny ton syreny.
Strona: klient · Czeka: nie
GetSirenTone(vehicle?: number): numberlocal tone = exports['ai-sirens']:GetSirenTone(vehicle)Zwraca
Od 0 (wyłączona) do 3. Także 0 dla pojazdu, który nie jest uprzywilejowany.
AreLightsOn
Czy światła uprzywilejowane są włączone.
Strona: klient · Czeka: nie
AreLightsOn(vehicle?: number): booleanlocal on = exports['ai-sirens']:AreLightsOn(vehicle)Zwraca
true, gdy włączone. false, gdy wyłączone lub pojazd nie jest uprzywilejowany.
GetAirManuState
Stan klaksonu syreny i ręcznej syreny.
Strona: klient · Czeka: nie
GetAirManuState(vehicle?: number): numberlocal state = exports['ai-sirens']:GetAirManuState(vehicle)Zwraca
0 wyłączone, 1 klakson, 2 ręczna syrena, 3 oba. 0 dla pojazdu, który nie jest uprzywilejowany.
GetLightbarModel
Model belki świetlnej ONX zamontowanej na pojeździe.
Strona: klient · Czeka: nie
GetLightbarModel(vehicle?: number): string | nulllocal model = exports['ai-sirens']:GetLightbarModel(vehicle)Zwraca
Nazwa modelu ("onx_pol_lbar_mdn1a") albo null, gdy pojazd jej nie ma lub nie jest uprzywilejowany.
State bagi
Zapisywane tylko przez serwer po jego sprawdzeniach. Czytaj je na dowolnym kliencie, aby znać stan syreny pojazdu.
| Bag | Typ | Znaczenie |
|---|---|---|
siren:lx | number | Główny ton syreny: 0 wyłączona, 1-3 ton. |
siren:manu | number | Klakson / ręczna syrena: 0 wyłączone, 1 klakson, 2 ręczna, 3 oba. |
siren:lightbar | string | Zamontowany model belki świetlnej ONX (brak: żadnej). |
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local tone = Entity(vehicle).state['siren:lx'] or 0Zdarzenia
| Nazwa | Rodzaj | Co robi |
|---|---|---|
ai-sirens:setState | klient do serwera | (netId, key, value): kierowca prosi o zmianę tonu lub klaksonu albo właściciel sieciowy ustawia model belki świetlnej. Serwer przyjmuje tylko modele uprzywilejowane z listy, wartość powyżej 0 tylko od kierowcy, reset do 0 od gracza w promieniu 10 m, gdy miejsce kierowcy jest puste, i tylko modele belek świetlnych wymienione w panelu. Wewnętrzne: używaj eksportów. |