Metadata ve ayarlar
Bir karakterin metadata çantasını oku ve yaz, sunucunun markasını ve güncel olmayan script’lerin listesini oku.
GetMeta
Bir karakterin metadata’sından tek bir değer: karakterle birlikte kaydedilen isimli değerlerin serbest bir çantası. ESX ve QB script’leri ek karakter verilerini köprü üzerinden orada tutar (hunger, thirst, armor, isdead...) ve senin script’in de kendi küçük değerlerini tutabilir.
Taraf: Server · Bekler: hayır · Lib: yok
GetMeta(src: number, key: string): unknownlocal value = exports['ai-core']:GetMeta(source, 'myscript_xp') -- herhangi bir değer ya da nilParametreler
Prop
Type
Dönüş değeri
unknown: saklanan değer (sayı, metin, boolean, liste ya da tablo), ayarlandığı gibi. Anahtar ayarlanmamışsa ya da oyuncunun yüklü karakteri yoksa null. Kullanmadan önce tipini kontrol et: değer başka bir script ya da senin script’inin eski bir sürümü tarafından yazılmış olabilir.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
/** Karakterin balıkçılık seviyesi, henüz saklanmamışsa 1. */
export function fishingLevel(source: number): number {
const value = core.GetMeta(source, "myscript_level");
return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : 1;
}SetMeta
Bir karakterin metadata’sına tek bir değer saklar. Değer karakterin bir sonraki periyodik kaydıyla (panel ayarı, varsayılan olarak her 5 dakikada), çıkışta ve sunucu durduğunda kaydedilir.
Taraf: Server · Bekler: hayır · Lib: yok
SetMeta(src: number, key: string, value: unknown): booleanlocal ok = exports['ai-core']:SetMeta(source, 'myscript_level', 3)Parametreler
Prop
Type
Dönüş değeri
boolean: değer saklandığında (ya da kaldırıldığında) true. Oyuncunun yüklü karakteri yoksa ya da key metin değilse false.
Değişiklik oyuncunun kendi oyununa hemen ulaşır ve ai-core:metaChanged (src, key, value) server event’ini tetikler.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
/** Yeterince yakalamadan sonra bir seviye atlar. */
export function levelUp(source: number): void {
const level = core.GetMeta(source, "myscript_level");
const next = (typeof level === "number" ? level : 1) + 1;
core.SetMeta(source, "myscript_level", next);
}Metadata tek bir karaktere ait küçük değerler içindir (bir seviye, bir bayrak, birkaç sayı). Büyüyen listeler (bir geçmiş, her yakalama) ve karakterler arasında aradığın ya da saydığın her şey kendi veritabanı tablona aittir. Metadata’daki değerler hemen kaydedilmez: para ve eşyalar asla oraya girmez.
GetBranding
Panelin General ayarlarından sunucunun adı, alt başlığı, sloganları ve arka plan resmi. Kendi tam ekran menülerinde aynı adı göstermek için kullan.
Taraf: Server · Bekler: hayır · Lib: yok
GetBranding(): Brandinglocal brand = exports['ai-core']:GetBranding() -- tabloParametreler
Yok.
Dönüş değeri
Branding: name, subtitle, tagline, taglineSub ve background ("skyline" ya da "wet-drive", ai-core’daki bir resim) içeren bir kopya. Bkz. Branding.
Örnek
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
// Karşılama ekranı sunucu adını gösterir.
onClientCallback("myscript:welcome", () => {
const { name, tagline } = core.GetBranding();
return { ok: true, name, tagline };
});GetUpdates
ai-core’un güncelleme kontrolüne göre GitHub sürümü çalışan sürümden yeni olan script’ler. ai-core, fxmanifest.lua dosyasında repository satırı olan her başlatılmış script için GitHub’a script başına en fazla 6 saatte bir (ve bir script başladığında) sorar, panelin Check for updates ayarı kapalı değilse.
Taraf: Server · Bekler: hayır · Lib: yok
GetUpdates(): UpdateInfo[]local outdated = exports['ai-core']:GetUpdates() -- tablo listesiParametreler
Yok.
Dönüş değeri
UpdateInfo[]: güncel olmayan her script için resource, label (insanların bildiği adı), current (çalışan sürüm), latest (en yeni sürüm) ve url (sürüm sayfası) içeren bir kayıt. Her şey güncelse ya da henüz hiçbir şey kontrol edilmediyse boş liste (ilk kontrol açılıştan 15 saniye sonra çalışır). Bkz. UpdateInfo.
Örnek
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("outdated", { help: "Lists outdated scripts", restricted: true }, () => {
for (const u of core.GetUpdates()) console.log(`${u.label}: ${u.current} -> ${u.latest} (${u.url})`);
});Meslekler ve çeteler
Bir karakterin mesleklerini, çetelerini, rütbelerini ve mesaisini oku ve değiştir, mesaideki oyuncuları say, prime time, meslek ve çete tanımlarını oku.
Eşyalar
Herhangi bir envanterde eşya ekle, çıkar, say ve kontrol et; stash’ler, script dükkanları ve kullanılabilir eşyalar kaydet; eşya tanımlarını ve taşınan ağırlığı oku.