ai-appearance dla deweloperów
Eksporty klienta ai-appearance, kształt stroju służbowego i zdarzenia, których używa z ekranem postaci AI Core.
Nie wywołuj ai-appearance ani nie czytaj jego tabeli ze swojego skryptu. Używaj warstwy wyglądu AI Core: appearance z biblioteki (serwer appearance.get(charId), klient appearance.apply(ped, look), appearance.read(ped), appearance.openMenu(...), appearance.wearOutfit(outfit), appearance.reloadSkin()) albo aiLib.appearance w Lua. Działa z każdym skryptem ubrań obsługiwanym przez AI Core, więc właściciel może zastąpić ai-appearance. Zobacz dokumentację biblioteki.
Eksporty klienta
Typowane jako AiAppearanceClientExports w @aicore-fivem/shared. Wywołuje je adapter wyglądu AI Core.
ApplyAppearance
Nakłada wygląd ai-appearance na peda.
Strona: klient · Czeka: nie
ApplyAppearance(ped: number, appearance: unknown): booleanlocal ok = exports['ai-appearance']:ApplyAppearance(ped, look)Parametry
Prop
Type
Zwraca
boolean: true, gdy wygląd został nałożony. false, gdy wygląd jest nieprawidłowy albo model peda nie jest modelem z wyglądu.
GetPedAppearance
Odczytuje wygląd, który nosi lokalny gracz.
Strona: klient · Czeka: nie
GetPedAppearance(ped: number): unknownZwraca
Appearance lokalnego gracza albo null dla każdego innego peda.
WearOutfit
Zakłada lokalnemu graczowi strój służbowy (mundur). Zmieniają się tylko wymienione elementy, a strój nigdy nie jest zapisywany jako własny wygląd gracza.
Strona: klient · Czeka: nie
WearOutfit(outfit: JobOutfit): voidexports['ai-appearance']:WearOutfit({ components = { { id = 11, collection = '', index = 55, texture = 0 } }, props = {} })JobOutfit
Prop
Type
OutfitPiece
Prop
Type
Zwraca
Nic.
ReloadSkin
Przywraca lokalnemu graczowi zapisany wygląd (zdejmuje strój służbowy). Strona: klient · Czeka: nie.
ReloadSkin(): voidPrzykład
import { appearance } from "@aicore-fivem/lib/client";
import type { JobOutfit } from "@aicore-fivem/shared";
// Przez AI Core: działa z ai-appearance i innymi obsługiwanymi skryptami ubrań.
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);Elementy stroju są wskazywane przez nazwę kolekcji i indeks w niej, a nie przez globalny numer drawable GTA. Gra podstawowa to kolekcja "". Przez AI Core appearance.wearOutfit i reloadSkin odpowiadają false, gdy działający skrypt ubrań nie obsługuje strojów służbowych.
Zdarzenia
| Zdarzenie | Strona | Argumenty | Co to jest |
|---|---|---|---|
ai-core:client:characterPortrait | klient (lokalne) | charId: number, url: string | ai-appearance wysyła portret każdej karty (https://nui-img/...) do ekranu postaci AI Core. |
ai-appearance nasłuchuje zdarzenia serwera AI Core characterScreen (src, charIds), aby wiedzieć, które portrety zrobić, oraz onCharacter z biblioteki, aby ubrać wczytaną postać lub uruchomić kreator.
Baza danych
Tabela ai_appearance_characters: char_id (= ai_core_characters.id) i data (JSON Appearance). Zapisuje ją tylko ai-appearance. Adapter AI Core czyta ją dla GetCharacterAppearance.
Kanał logów
purchases: każda płatna wizyta w sklepie (przez logi AI Core: konsola, Discord, Fivemanage, FiveM Stats, tak jak ustawił właściciel).
ai-appearance
Kreator postaci dla nowych postaci, sklepy z ubraniami, fryzjerzy i portrety na ekranie postaci.
ai-inventory
Ekwipunek z siatką, rozmiarami przedmiotów, szybkimi slotami, przedmiotami na ziemi, schowkami, bagażnikami i schowkami na rękawiczki, sklepami, wytwarzaniem i bronią. Odpowiada na API ox_inventory i qb-inventory.