ai-appearance pour les développeurs
Les exports client d’ai-appearance, la forme d’une tenue de métier et les events qu’il utilise avec l’écran des personnages d’AI Core.
N’appelez pas ai-appearance et ne lisez pas sa table depuis votre script. Utilisez la couche apparence d’AI Core : appearance de la lib (serveur appearance.get(charId), client appearance.apply(ped, look), appearance.read(ped), appearance.openMenu(...), appearance.wearOutfit(outfit), appearance.reloadSkin()), ou aiLib.appearance en Lua. Elle fonctionne avec chaque script de vêtements pris en charge par AI Core, donc le propriétaire peut remplacer ai-appearance. Voir la référence de la lib.
Exports client
Typés AiAppearanceClientExports dans @aicore-fivem/shared. L’adaptateur apparence d’AI Core les appelle.
ApplyAppearance
Applique une apparence ai-appearance à un ped.
Côté : client · Attend : non
ApplyAppearance(ped: number, appearance: unknown): booleanlocal ok = exports['ai-appearance']:ApplyAppearance(ped, look)Paramètres
Prop
Type
Retour
boolean : true quand l’apparence a été appliquée. false quand l’apparence est invalide ou que le modèle du ped n’est pas celui de l’apparence.
GetPedAppearance
Lit l’apparence que porte le joueur local.
Côté : client · Attend : non
GetPedAppearance(ped: number): unknownRetour
L’Appearance du joueur local, ou null pour tout autre ped.
WearOutfit
Met une tenue de métier (uniforme) au joueur local. Seules les pièces listées changent, et la tenue n’est jamais enregistrée comme l’apparence propre du joueur.
Côté : client · Attend : non
WearOutfit(outfit: JobOutfit): voidexports['ai-appearance']:WearOutfit({ components = { { id = 11, collection = '', index = 55, texture = 0 } }, props = {} })JobOutfit
Prop
Type
OutfitPiece
Prop
Type
Retour
Rien.
ReloadSkin
Remet l’apparence enregistrée au joueur local (retire une tenue de métier). Côté : client · Attend : non.
ReloadSkin(): voidExemple
import { appearance } from "@aicore-fivem/lib/client";
import type { JobOutfit } from "@aicore-fivem/shared";
// Via AI Core : fonctionne avec ai-appearance et les autres scripts de vêtements pris en charge.
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);Les pièces de tenue sont désignées par le nom de la collection et l’index dans celle-ci, pas par le numéro de drawable global de GTA. Le jeu de base est la collection "". Via AI Core, appearance.wearOutfit et reloadSkin répondent false quand le script de vêtements qui tourne ne prend pas en charge les tenues de métier.
Events
| Event | Côté | Arguments | Ce que c’est |
|---|---|---|---|
ai-core:client:characterPortrait | client (local) | charId: number, url: string | ai-appearance envoie le portrait de chaque carte (https://nui-img/...) à l’écran des personnages d’AI Core. |
ai-appearance écoute l’event serveur characterScreen (src, charIds) d’AI Core pour savoir quels portraits créer, et le onCharacter de la lib pour habiller un personnage chargé ou lancer le créateur.
Base de données
Table ai_appearance_characters : char_id (= ai_core_characters.id) et data (le JSON Appearance). Seul ai-appearance l’écrit. L’adaptateur d’AI Core la lit pour GetCharacterAppearance.
Canal de logs
purchases : chaque visite payante en magasin (via les logs d’AI Core : console, Discord, Fivemanage, FiveM Stats selon les réglages du propriétaire).
ai-appearance
Le créateur de personnage pour les nouveaux personnages, les magasins de vêtements, les barbiers et les portraits de l’écran des personnages.
ai-inventory
Inventaire en grille avec tailles d’objets, emplacements rapides, objets au sol, stockages, coffres et boîtes à gants, magasins, fabrication et armes. Répond aux API d’ox_inventory et de qb-inventory.