Die Lib
@aicore-fivem/lib - die Helfer, aus denen jedes ai-*-Skript gebaut ist, und ai-lib für Lua.
@aicore-fivem/lib ersetzt in AI Core ox_lib: Alles, was Skripte sonst von Hand schreiben würden, steckt hier, gebaut für Skalierung und mit Benchmarks geprüft. TypeScript-Ressourcen importieren sie (@aicore-fivem/lib/client, /server, /shared); Lua-Ressourcen laden sie aus ai-lib (shared_script '@ai-lib/init.lua', dann aiLib.<name>), JavaScript-Ressourcen ohne Bundler laden @ai-lib/dist/client.js / server.js.
Client- und Server-Eingaben
| Helfer | Was |
|---|---|
onClientCallback, onClientEvent | Client-Anfragen durch das Gate: Rate, Guards (isAdmin, hasCharacter, near), Argument-Parser, ein Aufruf zur Zeit (lock). |
triggerServerCallback, callAction | Die Client-Seite; callAction zeigt die übersetzte Ablehnung selbst an. |
fail("KEY"), ActionResult | Ablehnungen mit einem Sprachschlüssel. |
readInt, readId, readText, readVec3, readVec4, oneArg | Strikte Leser für Client-Werte. |
progressFor | Eine zeitgesteuerte Aktion, die der Server ausführt: der Fortschrittsbalken von ai-lib auf dem Client des Spielers, nur wahr, wenn er dort abgelaufen ist und auf dem Server genug Zeit vergangen ist. |
minigameFor | Ein Minispiel, das ein Server-Ablauf braucht (Schlossknacken, Skill-Check): gewonnen, verloren oder zerbrochen, entschieden auf dem Client des Spielers, der Server prüft trotzdem nach. |
PendingActions | Dialoge, auf die der Server wartet (der Text einer Notiz): Token, freigegeben beim Verlassen. |
PlayerMap, Cooldowns, KeyedCooldowns, onCharacter | Zustand pro Spieler, der sich beim Verlassen und beim Charakterwechsel selbst aufräumt. |
Welt
| Helfer | Was |
|---|---|
Points | Jeder Ort, den Spieler nutzen: Prompt oder Target (die Wahl des Betreibers), NPCs, Blips, Modellpunkte (Geldautomaten, Zapfsäulen), Fahrzeugpunkte. |
Zones, Blips, LocalPed | Bereiche, Blips, lokale Peds. |
hasJob, inGang, onDutyIn, onMembershipChange | Mitgliedschaftsprüfungen für canShow. |
player, cache, onCache | Der lokale Ped: Teleport mit Laden der Kollision, Animationen, Einfrieren; gecachter Ped, Fahrzeug, Sitz, Waffe. |
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNet | Server-Fahrzeuge mit Kennzeichen, Schlüsseln, Sprit, Aussehen und Sitzen in einem Aufruf. |
EntityState, PlayerState, GlobalKey, GlobalGroup | State Bags ohne Kosten pro Lesezugriff. |
raycast, groundZ, locationName, vehicleLabel, pedHeadshot | Abfragen und Namen. |
AreaStream, AreaFollower | Weltobjekte (Drops, Pflanzen, Körper, Props), an die Spieler in ihrer Nähe gestreamt: ein Snapshot der Zellen um den Spieler, danach nur Änderungen. |
UI und Ablauf
| Helfer | Was |
|---|---|
notify, progress, menu, input, itemPicker | Die gemeinsame UI, von ai-lib gezeichnet (die Item-Auswahl von ai-core). progress nimmt eine Animation oder ein Szenario, einen Punkt, zu dem man sich dreht, gesperrte Steuerungen, Einfrieren, eine Abbruchtaste. |
skillCheck, lockpick | Minispiele, die ai-lib zeichnet: ein Skill-Check-Ring (mit der Schwierigkeitsform von ox_lib) und Schlossknacken mit Stiften und Dietrichen. |
NuiScreen | Die Vollbildseite einer Ressource: Fokus, ausgeblendete HUDs, die Schließen-Nachricht und die Callbacks der Seite in einer Klasse. |
Keybind, addCommand | Tasten (im Panel und in der Tastenliste angezeigt) und Befehle (per ACE geprüft, im Panel aufgelistet). |
every(ms, fn) | Der eine Scheduler der Ressource für periodische Arbeit. |
hud, keyHints, radial, controls | HUDs bei Vollbild-UI ausblenden, Tastenhilfe, Radialeinträge, deaktivierte Steuerungen. |
Über AI Core
inventory, vehicleKeys, dispatch, phone, world (Zeit und Wetter), prison, medical, appearance, money.transfer, buckets, online (Spieler, Jobs, Dienst, Namen), isPrimeTime: Jedes leitet an das Skript weiter, das der Server für diese Aufgabe betreibt.
Die vollständige, aktuelle Liste steht in .claude/rules/lib.md im Server-Ordner.