AI Core
Essenciaisai-appearance

ai-appearance para desenvolvedores

Os exports do cliente do ai-appearance, o formato de roupa de emprego e os eventos que ele usa com a tela de personagens do AI Core.

Não chame o ai-appearance nem leia a tabela dele a partir do seu script. Use a camada de aparência do AI Core: o appearance da lib (servidor appearance.get(charId), cliente appearance.apply(ped, look), appearance.read(ped), appearance.openMenu(...), appearance.wearOutfit(outfit), appearance.reloadSkin()), ou aiLib.appearance em Lua. Ela funciona com todo script de roupas que o AI Core suporta, então o dono pode substituir o ai-appearance. Veja a referência da lib.

Exports do cliente

Tipados como AiAppearanceClientExports em @aicore-fivem/shared. O adaptador de aparência do AI Core os chama.

ApplyAppearance

Coloca uma aparência do ai-appearance em um ped.

Lado: Cliente · Espera: não

Signature
ApplyAppearance(ped: number, appearance: unknown): boolean
Lua
local ok = exports['ai-appearance']:ApplyAppearance(ped, look)

Parâmetros

Prop

Type

Retorno

boolean: true quando a aparência foi aplicada. false quando a aparência é inválida ou o modelo do ped não é o modelo da aparência.

GetPedAppearance

Lê a aparência que o jogador local está usando.

Lado: Cliente · Espera: não

Signature
GetPedAppearance(ped: number): unknown

Retorno

A Appearance do jogador local, ou null para qualquer outro ped.

WearOutfit

Coloca uma roupa de emprego (uniforme) no jogador local. Só as peças listadas mudam, e a roupa nunca é salva como a aparência própria do jogador.

Lado: Cliente · Espera: não

Signature
WearOutfit(outfit: JobOutfit): void
Lua
exports['ai-appearance']:WearOutfit({ components = { { id = 11, collection = '', index = 55, texture = 0 } }, props = {} })

JobOutfit

Prop

Type

OutfitPiece

Prop

Type

Retorno

Nada.

ReloadSkin

Coloca a aparência salva de volta no jogador local (tira uma roupa de emprego). Lado: Cliente · Espera: não.

Signature
ReloadSkin(): void

Exemplo

import { appearance } from "@aicore-fivem/lib/client";
import type { JobOutfit } from "@aicore-fivem/shared";

// Pelo AI Core: funciona com o ai-appearance e os outros scripts de roupas suportados.
const uniform: JobOutfit = {
  components: [
    { id: 11, collection: "", index: 55, texture: 0 },
    { id: 4, collection: "", index: 35, texture: 0 },
  ],
  props: [{ id: 0, collection: "", index: 46, texture: 0 }],
};

RegisterCommand("uniform", () => appearance.wearOutfit(uniform), false);
RegisterCommand("ownclothes", () => appearance.reloadSkin(), false);

As peças de roupa são endereçadas pelo nome da coleção e pelo índice dentro dela, não pelo número de drawable global do GTA. O jogo base é a coleção "". Pelo AI Core, appearance.wearOutfit e reloadSkin respondem false quando o script de roupas rodando não suporta roupas de emprego.

Eventos

EventoLadoArgumentosO que é
ai-core:client:characterPortraitCliente (local)charId: number, url: stringO ai-appearance envia o retrato de cada cartão (https://nui-img/...) para a tela de personagens do AI Core.

O ai-appearance escuta o evento de servidor characterScreen (src, charIds) do AI Core para saber quais retratos fazer, e o onCharacter da lib para vestir um personagem carregado ou abrir o criador.

Banco de dados

Tabela ai_appearance_characters: char_id (= ai_core_characters.id) e data (o JSON Appearance). Só o ai-appearance a escreve. O adaptador do AI Core a lê para GetCharacterAppearance.

Canal de log

purchases: toda visita paga a uma loja (pelos logs do AI Core: console, Discord, Fivemanage, FiveM Stats como o dono os configurou).

Nesta página