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
ApplyAppearance(ped: number, appearance: unknown): booleanlocal 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
GetPedAppearance(ped: number): unknownRetorno
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
WearOutfit(outfit: JobOutfit): voidexports['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.
ReloadSkin(): voidExemplo
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
| Evento | Lado | Argumentos | O que é |
|---|---|---|---|
ai-core:client:characterPortrait | Cliente (local) | charId: number, url: string | O 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).
ai-appearance
O criador de personagem para novos personagens, lojas de roupas, barbearias e os retratos na tela de personagens.
ai-inventory
Inventário em grade com tamanhos de item, atalhos rápidos, drops no chão, baús, porta-malas e porta-luvas, lojas, crafting e armas. Responde às APIs do ox_inventory e do qb-inventory.