AI Core
Referência da APIAI Core: exports de servidor

Aparência

Leia o visual salvo de um personagem a partir do script de roupas que o servidor roda.

Os visuais passam pelo ai-core, nunca pelos exports, eventos ou tabelas próprios de um script de roupas (ai-appearance incluído). O ai-core os lê do script de roupas ativo: o que a configuração Clothing script do painel escolhe, ou o primeiro que estiver rodando. Aplicar um visual num ped acontece no cliente (export de cliente ApplyAppearance, appearance.apply da lib); veja Exports de cliente.

Um visual é um CharacterAppearance: { model, data }. model é o hash do modelo do ped; data é o formato próprio do script de roupas. Trate data como uma caixa lacrada: devolva-o a ApplyAppearance sem alterações.

GetAppearanceSystem

O nome do recurso do script de roupas de onde o ai-core lê os visuais.

Lado: Servidor · Espera: não · Lib: appearance.provider()

Assinatura
GetAppearanceSystem(): string | null
Lua
local system = exports['ai-core']:GetAppearanceSystem() -- string ou nil

Parâmetros

Nenhum.

Retorno

string | null: o nome do recurso do script de roupas. null quando nenhum está rodando (os peds então usam roupas padrão).

Exemplo

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

O visual salvo de um personagem, esteja ele carregado ou não. Use para vestir um ped como aquele personagem: um corpo dormindo, uma estátua, uma foto, uma prévia.

Lado: Servidor · Espera: não (responde por done) · Lib: appearance.get(charId) retorna uma Promise

Assinatura
GetCharacterAppearance(charId: number, done: (look: CharacterAppearance | null) => void): void
Lua
exports['ai-core']:GetCharacterAppearance(charId, function(look) end) -- look: table ou nil

Parâmetros

Prop

Type

Retorno

Nada. done recebe { model, data }, ou null quando o personagem não tem visual salvo, nenhum script de roupas está rodando, charId não é um número inteiro positivo ou o script de roupas falhou (registrado no log). Sem uma função como done a chamada não faz nada.

Exemplo

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");

// O cliente pede o visual do próprio jogador para vestir um ped de cabine de fotos.
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");
});

Um visual pode ter alguns kilobytes. Envie-o ao único jogador que precisa dele, nunca a todos (-1).

Nesta página