API-Referenz
API-Übersicht
Wie ein anderes Skript AI Core aufruft - Exports, Events und die Lib, in TypeScript und Lua.
Alles, was ein anderes Skript aufrufen kann: die Exports von ai-core, die Events, die es auslöst, die Exports jedes ai-*-Skripts und die Helfer von @aicore-fivem/lib. Jede Signatur auf diesen Seiten stammt aus dem Quellcode (@aicore-fivem/shared exports.ts, das JSDoc der Lib, die Export-Aufrufe jedes Skripts).
Der richtige Zugang
| Du schreibst | Nutze |
|---|---|
| Ein ai-*-Skript oder eine beliebige TypeScript-Ressource | @aicore-fivem/lib: inventory, vehicleKeys, online, medical... Die Lib ruft ai-core für dich auf. |
| Eine Lua-Ressource | aiLib aus ai-lib (shared_script '@ai-lib/init.lua') oder direkt die Exports von ai-core. |
| Ein ESX- / QB- / Qbox-Skript | Nichts Neues: Die Brücke beantwortet die eigene API des Frameworks. Siehe Ebenen und die Brücke. |
Items, Fahrzeugschlüssel, Alarme, Handy, Wetter, Gefängnis, Kleidung und Tode laufen immer über ai-core, nie über die Exports eines bestimmten Skripts: ai-core leitet an das Skript weiter, das der Server für diese Aufgabe nutzt.
Einen Export aufrufen
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')- Typen:
resourceExportliest sie ausCitizenExportsin@aicore-fivem/shared. Eine Ressource, die eventuell nicht läuft, nutztoptionalExport("x")(null, solange sie gestoppt ist). - Namen: Jeder Export antwortet auch mit vertauschter Groß-/Kleinschreibung des ersten Buchstabens (
GetMoneyundgetMoney). - Exports sind synchron und geben kleine Werte zurück. Wo ein Wert Zeit braucht (ein gespeichertes Aussehen), nimmt der Export einen Callback: Kein Promise überquert eine Ressourcengrenze.
- Heiße Pfade folgen den Events von ai-core, statt Exports in einer Schleife aufzurufen (der
online-Spiegel der Lib macht das).
Seiten
| Seite | Was |
|---|---|
| Server-Exports von ai-core | Charaktere, Geld, Jobs, Gangs, Items, Schlüssel, Medizin, Handy, Dispatch, Gefängnis, Welt, Buckets, Logs, Verbindung, Admin-Panel. |
| Client-Exports von ai-core | Spielerdaten, HUD, Tastenhinweise, Welt-Sync, Items, Radialmenü, Gesten, Aussehen, Dialoge. |
| Events und Zustand | CORE.*-Events mit Payloads, State Bags, Framework-Events, die die Brücke auslöst. |
| Skript-Exports | Exports jedes ai-*-Skripts, einschließlich der APIs von ox_inventory, pma-voice und qb-weathersync, die sie ersetzen. |
| Lib: Client | @aicore-fivem/lib/client. |
| Lib: Server | @aicore-fivem/lib/server. |
| Lib: shared und fivem | @aicore-fivem/lib/shared und /fivem. |
| Lib für Lua | aiLib in Lua-Ressourcen. |