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
Prop
Type
Listener
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
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.
| Name | Richtung | Was |
|---|---|---|
ai-core:client:spawn | Server an Client | Setzt den geladenen Charakter in die Welt. |
ai-core:client:chooseSpawn | Server an Client | Spawn-Optionen, aus denen der Spieler wählt. |
ai-core:client:openCharacters | Server an Client | Zeigt nach einem Wechsel erneut den Charakterbildschirm. |
ai-core:client:characterLooks | Server an Client (latent) | Das Aussehen für den Charakterbildschirm. |
ai-core:client:bills | Server an Client | Die offenen ai-core-Rechnungen des Spielers, für die Rechnungsliste. |
ai-core:client:stress | Server an Client | Stress für ein HUD, das ihn nur von seinem eigenen Client annimmt. |
ai-core:client:vehicleKeys, ai-core:client:garages | Server an Client | Aufrufe für Schlüssel- und Garagen-Skripte, die nur eine Client-API haben. |
ai-core:clientError, ai-core:fuelReport | Client an Server | Fehlerberichte 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:vehicleType | Callbacks | Der Charakterbildschirm, die Spawn-Wahl, Rechnungen und das Spawnen von Fahrzeugen. |
ai-core:admin:*, <resource>:admin:world | beide | Das Admin-Panel und die Panel-Daten jeder Ressource. |
ai-lib:client:notify, ai-lib:progressFor, ai-lib:minigameFor, ai-lib:client:progressForCancel | Server an Client | Die Benachrichtigungen von ai-lib, vom Server gesteuerte Fortschrittsbalken und Minispiele (nutze notify, progressFor, minigameFor der Lib). |
Client-Events
Jedes lokale Client-Event, das ai-core auslöst - der lokale Charakter geladen oder entladen, Zustand am Boden, gecachte Werte, HUD-Sichtbarkeit, Welt-Sync, Job-Definitionen, Tastenhinweise, Sicherheitsgurt - mit Argumenten und Listenern.
UI-Events von ai-lib
Die Client-Events, die ai-lib auslöst, wenn ein Spieler ein Menü, einen Eingabedialog, eine Item-Auswahl, ein Minispiel oder eine Aufforderung beantwortet oder einen Fortschrittsbalken abbricht - für Skripte, die die Exports von ai-lib selbst aufrufen.