AI Core
Referência da APIEventos e estado

Net events

Os net events que um script de cliente pode escutar (o canal de dados do jogador do ai-core) e o tráfego de rede próprio do ai-core que outros scripts não devem disparar.

Um net event viaja entre o servidor e o cliente de um jogador. O ai-core envia pouquíssimos: os dados do próprio jogador saem uma vez quando o personagem carrega, depois só os valores que mudam, e só para esse jogador. Todo o resto de que seu script precisa é um evento de cliente ou um state bag.

Você raramente precisa destes eventos diretamente. O onPlayerData(key, handler) da lib (TypeScript) e o aiLib.playerData.onChange(key, handler) (Lua) escutam os dois por você, juntam os patches de dinheiro e metadata e leem os valores iniciais do ai-core.

ai-core:client:playerData

O servidor envia um valor dos dados do próprio jogador: o valor inteiro de uma chave. Dispara uma vez por chave quando o personagem carrega, e depois cada vez que esse valor muda (um emprego, o serviço, uma gangue...).

Lado: Servidor para o próprio cliente do jogador

Argumentos

Listener

resource/client/index.ts
import { onPlayerData } from "@aicore-fivem/lib/client";

// A lib escuta ai-core:client:playerData e playerDataPatch por você.
onPlayerData("job", (job) => console.log(`main job: ${job.job} grade ${job.grade}`));

ai-core:client:playerDataPatch

O servidor envia só as entradas alteradas de um valor de mapa: money (o novo saldo de uma conta) ou metadata (uma chave). Junte o patch ao que você tem.

Lado: Servidor para o próprio cliente do jogador

Argumentos

Prop

Type

Listener

resource/client/index.ts
import { getPlayerData, onPlayerData } from "@aicore-fivem/lib/client";

// A lib junta os patches: o handler recebe o mapa de dinheiro inteiro já juntado.
const show = (money: Record<string, number>): void => SendNUIMessage({ action: "cash", data: money.cash ?? 0 });
show(getPlayerData("money") ?? {});
onPlayerData("money", show);

Num cliente, escute net events só pelo onServerEvent da lib (TypeScript) ou aiLib.onServerEvent (Lua). Eles verificam se o evento veio mesmo do servidor; um handler RegisterNetEvent puro também roda quando outro recurso de cliente dispara o nome localmente.

O tráfego próprio do ai-core: não dispare

Estes net events e callbacks são o tráfego interno do ai-core entre o servidor e o cliente dele (ou a lib). Eles estão listados para você reconhecê-los nos logs. Nunca os dispare a partir de outro script e não construa nada sobre eles: os argumentos podem mudar.

NomeDireçãoO quê
ai-core:client:spawnservidor para clienteColoca o personagem carregado no mundo.
ai-core:client:chooseSpawnservidor para clienteOpções de spawn para o jogador escolher.
ai-core:client:openCharactersservidor para clienteMostra a tela de personagens de novo depois de uma troca.
ai-core:client:characterLooksservidor para cliente (latente)Os visuais da tela de personagens.
ai-core:client:billsservidor para clienteAs faturas do ai-core em aberto do jogador, para a lista de faturas.
ai-core:client:stressservidor para clienteEstresse para um HUD que só o aceita do próprio cliente.
ai-core:client:vehicleKeys, ai-core:client:garagesservidor para clienteChamadas para scripts de chaves e de garagem que só têm API de cliente.
ai-core:clientError, ai-core:fuelReportcliente para servidorRelatórios de erro dos bundles de cliente; níveis de combustível de scripts de combustível do lado cliente.
ai-core:characters, ai-core:createCharacter, ai-core:deleteCharacter, ai-core:selectCharacter, ai-core:spawnChoice, ai-core:payBill, ai-core:vehicleTypecallbacksA tela de personagens, a escolha de spawn, as faturas e o spawn de veículos.
ai-core:admin:*, <resource>:admin:worldambosO painel de administração e os dados do painel de cada recurso.
ai-lib:client:notify, ai-lib:progressFor, ai-lib:minigameFor, ai-lib:client:progressForCancelservidor para clienteAs notificações do ai-lib, barras de progresso e minigames comandados pelo servidor (use notify, progressFor, minigameFor da lib).

Nesta página