AI Core
API-ReferenzEvents und Zustand

Net-Events

Die Net-Events, auf die ein Client-Skript hören darf (der Spielerdaten-Kanal von ai-core), und der eigene Netzwerkverkehr von ai-core, den andere Skripte nicht auslösen dürfen.

Ein Net-Event reist zwischen dem Server und dem Client eines Spielers. ai-core sendet sehr wenige davon: Die eigenen Daten eines Spielers gehen einmal raus, wenn der Charakter lädt, danach nur die Werte, die sich ändern, und nur an diesen Spieler. Alles andere, was dein Skript braucht, ist ein Client-Event oder eine State Bag.

Du brauchst diese Events selten direkt. onPlayerData(key, handler) der Lib (TypeScript) und aiLib.playerData.onChange(key, handler) (Lua) hören für dich auf beide, führen die Patches für Geld und Metadaten zusammen und lesen die Startwerte von ai-core.

ai-core:client:playerData

Der Server sendet einen Wert der eigenen Daten des Spielers: den ganzen Wert eines Schlüssels. Wird einmal pro Schlüssel ausgelöst, wenn der Charakter lädt, dann jedes Mal, wenn sich dieser Wert ändert (ein Job, Dienst, eine Gang...).

Seite: Server an den eigenen Client des Spielers

Argumente

Listener

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

// Die Lib hört für dich auf ai-core:client:playerData und playerDataPatch.
onPlayerData("job", (job) => console.log(`main job: ${job.job} grade ${job.grade}`));

ai-core:client:playerDataPatch

Der Server sendet nur die geänderten Einträge eines Map-Werts: money (der neue Kontostand eines Kontos) oder metadata (ein Schlüssel). Führe den Patch mit dem zusammen, was du hast.

Seite: Server an den eigenen Client des Spielers

Argumente

Prop

Type

Listener

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

// Die Lib führt Patches zusammen: Der Handler bekommt die ganze zusammengeführte Geld-Map.
const show = (money: Record<string, number>): void => SendNUIMessage({ action: "cash", data: money.cash ?? 0 });
show(getPlayerData("money") ?? {});
onPlayerData("money", show);

Höre auf einem Client nur über onServerEvent der Lib (TypeScript) oder aiLib.onServerEvent (Lua) auf Net-Events. Sie prüfen, dass das Event wirklich vom Server kam; ein nackter RegisterNetEvent-Handler läuft auch, wenn eine andere Client-Ressource den Namen lokal auslöst.

Der eigene Verkehr von ai-core: nicht auslösen

Diese Net-Events und Callbacks sind der interne Verkehr von ai-core zwischen seinem Server und seinem Client (oder der Lib). Sie sind aufgeführt, damit du sie in Logs erkennst. Löse sie nie aus einem anderen Skript aus und baue nicht auf ihnen auf: Ihre Argumente können sich ändern.

NameRichtungWas
ai-core:client:spawnServer an ClientSetzt den geladenen Charakter in die Welt.
ai-core:client:chooseSpawnServer an ClientSpawn-Optionen, aus denen der Spieler wählt.
ai-core:client:openCharactersServer an ClientZeigt nach einem Wechsel erneut den Charakterbildschirm.
ai-core:client:characterLooksServer an Client (latent)Das Aussehen für den Charakterbildschirm.
ai-core:client:billsServer an ClientDie offenen ai-core-Rechnungen des Spielers, für die Rechnungsliste.
ai-core:client:stressServer an ClientStress für ein HUD, das ihn nur von seinem eigenen Client annimmt.
ai-core:client:vehicleKeys, ai-core:client:garagesServer an ClientAufrufe für Schlüssel- und Garagen-Skripte, die nur eine Client-API haben.
ai-core:clientError, ai-core:fuelReportClient an ServerFehlerberichte von Client-Bundles; Tankstände von clientseitigen Tank-Skripten.
ai-core:characters, ai-core:createCharacter, ai-core:deleteCharacter, ai-core:selectCharacter, ai-core:spawnChoice, ai-core:payBill, ai-core:vehicleTypeCallbacksDer Charakterbildschirm, die Spawn-Wahl, Rechnungen und das Spawnen von Fahrzeugen.
ai-core:admin:*, <resource>:admin:worldbeideDas Admin-Panel und die Panel-Daten jeder Ressource.
ai-lib:client:notify, ai-lib:progressFor, ai-lib:minigameFor, ai-lib:client:progressForCancelServer an ClientDie Benachrichtigungen von ai-lib, vom Server gesteuerte Fortschrittsbalken und Minispiele (nutze notify, progressFor, minigameFor der Lib).

Auf dieser Seite