AI Core

Önerilen script’ler

Ücretsiz bir script admin panelindeki Recommended scripts bölümüne nasıl girer.

Admin panelinin gösterge panelinde bir Recommended scripts bölümü var: bir AI Core sunucusuna kurmaya değer ücretsiz script’ler. Her biri yalnızca sunucuya uyduğu sürece görünür (hiç telefon script’i çalışmıyorsa bir telefon önerilir; script zaten çalışıyorsa kartı kaybolur) ve görünenler açılıştan 15 saniye sonra sunucu konsoluna da bir kez yazılır. Sunucu sahibi bir kartı X ile gizler ve General sekmesindeki Recommendations kartından geri getirir.

Şartlar

  • Ücretsizdir. Kartta Free etiketi görünür.
  • Tek bir framework ya da tek bir script üzerinden değil, AI Core üzerinden çalışır. Script’in diğer script’lerle paylaştığı her şey AI Core’un katmanlarından ve export’larından geçer; böylece her ai-* script’i, ESX / QB / Qbox köprüsü ve sunucu sahibinin diğer script’leri onunla çalışır. Örneğin:
    • araç anahtarı vermek ve almak araç anahtarı katmanından geçer (lib vehicleKeys.give / vehicleKeys.remove, export’lar GiveVehicleKeys / RemoveVehicleKeys), asla bir anahtar script’inin export’larından değil;
    • görünüm uygulamak ve skin’i yeniden yüklemek görünüm katmanından geçer (appearance.apply, appearance.reloadSkin);
    • eşyalar envanter katmanından geçer (inventory.addItem ya da Lua’dan exports['ai-core']:AddItem(source, 'bread', 2));
    • yakıt, kapılar, garajlar, telefon ve polis ihbarları (dispatch.alert) da aynı şekilde kendi katmanlarından geçer.
  • Kategorisinin bir katmanı varsa orada bir adaptörü vardır. Envanter, araç anahtarı, kıyafet, yakıt, kapı kilidi, garaj, telefon, ihbar, banka, fatura ya da sağlık script’inin o katmanda bir adaptöre ihtiyacı vardır; diğer script’ler ona böyle ulaşır. Katmanın zaten okuduğu bir API’yi cevaplayan script’e daha azı yeter: LegacyFuel tarzı client export’ları GetFuel(vehicle) / SetFuel(vehicle, level) olan bir yakıt script’i, yakıt katmanının listesinde tek bir satırdır.

Katmanlar ve destekledikleri script’ler: Katmanlar ve köprü, Uyumluluk ve sunucu deposunun docs/compat/ klasöründe her katman için bir not.

Listeye girmek

Kaydı ekle

aifivem/ai-core deposunu fork’la ve resource/server/recommendations/index.ts dosyasındaki RECOMMENDATIONS listesine bir kayıt ekle:

{
  id: "my-garbagejob",
  title: "ADMIN_REC_MY_GARBAGEJOB",
  desc: "ADMIN_REC_MY_GARBAGEJOB_DESC",
  url: "https://example.com/my-garbagejob",
  free: true,
  // script çalışmadığı sürece görünür
  shows: (runs) => !runs("my-garbagejob"),
},
AlanNe tutar
idScript’in resource adı. Gizlenen kart bunu saklar; bu yüzden 2 ile 64 arası küçük harf, rakam, _ ya da - olur.
title, descai-core dil anahtarları: script’in adı ve sunucunun onu neden istediğini anlatan tek satır.
urlSunucu sahibinin script’i aldığı sayfa.
freetrue.
showsKartın ne zaman göründüğü. runs(resource), o resource başlamış ve durmuyorken true döner. Koşul bir katmana da sorabilir, telefon kaydı gibi: shows: () => phones.active === null (hiç telefon çalışmıyor).

AI Core koşulları bir resource başlayınca ya da durunca, telefon katmanı değişince ve ayarlar değişince yeniden kontrol eder. Başka bir katmana bakan koşul, o katmanın değişimini de recommendations.refresh()’e bağlar; dosyanın sonu bunu telefon için yapar (phones.onSwitch).

İki metni ekle

locales/en.json içinde, diğer ADMIN_REC_* anahtarlarının yanına:

"ADMIN_REC_MY_GARBAGEJOB": "My Garbage Job",
"ADMIN_REC_MY_GARBAGEJOB_DESC": "Garbage routes with pay per stop; items and vehicle keys go through ai-core's layers."

Sadece İngilizce: diğer diller en.json’un üstüne eklenir.

Kategorinin bir katmanı varsa adaptörü ekle

Aynı pull request’te:

  • katmanın adapters/ klasöründeki adaptör dosyası: resource/server/<layer>/adapters/<resource>.ts, script’in sadece client API’si varsa ayrıca resource/client/<layer>/adapters/<resource>.ts. Benzer bir script’in adaptörünü kopyala;
  • katmanın adaptör listesindeki satırı: resource/server/<layer>/registry.ts, ya da registry.ts’si olmayan katmanlarda (phone, medical, prison, world) katmanın index.ts dosyası.

Sonra aifivem/aicore-server deposuna, script’i katmanın notu docs/compat/<layer>.md dosyasına (örneğin vehicle-keys.md, phone.md) ekleyen ikinci bir pull request aç: test edilen sürüm, durum ve bilinen sınırlar.

Pull request’i aç

ai-core içinde bun install, sonra bun run typecheck, bun run lint ve bun run build çalıştır; üçü de geçmeli. Pull request’e İngilizce bir Conventional Commit başlığı ver, örneğin feat(recommendations): recommend my-garbagejob. Bakımcılar inceler: script’in ücretsiz olduğunu ve katmanlar üzerinden çalıştığını kontrol eder, sonra birleştirirler; kart bir sonraki ai-core sürümüyle gelir.

Bu sayfada