AI Core
Pojazdyai-sirens

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

Sygnatura
SetLights(vehicle: number | undefined, on: boolean): boolean
Lua
local 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

Sygnatura
ToggleLights(vehicle?: number): boolean
Lua
local 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)

Sygnatura
SetSirenTone(vehicle: number | undefined, tone: 0 | 1 | 2 | 3): boolean
Lua
local 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

Sygnatura
ToggleSiren(vehicle?: number): boolean
Lua
local 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

Sygnatura
CycleTone(vehicle?: number): boolean
Lua
local 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

Sygnatura
GetSirenTone(vehicle?: number): number
Lua
local 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

Sygnatura
AreLightsOn(vehicle?: number): boolean
Lua
local 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

Sygnatura
GetAirManuState(vehicle?: number): number
Lua
local 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

Sygnatura
GetLightbarModel(vehicle?: number): string | null
Lua
local 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.

BagTypZnaczenie
siren:lxnumberGłówny ton syreny: 0 wyłączona, 1-3 ton.
siren:manunumberKlakson / ręczna syrena: 0 wyłączone, 1 klakson, 2 ręczna, 3 oba.
siren:lightbarstringZamontowany model belki świetlnej ONX (brak: żadnej).
Lua (klient)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local tone = Entity(vehicle).state['siren:lx'] or 0

Zdarzenia

NazwaRodzajCo robi
ai-sirens:setStateklient 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.

Na tej stronie