Dokumentacja API
Przegląd API
Jak wywołać AI Core z innego skryptu - eksporty, zdarzenia i lib, w TypeScript i Lua.
Wszystko, co inny skrypt może wywołać: eksporty ai-core, zdarzenia, które wysyła, eksporty każdego skryptu ai-* oraz funkcje pomocnicze @aicore-fivem/lib. Każda sygnatura na tych stronach pochodzi ze źródła (@aicore-fivem/shared exports.ts, JSDoc liba, wywołania eksportów w każdym skrypcie).
Wybierz właściwą drogę
| Piszesz | Użyj |
|---|---|
| Skrypt ai-* lub dowolny zasób TypeScript | @aicore-fivem/lib: inventory, vehicleKeys, online, medical... Lib wywołuje ai-core za ciebie. |
| Zasób Lua | aiLib z ai-lib (shared_script '@ai-lib/init.lua') albo bezpośrednio eksporty ai-core. |
| Skrypt ESX / QB / Qbox | Nic nowego: most odpowiada na własne API frameworka. Zobacz Warstwy i most. |
Przedmioty, klucze pojazdów, alerty, telefon, pogoda, więzienie, ubrania i śmierci zawsze przechodzą przez ai-core, nigdy przez eksporty konkretnego skryptu: ai-core przekazuje wywołanie do skryptu, którego serwer używa do tego zadania.
Wywołanie eksportu
import { resourceExport } from "@aicore-fivem/lib/server";
// One typed handle per resource, at the top of the file.
const core = resourceExport("ai-core");
const cash = core.GetMoney(source, "cash");local cash = exports['ai-core']:GetMoney(source, 'cash')- Typy:
resourceExportczyta je zCitizenExportsw@aicore-fivem/shared. Zasób, który może nie działać, używaoptionalExport("x")(null, gdy jest zatrzymany). - Nazwy: każdy eksport odpowiada też z zamienioną wielkością pierwszej litery (
GetMoneyigetMoney). - Eksporty są synchroniczne i zwracają małe wartości. Gdy wartość wymaga czasu (zapisany wygląd), eksport przyjmuje callback: żaden promise nie przechodzi przez granicę zasobu.
- Gorące ścieżki śledzą zdarzenia ai-core zamiast wywoływać eksporty w pętli (tak robi lustro
onlineliba).
Strony
| Strona | Co |
|---|---|
| Eksporty serwerowe ai-core | Postacie, pieniądze, prace, gangi, przedmioty, klucze, leczenie, telefon, dispatch, więzienie, świat, buckety, logi, połączenie, panel administratora. |
| Eksporty klienckie ai-core | Dane gracza, HUD, podpowiedzi klawiszy, synchronizacja świata, przedmioty, menu radialne, gesty, wygląd, okna dialogowe. |
| Zdarzenia i stan | Zdarzenia CORE.* z ładunkami, state bagi, zdarzenia frameworków wysyłane przez most. |
| Eksporty skryptów | Eksporty każdego skryptu ai-*, w tym API ox_inventory, pma-voice i qb-weathersync, które zastępują. |
| Lib: klient | @aicore-fivem/lib/client. |
| Lib: serwer | @aicore-fivem/lib/server. |
| Lib: shared i fivem | @aicore-fivem/lib/shared i /fivem. |
| Lib dla Lua | aiLib w zasobach Lua. |