AI Core
Fahrzeugeai-sirens

ai-sirens für Entwickler

Client-Exports, State Bags und das Event von ai-sirens.

ai-sirens hat nur Client-Exports. Sie tun dasselbe wie die Tasten des Fahrers. vehicle ist optional: Ohne wird das Fahrzeug genutzt, in dem der Spieler sitzt. Ein Fahrzeug, das kein Einsatzfahrzeug ist (Klasse 18 und in der Modellliste des Panels), wird ignoriert.

Änderungen (Ton, Sirene) werden beim Server angefragt, der sie nur vom Fahrer annimmt. Rufe die Setter auf dem Client des Fahrers auf. Das Blaulicht (SetLights, ToggleLights) ist der eigene Sirenenlichtstatus des Spiels auf diesem Client.

Lua ruft sie als exports['ai-sirens']:Name(...) auf. Sie sind nicht in @aicore-fivem/shared typisiert: In TypeScript nutzt du callExport("ai-sirens", "Name", ...args) aus @aicore-fivem/lib/client.

Client-Exports

SetLights

Schaltet das Blaulicht an oder aus (und das des ONX-Lichtbalkens, falls vorhanden).

Seite: Client · Wartet: nein

Signatur
SetLights(vehicle: number | undefined, on: boolean): boolean
Lua
local ok = exports['ai-sirens']:SetLights(vehicle, true)

Parameter

Prop

Type

Rückgabewert

true, wenn das Fahrzeug ein Einsatzfahrzeug ist und das Blaulicht gesetzt wurde. Sonst false.

ToggleLights

Schaltet das Blaulicht um.

Seite: Client · Wartet: nein

Signatur
ToggleLights(vehicle?: number): boolean
Lua
local ok = exports['ai-sirens']:ToggleLights()

Rückgabewert

true, wenn das Fahrzeug ein Einsatzfahrzeug ist. Sonst false.

SetSirenTone

Setzt den Ton der Hauptsirene. Ein Ton über 0 schaltet zuerst das Blaulicht an.

Seite: Client · Wartet: nein (der Server antwortet später; der lokale Wert erscheint sofort)

Signatur
SetSirenTone(vehicle: number | undefined, tone: 0 | 1 | 2 | 3): boolean
Lua
local ok = exports['ai-sirens']:SetSirenTone(nil, 2)

Parameter

Prop

Type

Rückgabewert

true, wenn die Anfrage gesendet wurde. false bei einem Fahrzeug, das kein Einsatzfahrzeug ist, oder einem Ton außerhalb von 0-3. Eine Anfrage, die der Server nicht innerhalb von 1.5 Sekunden bestätigt, gilt als abgelehnt, und der alte Ton erscheint wieder.

Beispiel

import { callExport } from "@aicore-fivem/lib/client";

// Ein Verfolgungsskript: Ton 2, wenn die Verfolgung beginnt.
export function startPursuit(): void {
  if (!callExport("ai-sirens", "SetSirenTone", undefined, 2)) return;
  console.log("pursuit tone on");
}

ToggleSiren

Stoppt die Sirene, wenn sie läuft, sonst startet sie sie auf Ton 1 (schaltet zuerst das Blaulicht an).

Seite: Client · Wartet: nein

Signatur
ToggleSiren(vehicle?: number): boolean
Lua
local ok = exports['ai-sirens']:ToggleSiren()

Rückgabewert

true, wenn die Anfrage gesendet wurde, false bei einem Fahrzeug, das kein Einsatzfahrzeug ist.

CycleTone

Der nächste Ton: 1, 2, 3, dann wieder 1. Bei ausgeschalteter Sirene startet er Ton 1 (schaltet zuerst das Blaulicht an).

Seite: Client · Wartet: nein

Signatur
CycleTone(vehicle?: number): boolean
Lua
local ok = exports['ai-sirens']:CycleTone()

Rückgabewert

true, wenn die Anfrage gesendet wurde, false bei einem Fahrzeug, das kein Einsatzfahrzeug ist.

GetSirenTone

Der aktuelle Ton der Hauptsirene.

Seite: Client · Wartet: nein

Signatur
GetSirenTone(vehicle?: number): number
Lua
local tone = exports['ai-sirens']:GetSirenTone(vehicle)

Rückgabewert

0 (aus) bis 3. Ebenfalls 0 bei einem Fahrzeug, das kein Einsatzfahrzeug ist.

AreLightsOn

Ob das Blaulicht an ist.

Seite: Client · Wartet: nein

Signatur
AreLightsOn(vehicle?: number): boolean
Lua
local on = exports['ai-sirens']:AreLightsOn(vehicle)

Rückgabewert

true, wenn an. false, wenn aus oder kein Einsatzfahrzeug.

GetAirManuState

Der Status von Presslufthorn und manueller Sirene.

Seite: Client · Wartet: nein

Signatur
GetAirManuState(vehicle?: number): number
Lua
local state = exports['ai-sirens']:GetAirManuState(vehicle)

Rückgabewert

0 aus, 1 Presslufthorn, 2 manuelle Sirene, 3 beides. 0 bei einem Fahrzeug, das kein Einsatzfahrzeug ist.

GetLightbarModel

Das am Fahrzeug angebrachte ONX-Lichtbalken-Modell.

Seite: Client · Wartet: nein

Signatur
GetLightbarModel(vehicle?: number): string | null
Lua
local model = exports['ai-sirens']:GetLightbarModel(vehicle)

Rückgabewert

Der Modellname ("onx_pol_lbar_mdn1a") oder null, wenn das Fahrzeug keinen hat oder kein Einsatzfahrzeug ist.

State Bags

Nur vom Server nach seinen Prüfungen geschrieben. Lies sie auf jedem Client, um den Sirenenstatus eines Fahrzeugs zu kennen.

BagTypBedeutung
siren:lxnumberTon der Hauptsirene: 0 aus, 1-3 ein Ton.
siren:manunumberPresslufthorn / manuelle Sirene: 0 aus, 1 Horn, 2 manuell, 3 beides.
siren:lightbarstringDas angebrachte ONX-Lichtbalken-Modell (fehlt: keiner).
Lua (Client)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local tone = Entity(vehicle).state['siren:lx'] or 0

Events

NameArtWas es macht
ai-sirens:setStateClient an Server(netId, key, value): Der Fahrer fragt eine Ton- oder Presslufthornänderung an, oder der Netzwerkbesitzer setzt das Lichtbalken-Modell. Der Server nimmt nur aufgeführte Einsatzmodelle an, einen Wert über 0 nur vom Fahrer, ein Zurücksetzen auf 0 von einem Spieler innerhalb von 10 m, solange der Fahrersitz leer ist, und nur Lichtbalken-Modelle, die das Panel aufführt. Intern: Nutze die Exports.

Auf dieser Seite