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
| Utilitaire | Rôle |
|---|---|
onClientCallback, onClientEvent | Requê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, callAction | Le côté client ; callAction affiche lui-même le refus traduit. |
fail("KEY"), ActionResult | Refus avec une clé de langue. |
readInt, readId, readText, readVec3, readVec4, oneArg | Lecteurs stricts pour les valeurs venant du client. |
progressFor | Une 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. |
minigameFor | Un 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. |
PendingActions | Dialogues 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
| Utilitaire | Rôle |
|---|---|
Points | Chaque 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, LocalPed | Zones, blips, peds locaux. |
hasJob, inGang, onDutyIn, onMembershipChange | Vérifications d’appartenance pour canShow. |
player, cache, onCache | Le ped local : téléportation avec chargement des collisions, animations, gel ; ped, véhicule, siège et arme en cache. |
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNet | Véhicules serveur avec plaque, clés, carburant, apparence et sièges en un seul appel. |
EntityState, PlayerState, GlobalKey, GlobalGroup | State bags sans le coût de chaque lecture. |
raycast, groundZ, locationName, vehicleLabel, pedHeadshot | Sondes et noms. |
AreaStream, AreaFollower | Objets 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
| Utilitaire | Rôle |
|---|---|
notify, progress, menu, input, itemPicker | L’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, lockpick | Mini-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. |
NuiScreen | La 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, addCommand | Touches (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, controls | Masquer 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.