ai-lib
La interfaz compartida del jugador que usan todos los scripts (notificaciones, barra de progreso, avisos, menús, cuadros de entrada, minijuegos) y las utilidades de AI Core para recursos en Lua y JavaScript.
ai-lib hace dos trabajos:
- La interfaz del jugador que comparten todos los scripts. Tarjetas de notificación, la barra de progreso y su tecla de cancelar, los avisos a la derecha de la pantalla y la tecla de interacción, menús, cuadros de entrada y los minijuegos de ganzúa y de prueba de habilidad. Todos los scripts
ai-*, el puente de AI Core (scripts de ESX y QB) y tus propios scripts dibujan a través de él, así que todo el servidor se ve igual. - Las utilidades de AI Core para otros recursos. Un recurso Lua añade una línea a su manifiesto y obtiene
aiLib.notify,aiLib.Points,aiLib.addCommand,aiLib.progressy el resto. Los recursos en JavaScript simple cargan sus bundles. Así es como los scripts Lua usan AI Core igual que los de TypeScript.
La interfaz funciona sin ai-core, así que puedes usar ai-lib por sí solo. Las utilidades que leen jugadores, dinero u objetos necesitan ai-core.
Qué hace en el juego
- Notificaciones. Tarjetas de cuatro tipos (éxito, error, información, advertencia), 4 segundos por defecto.
- Barra de progreso. Una sola barra para todos los scripts. El jugador cancela una acción cancelable con Backspace.
- Avisos. Recuadros "Pulsa E para ..." a la derecha, o flotando sobre un punto del mundo (una puerta). Una sola tecla de interacción (E) para todos los scripts; el aviso más reciente queda arriba.
- Menús y cuadros de entrada. Listas con iconos, submenús (Escape vuelve atrás, mantener Escape cierra), interruptores y formularios con campos de texto y de número.
- Minijuegos. Una ganzúa (mueve la ganzúa, gira la cerradura) y una prueba de habilidad (pulsa en el verde).
- Siempre encima. Los menús y las notificaciones se muestran sobre cualquier otra pantalla, incluida la pantalla de personajes.
Instalación
La receta de txAdmin de AI Core lo instala. A mano: pon la carpeta en resources/[ai]/ y añade ensure ai-lib a server.cfg, después de ensure ai-core cuando uses AI Core. Necesita OneSync. No tiene tabla de base de datos.
Ajustes del panel
ai-lib no tiene pestaña propia. Dos ajustes de la pestaña General de AI Core lo cambian:
| Ajuste (pestaña General) | Qué cambia | Por defecto |
|---|---|---|
| Tarjeta Notifications, Notification script | Dónde se muestran las tarjetas de notificación: las propias de ai-lib u otro script de notificaciones que hayas instalado. Cuando ese script se detiene, vuelven las tarjetas de ai-lib. Los avisos siempre son de ai-lib. | ai-lib |
| Tarjeta Interaction, Interaction style | Prompt and key (los avisos de ai-lib) o Target eye (un script de target como ai-target). | Prompt and key |
Comandos
Ninguno.
Teclas
| Tecla por defecto | Qué hace | Nombre en los ajustes de GTA |
|---|---|---|
| E | Usa el aviso de arriba (o el marcador de target enfocado) | Interact with the prompt on screen |
| Backspace | Cancela la acción en curso (una barra de progreso que lo permita) | Cancel the running action |
Cambia la tecla por defecto para todos en la pestaña Keybinds del panel; cada jugador puede cambiar la suya en los ajustes de teclas de GTA.
Funciona con otros scripts
- Interfaz de ESX y QB. El puente de AI Core dibuja
esx_context,esx_textui,esx_notify,esx_progressbar,esx_menu_*,qb-menu,qb-inputyprogressbarcon los menús, avisos, tarjetas y barra de ai-lib, así que esos scripts se ven como el resto del servidor. - Otros scripts de notificaciones pueden encargarse de las tarjetas (pestaña General, arriba).
Límites conocidos
- Los nombres de icono de los menús son una lista fija de Font Awesome; un nombre desconocido muestra un punto.
- Los recursos Lua comprueban sus propias zonas y puntos de modelo; los recursos JavaScript entregan los suyos a ai-lib, que los comprueba todos con un solo temporizador.
ai-mysql para desarrolladores
Los exports de oxmysql a los que responde ai-mysql, qué devuelve cada uno, las formas con promesa, el wrapper MySQL.lua y los eventos de error.
ai-lib para desarrolladores
Cargar ai-lib en un recurso Lua o JavaScript, dónde está la referencia de la lib, y los exports de cliente y eventos propios de ai-lib.