AI Core
Référence de l’APIÉvénements et état

Événements réseau

Les événements réseau qu’un script client peut écouter (le canal des données du joueur d’ai-core), et le trafic réseau propre d’ai-core que les autres scripts ne doivent pas déclencher.

Un événement réseau circule entre le serveur et le client d’un joueur. ai-core en envoie très peu : les données d’un joueur partent une fois quand le personnage se charge, puis seulement les valeurs qui changent, et seulement vers ce joueur. Tout le reste dont votre script a besoin est un événement client ou un state bag.

Vous avez rarement besoin de ces événements directement. onPlayerData(key, handler) de la lib (TypeScript) et aiLib.playerData.onChange(key, handler) (Lua) écoutent les deux pour vous, fusionnent les correctifs d’argent et de métadonnées, et lisent les valeurs de départ auprès d’ai-core.

ai-core:client:playerData

Le serveur envoie une valeur des données propres du joueur : la valeur entière d’une clé. Se déclenche une fois par clé quand le personnage se charge, puis à chaque changement de cette valeur (un métier, le service, un gang...).

Côté : Serveur vers le client du joueur lui-même

Arguments

Écouteur

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

// La lib écoute ai-core:client:playerData et playerDataPatch pour vous.
onPlayerData("job", (job) => console.log(`main job: ${job.job} grade ${job.grade}`));

ai-core:client:playerDataPatch

Le serveur envoie seulement les entrées modifiées d’une valeur de type table : money (le nouveau solde d’un compte) ou metadata (une clé). Fusionnez le correctif dans ce que vous avez.

Côté : Serveur vers le client du joueur lui-même

Arguments

Prop

Type

Écouteur

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

// La lib fusionne les correctifs : le handler reçoit toute la table d’argent fusionnée.
const show = (money: Record<string, number>): void => SendNUIMessage({ action: "cash", data: money.cash ?? 0 });
show(getPlayerData("money") ?? {});
onPlayerData("money", show);

Sur un client, écoutez les événements réseau uniquement via onServerEvent de la lib (TypeScript) ou aiLib.onServerEvent (Lua). Ils vérifient que l’événement vient vraiment du serveur ; un handler RegisterNetEvent nu s’exécute aussi quand une autre ressource client déclenche le nom localement.

Le trafic propre d’ai-core : ne pas déclencher

Ces événements réseau et callbacks sont le trafic interne d’ai-core entre son serveur et son client (ou la lib). Ils sont listés pour que vous les reconnaissiez dans les logs. Ne les déclenchez jamais depuis un autre script, et ne construisez rien dessus : leurs arguments peuvent changer.

NomSensRôle
ai-core:client:spawnserveur vers clientPlace le personnage chargé dans le monde.
ai-core:client:chooseSpawnserveur vers clientOptions d’apparition que le joueur choisit.
ai-core:client:openCharactersserveur vers clientRéaffiche l’écran des personnages après un changement.
ai-core:client:characterLooksserveur vers client (latent)Les apparences de l’écran des personnages.
ai-core:client:billsserveur vers clientLes factures ai-core ouvertes du joueur, pour la liste des factures.
ai-core:client:stressserveur vers clientLe stress pour un HUD qui ne le prend que depuis son propre client.
ai-core:client:vehicleKeys, ai-core:client:garagesserveur vers clientAppels pour les scripts de clés et de garages qui n’ont qu’une API client.
ai-core:clientError, ai-core:fuelReportclient vers serveurRapports d’erreur des bundles client ; niveaux de carburant des scripts de carburant côté client.
ai-core:characters, ai-core:createCharacter, ai-core:deleteCharacter, ai-core:selectCharacter, ai-core:spawnChoice, ai-core:payBill, ai-core:vehicleTypecallbacksL’écran des personnages, le choix d’apparition, les factures et l’apparition des véhicules.
ai-core:admin:*, <resource>:admin:worldles deuxLe panneau d’administration et les données de panneau de chaque ressource.
ai-lib:client:notify, ai-lib:progressFor, ai-lib:minigameFor, ai-lib:client:progressForCancelserveur vers clientLes notifications d’ai-lib, les barres de progression et mini-jeux lancés par le serveur (utilisez notify, progressFor, minigameFor de la lib).

Sur cette page