Görünüm
Sunucunun çalıştırdığı kıyafet script’i hangisiyse ondan bir karakterin kayıtlı görünümünü oku.
Görünümler ai-core üzerinden gider, hiçbir zaman bir kıyafet script’inin kendi export’ları, event’leri ya da tabloları üzerinden değil (ai-appearance dahil). ai-core onları aktif kıyafet script’inden okur: panelin Clothing script ayarının seçtiği ya da çalışan ilk script. Bir görünümü bir ped’e giydirmek client’ta olur (client export’u ApplyAppearance, lib appearance.apply); bkz. Client export’ları.
Bir görünüm bir CharacterAppearance’dır: { model, data }. model ped model hash’idir; data kıyafet script’inin kendi biçimidir. data’yı mühürlü bir kutu gibi ele al: ApplyAppearance’a değiştirmeden geri ver.
GetAppearanceSystem
ai-core’un görünümleri okuduğu kıyafet script’inin resource adı.
Taraf: Server · Bekler: hayır · Lib: appearance.provider()
GetAppearanceSystem(): string | nulllocal system = exports['ai-core']:GetAppearanceSystem() -- string ya da nilParametreler
Yok.
Dönüş değeri
string | null: kıyafet script’inin resource adı. Hiçbiri çalışmıyorsa null (ped’ler o zaman varsayılan kıyafetleri giyer).
Örnek
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("clothingsystem", { help: "Shows the clothing script in use", restricted: true }, () => {
console.log(core.GetAppearanceSystem() ?? "none");
});GetCharacterAppearance
Karakter yüklü olsun olmasın bir karakterin kayıtlı görünümü. Bir ped’i o karakter gibi giydirmek için kullan: uyuyan bir beden, bir heykel, bir fotoğraf, bir önizleme.
Taraf: Server · Bekler: hayır (done ile cevap verir) · Lib: appearance.get(charId) bir Promise döndürür
GetCharacterAppearance(charId: number, done: (look: CharacterAppearance | null) => void): voidexports['ai-core']:GetCharacterAppearance(charId, function(look) end) -- look: tablo ya da nilParametreler
Prop
Type
Dönüş değeri
Hiçbir şey. done { model, data } alır; karakterin kayıtlı görünümü yoksa, hiçbir kıyafet script’i çalışmıyorsa, charId pozitif bir tam sayı değilse ya da kıyafet script’i başarısız olduysa (loglanır) null alır. done olarak bir fonksiyon verilmezse çağrı hiçbir şey yapmaz.
Örnek
import { onClientCallback, online, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
import type { CharacterAppearance } from "@aicore-fivem/shared";
const core = resourceExport("ai-core");
// Client, bir fotoğraf kabini ped’ini giydirmek için oyuncunun kendi görünümünü ister.
onClientCallback("myscript:myLook", async (source) => {
const charId = online.charId(source);
if (charId === undefined) return fail("NO_CHARACTER");
const look = await new Promise<CharacterAppearance | null>((resolve) => core.GetCharacterAppearance(charId, resolve));
return look ? { ok: true, look } : fail("NO_LOOK");
});Bir görünüm birkaç kilobayt olabilir. Onu yalnızca ihtiyacı olan oyuncuya gönder, asla herkese (-1) değil.