AI Core
Esencialesai-appearance

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

Firma
ApplyAppearance(ped: number, appearance: unknown): boolean
Lua
local 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

Firma
GetPedAppearance(ped: number): unknown

Devuelve

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

Firma
WearOutfit(outfit: JobOutfit): void
Lua
exports['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.

Firma
ReloadSkin(): void

Ejemplo

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

EventoLadoArgumentosQué es
ai-core:client:characterPortraitCliente (local)charId: number, url: stringai-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).

En esta página