API başvurusu
API’ye genel bakış
Başka bir script’ten AI Core nasıl çağrılır - export’lar, olaylar ve lib, TypeScript ve Lua ile.
Başka bir script’in çağırabileceği her şey: ai-core’un export’ları, tetiklediği olaylar, her ai-* script’inin export’ları ve @aicore-fivem/lib yardımcıları. Bu sayfalardaki her imza kaynaktan alındı (@aicore-fivem/shared exports.ts, lib’in JSDoc’u, her script’in export çağrıları).
Doğru kapıyı seç
| Yazdığın | Kullan |
|---|---|
| Bir ai-* script’i ya da herhangi bir TypeScript resource | @aicore-fivem/lib: inventory, vehicleKeys, online, medical... Lib senin yerine ai-core’u çağırır. |
| Bir Lua resource | ai-lib’den aiLib (shared_script '@ai-lib/init.lua') ya da doğrudan ai-core’un export’ları. |
| Bir ESX / QB / Qbox script’i | Yeni bir şey yok: köprü framework’ün kendi API’sini cevaplar. Bkz. Katmanlar ve köprü. |
Eşyalar, araç anahtarları, ihbarlar, telefon, hava, hapis, kıyafet ve ölümler her zaman ai-core üzerinden gider, hiçbir zaman belirli bir script’in export’larıyla değil: ai-core, sunucunun o iş için çalıştırdığı script’e iletir.
Export çağırmak
import { resourceExport } from "@aicore-fivem/lib/server";
// One typed handle per resource, at the top of the file.
const core = resourceExport("ai-core");
const cash = core.GetMoney(source, "cash");local cash = exports['ai-core']:GetMoney(source, 'cash')- Tipler:
resourceExportonları@aicore-fivem/sharediçindekiCitizenExports’tan okur. Çalışmıyor olabilecek bir resource içinoptionalExport("x")(durmuşken null). - İsimler: her export ilk harfin büyük/küçük hali değiştirilmiş adıyla da cevap verir (
GetMoneyvegetMoney). - Export’lar senkrondur ve küçük değerler döndürür. Zaman isteyen bir değerde (kayıtlı bir görünüm) export bir callback alır: resource sınırından promise geçmez.
- Sık çalışan kod döngüde export çağırmak yerine ai-core’un olaylarını izler (lib’in
onlineaynası bunu yapar).
Sayfalar
| Sayfa | Ne |
|---|---|
| ai-core sunucu export’ları | Karakterler, para, meslekler, çeteler, eşyalar, anahtarlar, sağlık, telefon, ihbar, hapis, dünya, bucket’lar, loglar, bağlantı, admin paneli. |
| ai-core client export’ları | Oyuncu verisi, HUD, tuş ipuçları, dünya senkronu, eşyalar, radyal, jestler, görünümler, diyaloglar. |
| Olaylar ve durum | Payload’larıyla CORE.* olayları, state bag’ler, köprünün tetiklediği framework olayları. |
| Script export’ları | Her ai-* script’inin export’ları; yerini tuttukları ox_inventory, pma-voice ve qb-weathersync API’leri dahil. |
| Lib: client | @aicore-fivem/lib/client. |
| Lib: sunucu | @aicore-fivem/lib/server. |
| Lib: shared ve fivem | @aicore-fivem/lib/shared ve /fivem. |
| Lua için lib | Lua resource’larda aiLib. |