Geliştiriciler için ai-garages
ai-garages’ın server export’ları ve kullandıkları yapılar.
Kendi script’inden lib’in garages katmanını kullan (server): garages.impound(vehicle, by?), garages.store(vehicle, garage?, by?), garages.open(source, garage?) ve garages.stored(source). Server hangi garaj script’ini çalıştırıyorsa onunla çalışır. Aşağıdaki export’lar, aktif garaj script’i ai-garages iken katmanın çağırdıklarıdır. ai-garages listesini uzaktan açamaz, bu yüzden onunla garages.open false döner.
@aicore-fivem/shared içinde (garages.ts) AiGaragesServerExports olarak tiplenmiştir. Üçü de senkrondur.
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");Server export’ları
ImpoundVehicle
Sahipli bir aracı çekilmiş araç otoparkına gönderir: durumunu (yakıt, motor, kaporta) kaydeder, entity’yi siler ve durumunu impound yapar. Sahibi aracı ücret karşılığında bir çekilmiş araç otoparkından geri alır.
Taraf: Server · Bekler: hayır
ImpoundVehicle(vehicle: number): booleanlocal ok = exports['ai-garages']:ImpoundVehicle(vehicle)Parametreler
Prop
Type
Dönüş değeri
Otoparka çekildiyse true. Entity yoksa ya da ai-vehicles’ın sahipli bir aracı değilse false; o durumda onu kendin sil.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const garages = resourceExport("ai-garages");
export function towAway(vehicle: number): void {
if (!garages.ImpoundVehicle(vehicle)) DeleteEntity(vehicle); // sahipli değil: sadece kaldır
}StoreVehicle
Sahipli bir aracı paneldeki garajlardan birine park eder: durumunu kaydeder, entity’yi siler, durumunu garage yapar.
Taraf: Server · Bekler: hayır
StoreVehicle(vehicle: number, garage: string): booleanlocal ok = exports['ai-garages']:StoreVehicle(vehicle, garage)Parametreler
Prop
Type
Dönüş değeri
Park edildiyse true. Sahipli olmayan bir araç, var olmayan bir garaj id’si ya da çekilmiş araç otoparkı için false.
GetStoredVehicles
Bir oyuncunun karakterinin dışarıda olmayan araçları: bir garajda park halinde ya da çekilmiş araç otoparkında bekleyenler. Filo araçları dahil değildir.
Taraf: Server · Bekler: hayır
GetStoredVehicles(source: number): GaragedVehicle[]local list = exports['ai-garages']:GetStoredVehicles(source)Dönüş değeri
GaragedVehicle dizisi. Oyuncunun yüklü bir karakteri yoksa boştur.
GaragedVehicle
Prop
Type
Örnek
const list = garages.GetStoredVehicles(source);
const impounded = list.filter((v) => v.impounded).map((v) => v.plate);
console.log(`impounded: ${impounded.join(", ") || "none"}`);Event’ler
ai-garages’ın callback’leri iç kullanım içindir (kendi client’ından kendi server’ına). Başka script’lerden çağırma.
| Ad | Tür | Ne yapar |
|---|---|---|
ai-garages:list | client callback’i | (garageId): oyuncunun orada çıkarabileceği araçlar. 2 saniyede en fazla 2 kez. |
ai-garages:takeOut | client callback’i | (garageId, vehicleId): aracı çıkış noktasında spawn eder. |
ai-garages:park | client callback’i | (garageId, netId, props): oyuncunun sürdüğü aracı park eder. |