La lib
@aicore-fivem/lib - las utilidades con las que se construye cada script ai-*, y ai-lib para Lua.
@aicore-fivem/lib reemplaza a ox_lib en AI Core: todo lo que los scripts escribirían a mano está aquí, pensado para escalar y comprobado con benchmarks. Los recursos en TypeScript la importan (@aicore-fivem/lib/client, /server, /shared); los recursos en Lua la cargan desde ai-lib (shared_script '@ai-lib/init.lua', y después aiLib.<name>), y los recursos en JavaScript sin bundler cargan @ai-lib/dist/client.js / server.js.
Entrada de cliente y servidor
| Utilidad | Qué |
|---|---|
onClientCallback, onClientEvent | Peticiones del cliente a través de la puerta: frecuencia, guardas (isAdmin, hasCharacter, near), parser de argumentos, una llamada a la vez (lock). |
triggerServerCallback, callAction | El lado del cliente; callAction muestra por sí misma el rechazo traducido. |
fail("KEY"), ActionResult | Rechazos con una clave de idioma. |
readInt, readId, readText, readVec3, readVec4, oneArg | Lectores estrictos de los valores del cliente. |
progressFor | Una acción temporizada que ejecuta el servidor: la barra de progreso de ai-lib en el cliente del jugador, verdadera solo cuando terminó allí y pasó tiempo suficiente en el servidor. |
minigameFor | Un minijuego que necesita un flujo del servidor (forzar cerradura, prueba de habilidad): ganado, perdido o roto, decidido en el cliente del jugador; el servidor lo comprueba igualmente. |
PendingActions | Diálogos que espera el servidor (el texto de una nota): token, liberado al desconectarse. |
PlayerMap, Cooldowns, KeyedCooldowns, onCharacter | Estado por jugador que se limpia solo al desconectarse y al cambiar de personaje. |
Mundo
| Utilidad | Qué |
|---|---|
Points | Cada lugar que usan los jugadores: prompt o target (lo elige el dueño), NPC, blips, puntos por modelo (cajeros, surtidores), puntos de vehículo. |
Zones, Blips, LocalPed | Áreas, blips, peds locales. |
hasJob, inGang, onDutyIn, onMembershipChange | Comprobaciones de pertenencia para canShow. |
player, cache, onCache | El ped local: teletransporte con carga de colisiones, animaciones, congelar; ped, vehículo, asiento y arma en caché. |
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNet | Vehículos del servidor con matrícula, llaves, combustible, aspecto y asientos en una sola llamada. |
EntityState, PlayerState, GlobalKey, GlobalGroup | State bags sin el coste de cada lectura. |
raycast, groundZ, locationName, vehicleLabel, pedHeadshot | Sondeos y nombres. |
AreaStream, AreaFollower | Objetos del mundo (objetos en el suelo, plantas, cuerpos, props) transmitidos a los jugadores que están cerca: un snapshot de las celdas alrededor del jugador y después solo los cambios. |
Interfaz y flujo
| Utilidad | Qué |
|---|---|
notify, progress, menu, input, itemPicker | La interfaz compartida, dibujada por ai-lib (el selector de objetos, por ai-core). progress acepta una animación o un escenario, un punto al que mirar, controles bloqueados, congelar y tecla de cancelar. |
skillCheck, lockpick | Minijuegos dibujados por ai-lib: un anillo de prueba de habilidad (con la forma de dificultad de ox_lib) y un forzado de cerradura con pines y ganzúas. |
NuiScreen | La página a pantalla completa de un recurso: foco, HUD ocultos, el mensaje de cierre y los callbacks de la página en una sola clase. |
Keybind, addCommand | Teclas (mostradas en el panel y en la lista de teclas) y comandos (comprobados por ACE, listados en el panel). |
every(ms, fn) | El único planificador del recurso para el trabajo periódico. |
hud, keyHints, radial, controls | Ocultar los HUD con interfaces a pantalla completa, ayuda de teclas, elementos del menú radial, controles desactivados. |
A través de AI Core
inventory, vehicleKeys, dispatch, phone, world (hora y clima), prison, medical, appearance, money.transfer, buckets, online (jugadores, trabajos, servicio, nombres), isPrimeTime: cada uno reenvía al script que el servidor use para esa tarea.
La lista completa y actualizada es .claude/rules/lib.md en la carpeta del servidor.