ai-lib
A UI compartilhada do jogador que todo script usa (notificações, barra de progresso, avisos, menus, caixas de entrada, minigames) e os helpers do AI Core para recursos em Lua e JavaScript.
O ai-lib faz duas coisas:
- A UI do jogador que todo script compartilha. Cartões de notificação, a barra de progresso e sua tecla de cancelar, os avisos à direita da tela e a tecla de interação, menus, caixas de entrada, e os minigames de lockpick e de teste de habilidade. Todo script
ai-*, a ponte do AI Core (scripts ESX e QB) e os seus próprios scripts desenham através dele, então o servidor inteiro tem a mesma aparência. - Os helpers do AI Core para outros recursos. Um recurso Lua adiciona uma linha ao manifest e ganha
aiLib.notify,aiLib.Points,aiLib.addCommand,aiLib.progresse o resto. Recursos JavaScript puros carregam os bundles dele. É assim que scripts Lua usam o AI Core como os de TypeScript.
A UI roda sem o ai-core, então você pode usar o ai-lib sozinho. Os helpers que leem jogadores, dinheiro ou itens precisam do ai-core.
O que faz no jogo
- Notificações. Cartões em quatro tipos (sucesso, erro, info, aviso), 4 segundos por padrão.
- Barra de progresso. Uma barra para todos os scripts. O jogador cancela uma ação cancelável com Backspace.
- Avisos. Caixas "Press E to ..." à direita, ou flutuando sobre um ponto do mundo (uma porta). Uma tecla de interação (E) para todos os scripts; o aviso mais novo fica em cima.
- Menus e caixas de entrada. Listas com ícones, submenus (Escape volta, segurar Escape fecha), interruptores, e formulários com campos de texto e número.
- Minigames. Um lockpick (mova a gazua, gire a fechadura) e um teste de habilidade (aperte no verde).
- Sempre por cima. Menus e notificações aparecem por cima de qualquer outra tela, incluindo a tela de personagens.
Instalação
A receita do txAdmin do AI Core o instala. À mão: coloque a pasta em resources/[ai]/ e adicione ensure ai-lib ao server.cfg, depois de ensure ai-core quando você roda o AI Core. Ele precisa do OneSync. Ele não tem tabela no banco de dados.
Configurações do painel
O ai-lib não tem aba própria. Duas configurações na aba General do AI Core o alteram:
| Configuração (aba General) | O que muda | Padrão |
|---|---|---|
| Cartão Notifications, Notification script | Onde os cartões de notificação aparecem: os próprios cartões do ai-lib, ou outro script de notificação que você instalou. Quando esse script para, os cartões do ai-lib voltam. Os avisos sempre continuam sendo do ai-lib. | ai-lib |
| Cartão Interaction, Interaction style | Aviso e tecla (os avisos do ai-lib), ou Target eye (um script de target como o ai-target). | Prompt and key |
Comandos
Nenhum.
Teclas
| Tecla padrão | O que faz | Nome nas configurações do GTA |
|---|---|---|
| E | Usa o aviso que está em cima (ou o marcador de target em foco) | Interact with the prompt on screen |
| Backspace | Cancela a ação em andamento (uma barra de progresso que permite isso) | Cancel the running action |
Troque o padrão de todos na aba Keybinds do painel; cada jogador pode trocar a sua nas configurações de teclas do GTA.
Funciona com outros scripts
- UI do ESX e do QB. A ponte do AI Core desenha
esx_context,esx_textui,esx_notify,esx_progressbar,esx_menu_*,qb-menu,qb-inputeprogressbarcom os menus, avisos, cartões e a barra do ai-lib, então esses scripts têm a mesma aparência que o resto do servidor. - Outros scripts de notificação podem assumir os cartões (aba General, acima).
Limites conhecidos
- Os nomes de ícones do menu são uma lista fixa do Font Awesome; um nome desconhecido mostra um ponto.
- Recursos Lua verificam suas próprias zonas e pontos de modelo; recursos JavaScript entregam os deles ao ai-lib, que verifica todos em um único timer.
ai-mysql para desenvolvedores
Os exports do oxmysql que o ai-mysql responde, o que cada um retorna, as formas com promise, o wrapper MySQL.lua e os eventos de erro.
ai-lib para desenvolvedores
Carregando o ai-lib em um recurso Lua ou JavaScript, onde fica a referência da lib, e os próprios exports do cliente e eventos do ai-lib.