ai-appearance para desarrolladores
Los exports de cliente de ai-appearance, la forma de los uniformes de trabajo y los eventos que usa con la pantalla de personajes de AI Core.
No llames a ai-appearance ni leas su tabla desde tu script. Usa la capa de apariencia de AI Core: appearance de la lib (servidor appearance.get(charId), cliente appearance.apply(ped, look), appearance.read(ped), appearance.openMenu(...), appearance.wearOutfit(outfit), appearance.reloadSkin()), o aiLib.appearance en Lua. Funciona con cualquier script de ropa que AI Core soporte, así que el dueño puede reemplazar ai-appearance. Mira la referencia de la lib.
Exports de cliente
Tipados como AiAppearanceClientExports en @aicore-fivem/shared. Los llama el adaptador de apariencia de AI Core.
ApplyAppearance
Pone un aspecto de ai-appearance en un ped.
Lado: Cliente · Espera: no
ApplyAppearance(ped: number, appearance: unknown): booleanlocal ok = exports['ai-appearance']:ApplyAppearance(ped, look)Parámetros
Prop
Type
Devuelve
boolean: true cuando se aplicó el aspecto. false cuando el aspecto no es válido o el modelo del ped no es el modelo del aspecto.
GetPedAppearance
Lee el aspecto que lleva el jugador local.
Lado: Cliente · Espera: no
GetPedAppearance(ped: number): unknownDevuelve
El Appearance del jugador local, o null para cualquier otro ped.
WearOutfit
Pone un uniforme de trabajo al jugador local. Solo cambian las piezas indicadas, y el uniforme nunca se guarda como aspecto propio del jugador.
Lado: Cliente · Espera: no
WearOutfit(outfit: JobOutfit): voidexports['ai-appearance']:WearOutfit({ components = { { id = 11, collection = '', index = 55, texture = 0 } }, props = {} })JobOutfit
Prop
Type
OutfitPiece
Prop
Type
Devuelve
Nada.
ReloadSkin
Vuelve a poner el aspecto guardado al jugador local (quita un uniforme de trabajo). Lado: Cliente · Espera: no.
ReloadSkin(): voidEjemplo
import { appearance } from "@aicore-fivem/lib/client";
import type { JobOutfit } from "@aicore-fivem/shared";
// A través de AI Core: funciona con ai-appearance y con los demás scripts de ropa soportados.
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);Las piezas del uniforme se indican por nombre de colección y el índice dentro de ella, no por el número de drawable global de GTA. El juego base es la colección "". A través de AI Core, appearance.wearOutfit y reloadSkin responden false cuando el script de ropa en uso no soporta uniformes de trabajo.
Eventos
| Evento | Lado | Argumentos | Qué es |
|---|---|---|---|
ai-core:client:characterPortrait | Cliente (local) | charId: number, url: string | ai-appearance envía el retrato de cada tarjeta (https://nui-img/...) a la pantalla de personajes de AI Core. |
ai-appearance escucha el evento de servidor de AI Core characterScreen (src, charIds) para saber qué retratos hacer, y onCharacter de la lib para vestir a un personaje cargado o abrir el creador.
Base de datos
Tabla ai_appearance_characters: char_id (= ai_core_characters.id) y data (el JSON de Appearance). Solo ai-appearance la escribe. El adaptador de AI Core la lee para GetCharacterAppearance.
Canal de logs
purchases: cada visita pagada a una tienda (a través de los logs de AI Core: consola, Discord, Fivemanage, FiveM Stats según lo haya configurado el dueño).
ai-appearance
El creador de personajes para personajes nuevos, tiendas de ropa, barberías y los retratos de la pantalla de personajes.
ai-inventory
Inventario en cuadrícula con tamaños de objeto, ranuras rápidas, objetos en el suelo, alijos, maleteros y guanteras, tiendas, fabricación y armas. Responde a las API de ox_inventory y qb-inventory.