Referência da API
Visão geral da API
Como chamar o AI Core de outro script - exports, eventos e a lib, em TypeScript e Lua.
Tudo o que outro script pode chamar: os exports do ai-core, os eventos que ele dispara, os exports de cada script ai-* e os helpers do @aicore-fivem/lib. Cada assinatura destas páginas vem do código-fonte (@aicore-fivem/shared exports.ts, o JSDoc da lib, as chamadas de export de cada script).
Escolha a porta certa
| Você escreve | Use |
|---|---|
| Um script ai-* ou qualquer recurso em TypeScript | @aicore-fivem/lib: inventory, vehicleKeys, online, medical... A lib chama o ai-core por você. |
| Um recurso em Lua | aiLib do ai-lib (shared_script '@ai-lib/init.lua'), ou os exports do ai-core diretamente. |
| Um script de ESX / QB / Qbox | Nada novo: a ponte responde à API do próprio framework. Veja Camadas e a ponte. |
Itens, chaves de veículos, alertas, telefone, clima, prisão, roupas e mortes sempre passam pelo ai-core, nunca pelos exports de um script específico: o ai-core encaminha para o script que o servidor roda para aquela tarefa.
Chamando um 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')- Tipos:
resourceExportos lê deCitizenExportsem@aicore-fivem/shared. Um recurso que pode não estar rodando usaoptionalExport("x")(null enquanto parado). - Nomes: cada export também responde com a primeira letra na caixa trocada (
GetMoneyegetMoney). - Exports são síncronos e retornam valores pequenos. Quando um valor precisa de tempo (uma aparência salva), o export recebe um callback: nenhuma promise cruza a fronteira de um recurso.
- Caminhos quentes seguem os eventos do ai-core em vez de chamar exports em loop (o espelho
onlineda lib faz isso).
Páginas
| Página | O quê |
|---|---|
| Exports de servidor do ai-core | Personagens, dinheiro, empregos, gangues, itens, chaves, médico, telefone, despacho, prisão, mundo, buckets, logs, conexão, painel de administração. |
| Exports de cliente do ai-core | Dados do jogador, HUD, dicas de teclas, sincronização do mundo, itens, radial, gestos, aparências, diálogos. |
| Eventos e estado | Eventos CORE.* com seus dados, state bags, eventos de framework que a ponte dispara. |
| Exports dos scripts | Exports de cada script ai-*, incluindo as APIs de ox_inventory, pma-voice e qb-weathersync que eles substituem. |
| Lib: cliente | @aicore-fivem/lib/client. |
| Lib: servidor | @aicore-fivem/lib/server. |
| Lib: shared e fivem | @aicore-fivem/lib/shared e /fivem. |
| Lib para Lua | aiLib em recursos Lua. |