AI Core

La lib

@aicore-fivem/lib - les utilitaires sur lesquels repose chaque script ai-*, et ai-lib pour Lua.

@aicore-fivem/lib remplace ox_lib dans AI Core : tout ce que les scripts écriraient à la main se trouve ici, conçu pour l’échelle et vérifié par des benchmarks. Les ressources TypeScript l’importent (@aicore-fivem/lib/client, /server, /shared) ; les ressources Lua le chargent depuis ai-lib (shared_script '@ai-lib/init.lua', puis aiLib.<name>), les ressources JavaScript sans bundler chargent @ai-lib/dist/client.js / server.js.

Entrées client et serveur

UtilitaireRôle
onClientCallback, onClientEventRequêtes client via la porte d’entrée : fréquence, garde-fous (isAdmin, hasCharacter, near), parseur d’arguments, un seul appel à la fois (lock).
triggerServerCallback, callActionLe côté client ; callAction affiche lui-même le refus traduit.
fail("KEY"), ActionResultRefus avec une clé de langue.
readInt, readId, readText, readVec3, readVec4, oneArgLecteurs stricts pour les valeurs venant du client.
progressForUne action minutée que le serveur exécute : la barre de progression d’ai-lib sur le client du joueur, vraie seulement quand elle est allée à son terme là-bas et que le serveur a vu passer assez de temps.
minigameForUn mini-jeu dont un flux serveur a besoin (crochetage, test d’adresse) : gagné, perdu ou cassé, décidé sur le client du joueur, le serveur vérifie quand même.
PendingActionsDialogues que le serveur attend (le texte d’une note) : jeton, libéré à la déconnexion.
PlayerMap, Cooldowns, KeyedCooldowns, onCharacterÉtat par joueur qui se nettoie tout seul à la déconnexion et au changement de personnage.

Monde

UtilitaireRôle
PointsChaque lieu qu’utilisent les joueurs : prompt ou target (au choix du propriétaire), PNJ, blips, points de modèle (distributeurs, pompes), points de véhicule.
Zones, Blips, LocalPedZones, blips, peds locaux.
hasJob, inGang, onDutyIn, onMembershipChangeVérifications d’appartenance pour canShow.
player, cache, onCacheLe ped local : téléportation avec chargement des collisions, animations, gel ; ped, véhicule, siège et arme en cache.
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNetVéhicules serveur avec plaque, clés, carburant, apparence et sièges en un seul appel.
EntityState, PlayerState, GlobalKey, GlobalGroupState bags sans le coût de chaque lecture.
raycast, groundZ, locationName, vehicleLabel, pedHeadshotSondes et noms.
AreaStream, AreaFollowerObjets du monde (objets au sol, plants, corps, props) diffusés aux joueurs qui les entourent : un instantané des cellules autour du joueur, puis seulement les changements.

Interface et déroulement

UtilitaireRôle
notify, progress, menu, input, itemPickerL’interface partagée, dessinée par ai-lib (le sélecteur d’objets par ai-core). progress accepte une animation ou un scénario, un point vers lequel se tourner, des contrôles bloqués, le gel, une touche d’annulation.
skillCheck, lockpickMini-jeux dessinés par ai-lib : un anneau de test d’adresse (la forme de difficulté d’ox_lib) et un crochetage avec goupilles et crochets.
NuiScreenLa page plein écran d’une ressource : focus, HUD masqués, le message de fermeture et les callbacks de la page dans une seule classe.
Keybind, addCommandTouches (affichées dans le panneau et dans la liste des touches) et commandes (vérifiées par ACE, listées dans le panneau).
every(ms, fn)L’unique planificateur de la ressource pour les tâches périodiques.
hud, keyHints, radial, controlsMasquer les HUD sur une interface plein écran, aide des touches, éléments du menu radial, contrôles désactivés.

Via AI Core

inventory, vehicleKeys, dispatch, phone, world (heure et météo), prison, medical, appearance, money.transfer, buckets, online (joueurs, métiers, service, noms), isPrimeTime : chacun transmet au script que le serveur utilise pour cette tâche, quel qu’il soit.

La liste complète et à jour est .claude/rules/lib.md dans le dossier du serveur.

Sur cette page