Référence de l’API
Vue d’ensemble de l’API
Comment appeler AI Core depuis un autre script - exports, événements et la lib, en TypeScript et en Lua.
Tout ce qu’un autre script peut appeler : les exports d’ai-core, les événements qu’il déclenche, les exports de chaque script ai-* et les utilitaires de @aicore-fivem/lib. Chaque signature de ces pages vient du code source (@aicore-fivem/shared exports.ts, la JSDoc de la lib, les appels d’export de chaque script).
Choisir la bonne porte
| Vous écrivez | Utilisez |
|---|---|
| Un script ai-* ou n’importe quelle ressource TypeScript | @aicore-fivem/lib : inventory, vehicleKeys, online, medical... La lib appelle ai-core pour vous. |
| Une ressource Lua | aiLib depuis ai-lib (shared_script '@ai-lib/init.lua'), ou directement les exports d’ai-core. |
| Un script ESX / QB / Qbox | Rien de nouveau : le pont répond à l’API propre du framework. Voir Couches et pont. |
Objets, clés de véhicule, alertes, téléphone, météo, prison, vêtements et morts passent toujours par ai-core, jamais par les exports d’un script précis : ai-core transmet au script que le serveur utilise pour cette tâche.
Appeler un export
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')- Types :
resourceExportles lit dansCitizenExportsde@aicore-fivem/shared. Une ressource qui peut ne pas tourner utiliseoptionalExport("x")(null tant qu’elle est arrêtée). - Noms : chaque export répond aussi avec la casse de la première lettre inversée (
GetMoneyetgetMoney). - Les exports sont synchrones et renvoient de petites valeurs. Quand une valeur demande du temps (une apparence enregistrée), l’export prend un callback : aucune promesse ne franchit la frontière d’une ressource.
- Les chemins chauds suivent les événements d’ai-core au lieu d’appeler des exports en boucle (le miroir
onlinede la lib le fait).
Pages
| Page | Rôle |
|---|---|
| Exports serveur d’ai-core | Personnages, argent, métiers, gangs, objets, clés, médical, téléphone, dispatch, prison, monde, buckets, logs, connexion, panneau d’administration. |
| Exports client d’ai-core | Données du joueur, HUD, aides de touches, synchro du monde, objets, menu radial, gestes, apparences, dialogues. |
| Événements et état | Événements CORE.* avec leurs données, state bags, événements de framework que déclenche le pont. |
| Exports des scripts | Exports de chaque script ai-*, y compris les API d’ox_inventory, pma-voice et qb-weathersync qu’ils remplacent. |
| Lib : client | @aicore-fivem/lib/client. |
| Lib : serveur | @aicore-fivem/lib/server. |
| Lib : shared et fivem | @aicore-fivem/lib/shared et /fivem. |
| Lib pour Lua | aiLib dans les ressources Lua. |