Geliştiriciler için ai-properties
ai-properties’in GlobalState bayrakları, metadata’sı, depo adları, tabloları ve dahili event’leri.
ai-properties’in export’u yoktur. Diğer script’ler onun tuttuğu üç şeyi okuyabilir.
Sahiplik bayrağı (GlobalState)
Sahibi olan her mülkün prop:<id> GlobalState anahtarı true olarak ayarlanır (örneğin prop:grove_1). Mülk satıldığında anahtar kaldırılır (false yapılmaz). Server’da ve her client’ta okunabilir.
// Client ya da server: Grove Street 1’in sahibi var mı?
const owned = GlobalState["prop:grove_1"] === true;Bir karakterin içinde bulunduğu mülk (metadata)
ai-core metadata’sındaki property, karakterin içinde bulunduğu mülkün id’sini tutar; dışarıdayken boştur. Her mülk iç mekânı, içeride biri varken ai-core’un bucket dağıtıcısından alınan kendi routing bucket’ında çalışır.
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
export function isInsideProperty(source: number): boolean {
const data = core.GetPlayerData(source);
return typeof data?.metadata.property === "string";
}Depolar
Bir mülkün deposu property_<id>_<owner charId> şeklindedir (örneğin property_grove_1_12). Sahip başınadır: bir satıştan sonra yeni sahip yeni, boş bir depo adı alır. Boyut paneldeki depo slotlarından ve ağırlıktan gelir.
Tablolar
| Tablo | Ne tutar |
|---|---|
ai_properties_owned | Sahibi olan mülk başına bir satır: sahibin karakter id’si ve sahibin adı. |
ai_properties_keys | Mülk başına anahtar sahipleri, anahtar verildiği andaki isimleriyle. |
Event’ler
ai-properties’in event’leri dahilidir (kendi client’ı ve server’ı); onları başka script’lerden çağırma.
| Ad | Tür | Ne yapar |
|---|---|---|
ai-properties:mine | client callback’i | Oyuncunun sahip olduğu ya da anahtarını tuttuğu mülkler (oturum anlık görüntüsü). 10 saniyede 2 ile sınırlı. |
ai-properties:client:access | server’dan client’a | (id, access): oyuncunun erişimi değişti ("owner", "key" ya da false). |
ai-properties:buy / enter | client callback’i | (id): kapıda satın al ya da gir. |
ai-properties:exit / stash / keys / giveKey / sell | client callback’i | Oyuncunun içinde bulunduğu mülkteki eylemler. |
ai-properties:takeKey | client callback’i | (charId): bir anahtarı geri al. |
ai-properties:client:inside | server’dan client’a | (id | null, to): oyuncu artık bu mülkün içinde (ya da çıktı); to konumuna ışınla. |