AI Core
Основноеai-lib

ai-lib

Общий интерфейс игрока, которым пользуется каждый скрипт (уведомления, полоса прогресса, подсказки, меню, диалоги ввода, мини-игры), и вспомогательные функции AI Core для ресурсов на Lua и JavaScript.

ai-lib выполняет две задачи:

  1. Интерфейс игрока, общий для всех скриптов. Карточки уведомлений, полоса прогресса и её клавиша отмены, подсказки справа на экране и клавиша взаимодействия, меню, диалоги ввода и мини-игры взлома отмычкой и проверки навыка. Каждый скрипт ai-*, мост AI Core (скрипты ESX и QB) и ваши собственные скрипты рисуют через него, поэтому весь сервер выглядит одинаково.
  2. Вспомогательные функции AI Core для других ресурсов. Ресурс на Lua добавляет одну строку в свой манифест и получает aiLib.notify, aiLib.Points, aiLib.addCommand, aiLib.progress и остальное. Ресурсы на чистом JavaScript загружают его бандлы. Так скрипты на Lua пользуются AI Core так же, как скрипты на TypeScript.

Интерфейс работает без ai-core, поэтому ai-lib можно использовать отдельно. Вспомогательным функциям, которые читают игроков, деньги или предметы, нужен ai-core.

Что он делает в игре

  • Уведомления. Карточки четырёх видов (успех, ошибка, информация, предупреждение), по умолчанию 4 секунды.
  • Полоса прогресса. Одна полоса для всех скриптов. Игрок отменяет отменяемое действие клавишей Backspace.
  • Подсказки. Окошки «Нажмите E, чтобы ...» справа или парящие над точкой мира (дверью). Одна клавиша взаимодействия (E) для всех скриптов; самая новая подсказка сверху.
  • Меню и диалоги ввода. Списки с иконками, подменю (Escape возвращает назад, удержание Escape закрывает), переключатели и формы с текстовыми и числовыми полями.
  • Мини-игры. Взлом отмычкой (двигайте отмычку, поворачивайте замок) и проверка навыка (нажмите на зелёном).
  • Всегда поверх. Меню и уведомления показываются поверх любого другого экрана, включая экран персонажей.

Установка

Его устанавливает рецепт AI Core для txAdmin. Вручную: положите папку в resources/[ai]/ и добавьте ensure ai-lib в server.cfg, после ensure ai-core, если вы используете AI Core. Ему нужен OneSync. Таблицы в базе данных у него нет.

Настройки панели

У ai-lib нет своей вкладки. Его меняют две настройки во вкладке General из AI Core:

Настройка (вкладка General)Что меняетПо умолчанию
Карточка Notifications, Notification scriptГде показываются карточки уведомлений: собственные карточки ai-lib или другой установленный вами скрипт уведомлений. Когда этот скрипт останавливается, карточки ai-lib возвращаются. Подсказки всегда остаются от ai-lib.ai-lib
Карточка Interaction, Interaction stylePrompt and key (подсказки ai-lib) или Target eye (скрипт target, например ai-target).Prompt and key

Команды

Нет.

Привязки клавиш

Клавиша по умолчаниюЧто делаетНазвание в настройках GTA
EИспользует верхнюю подсказку (или выбранный маркер target)Interact with the prompt on screen
BackspaceОтменяет текущее действие (полосу прогресса, которая это позволяет)Cancel the running action

Измените значение по умолчанию для всех во вкладке панели Keybinds; каждый игрок может изменить своё в настройках клавиш GTA.

Работа с другими скриптами

  • Интерфейс ESX и QB. Мост AI Core отрисовывает esx_context, esx_textui, esx_notify, esx_progressbar, esx_menu_*, qb-menu, qb-input и progressbar меню, подсказками, карточками и полосой ai-lib, поэтому эти скрипты выглядят как остальной сервер.
  • Другие скрипты уведомлений могут взять карточки на себя (вкладка General, см. выше).

Известные ограничения

  • Имена иконок меню берутся из фиксированного списка Font Awesome; неизвестное имя показывает точку.
  • Ресурсы на Lua сами проверяют свои зоны и точки моделей; ресурсы на JavaScript передают свои ai-lib, который проверяет их все одним таймером.

На этой странице