AI Core
Araçlarai-sirens

Geliştiriciler için ai-sirens

ai-sirens’ın client export’ları, state bag’leri ve event’i.

ai-sirens’ın sadece client export’ları vardır. Sürücünün tuşlarıyla aynı işi yaparlar. vehicle isteğe bağlıdır: verilmezse oyuncunun içinde oturduğu araç kullanılır. Acil durum aracı olmayan (sınıf 18 ve paneldeki model listesinde olmayan) bir araç yok sayılır.

Değişiklikler (ton, siren) server’dan istenir; server bunları sadece sürücüden kabul eder. Ayarlayıcıları sürücünün client’ında çağır. Işıklar (SetLights, ToggleLights) o client’taki oyunun kendi siren ışığı durumudur.

Lua bunları exports['ai-sirens']:Name(...) olarak çağırır. @aicore-fivem/shared içinde tiplenmemişlerdir: TypeScript’te @aicore-fivem/lib/client içindeki callExport("ai-sirens", "Name", ...args) fonksiyonunu kullan.

Client export’ları

SetLights

Acil durum ışıklarını (ve varsa ONX tepe lambasınınkileri) açar ya da kapatır.

Taraf: Client · Bekler: hayır

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

Parametreler

Prop

Type

Dönüş değeri

Araç bir acil durum aracıysa ve ışıklar ayarlandıysa true. Aksi halde false.

ToggleLights

Acil durum ışıklarını tersine çevirir.

Taraf: Client · Bekler: hayır

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

Dönüş değeri

Araç bir acil durum aracıysa true. Aksi halde false.

SetSirenTone

Ana siren tonunu ayarlar. 0’dan büyük bir ton önce ışıkları açar.

Taraf: Client · Bekler: hayır (server sonra cevap verir; yerel değer hemen görünür)

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

Parametreler

Prop

Type

Dönüş değeri

İstek gönderildiyse true. Acil durum aracı olmayan bir araç ya da 0-3 dışındaki bir ton için false. Server’ın 1.5 saniye içinde onaylamadığı istek reddedilmiş sayılır ve eski ton yeniden görünür.

Örnek

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

// Bir takip script’i: kovalamaca başlayınca 2. ton.
export function startPursuit(): void {
  if (!callExport("ai-sirens", "SetSirenTone", undefined, 2)) return;
  console.log("pursuit tone on");
}

ToggleSiren

Siren çalıyorsa durdurur, çalmıyorsa 1. tonda başlatır (önce ışıkları açarak).

Taraf: Client · Bekler: hayır

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

Dönüş değeri

İstek gönderildiyse true, acil durum aracı olmayan bir araç için false.

CycleTone

Sonraki ton: 1, 2, 3, sonra yine 1. Siren kapalıyken 1. tonu başlatır (önce ışıkları açarak).

Taraf: Client · Bekler: hayır

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

Dönüş değeri

İstek gönderildiyse true, acil durum aracı olmayan bir araç için false.

GetSirenTone

Mevcut ana siren tonu.

Taraf: Client · Bekler: hayır

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

Dönüş değeri

0 (kapalı) ile 3 arası. Acil durum aracı olmayan bir araç için de 0.

AreLightsOn

Acil durum ışıklarının açık olup olmadığı.

Taraf: Client · Bekler: hayır

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

Dönüş değeri

Açıksa true. Kapalıysa ya da acil durum aracı değilse false.

GetAirManuState

Korna ve manuel siren durumu.

Taraf: Client · Bekler: hayır

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

Dönüş değeri

0 kapalı, 1 korna, 2 manuel siren, 3 ikisi birden. Acil durum aracı olmayan bir araç için 0.

GetLightbarModel

Araca takılı ONX tepe lambası modeli.

Taraf: Client · Bekler: hayır

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

Dönüş değeri

Model adı ("onx_pol_lbar_mdn1a"); araçta tepe lambası yoksa ya da acil durum aracı değilse null.

State bag’ler

Sadece server tarafından, kendi kontrollerinden sonra yazılır. Bir aracın siren durumunu öğrenmek için herhangi bir client’ta oku.

BagTipAnlamı
siren:lxnumberAna siren tonu: 0 kapalı, 1-3 bir ton.
siren:manunumberKorna / manuel siren: 0 kapalı, 1 korna, 2 manuel, 3 ikisi birden.
siren:lightbarstringTakılı ONX tepe lambası modeli (yoksa: lamba yok).
Lua (client)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
local tone = Entity(vehicle).state['siren:lx'] or 0

Event’ler

AdTürNe yapar
ai-sirens:setStateclient’tan server’a(netId, key, value): sürücü bir ton ya da korna değişikliği ister veya network sahibi tepe lambası modelini ayarlar. Server sadece listelenen acil durum modellerini kabul eder; 0’dan büyük bir değeri sadece sürücüden, 0’a sıfırlamayı sürücü koltuğu boşken 10 m içindeki bir oyuncudan ve sadece panelin listelediği tepe lambası modellerini kabul eder. İç kullanım içindir: export’ları kullan.

Bu sayfada