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
Prop
Type
Listener
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
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.
| Nome | Direção | O quê |
|---|---|---|
ai-core:client:spawn | servidor para cliente | Coloca o personagem carregado no mundo. |
ai-core:client:chooseSpawn | servidor para cliente | Opções de spawn para o jogador escolher. |
ai-core:client:openCharacters | servidor para cliente | Mostra a tela de personagens de novo depois de uma troca. |
ai-core:client:characterLooks | servidor para cliente (latente) | Os visuais da tela de personagens. |
ai-core:client:bills | servidor para cliente | As faturas do ai-core em aberto do jogador, para a lista de faturas. |
ai-core:client:stress | servidor para cliente | Estresse para um HUD que só o aceita do próprio cliente. |
ai-core:client:vehicleKeys, ai-core:client:garages | servidor para cliente | Chamadas para scripts de chaves e de garagem que só têm API de cliente. |
ai-core:clientError, ai-core:fuelReport | cliente para servidor | Relató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:vehicleType | callbacks | A tela de personagens, a escolha de spawn, as faturas e o spawn de veículos. |
ai-core:admin:*, <resource>:admin:world | ambos | O 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:progressForCancel | servidor para cliente | As notificações do ai-lib, barras de progresso e minigames comandados pelo servidor (use notify, progressFor, minigameFor da lib). |
Eventos de cliente
Cada evento local de cliente que o ai-core dispara - o personagem local carregado ou descarregado, estado de caído, valores em cache, visibilidade do HUD, sincronização do mundo, definições de empregos, dicas de teclas, cinto de segurança - com argumentos e listeners.
Eventos de UI do ai-lib
Os eventos de cliente que o ai-lib dispara quando um jogador responde a um menu, caixa de entrada, seletor de itens, minigame ou prompt, ou cancela uma barra de progresso - para scripts que chamam os exports do ai-lib eles mesmos.