Aussehen
Das gespeicherte Aussehen eines Charakters aus dem Kleidungs-Skript lesen, das der Server nutzt.
Das Aussehen läuft über ai-core, nie über die eigenen Exports, Events oder Tabellen eines Kleidungs-Skripts (ai-appearance eingeschlossen). ai-core liest es aus dem aktiven Kleidungs-Skript: dem, das die Panel-Einstellung Clothing script (Kleidungs-Skript) wählt, oder dem ersten, das läuft. Ein Aussehen auf einen Ped zu legen passiert auf dem Client (Client-Export ApplyAppearance, Lib appearance.apply); siehe Client-Exports.
Ein Aussehen ist ein CharacterAppearance: { model, data }. model ist der Hash des Ped-Modells; data ist das eigene Format des Kleidungs-Skripts. Behandle data als verschlossene Kiste: Gib es unverändert an ApplyAppearance zurück.
GetAppearanceSystem
Der Ressourcenname des Kleidungs-Skripts, aus dem ai-core das Aussehen liest.
Seite: Server · Wartet: nein · Lib: appearance.provider()
GetAppearanceSystem(): string | nulllocal system = exports['ai-core']:GetAppearanceSystem() -- String oder nilParameter
Keine.
Rückgabe
string | null: der Ressourcenname des Kleidungs-Skripts. null, wenn keines läuft (Peds tragen dann Standardkleidung).
Beispiel
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
Das gespeicherte Aussehen eines Charakters, ob der Charakter geladen ist oder nicht. Nutze es, um einen Ped als diesen Charakter anzuziehen: einen schlafenden Körper, eine Statue, ein Foto, eine Vorschau.
Seite: Server · Wartet: nein (antwortet über done) · Lib: appearance.get(charId) gibt ein Promise zurück
GetCharacterAppearance(charId: number, done: (look: CharacterAppearance | null) => void): voidexports['ai-core']:GetCharacterAppearance(charId, function(look) end) -- look: Tabelle oder nilParameter
Prop
Type
Rückgabe
Nichts. done erhält { model, data } oder null, wenn der Charakter kein gespeichertes Aussehen hat, kein Kleidungs-Skript läuft, charId keine positive ganze Zahl ist oder das Kleidungs-Skript fehlgeschlagen ist (geloggt). Ohne eine Funktion als done tut der Aufruf nichts.
Beispiel
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");
// Der Client fragt nach dem eigenen Aussehen des Spielers, um einen Fotokabinen-Ped anzuziehen.
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");
});Ein Aussehen kann einige Kilobyte groß sein. Sende es an den einen Spieler, der es braucht, nie an alle (-1).