AI Core
Справочник API

Обзор API

Как вызвать AI Core из другого скрипта - экспорты, события и библиотека, на TypeScript и Lua.

Всё, что может вызвать другой скрипт: экспорты ai-core, события, которые он отправляет, экспорты каждого скрипта ai-* и вспомогательные функции @aicore-fivem/lib. Каждая сигнатура на этих страницах взята из исходников (@aicore-fivem/shared exports.ts, JSDoc библиотеки, вызовы экспортов в каждом скрипте).

Выберите правильный путь

Вы пишетеИспользуйте
Скрипт ai-* или любой ресурс на TypeScript@aicore-fivem/lib: inventory, vehicleKeys, online, medical... Библиотека сама вызывает ai-core.
Ресурс на LuaaiLib из ai-lib (shared_script '@ai-lib/init.lua') или экспорты ai-core напрямую.
Скрипт для ESX / QB / QboxНичего нового: мост отвечает на собственный API фреймворка. См. Слои и мост.

Предметы, ключи от транспорта, оповещения, телефон, погода, тюрьма, одежда и смерти всегда идут через ai-core, а не через экспорты конкретного скрипта: ai-core передаёт вызов скрипту, который сервер использует для этой задачи.

Вызов экспорта

import { resourceExport } from "@aicore-fivem/lib/server";

// One typed handle per resource, at the top of the file.
const core = resourceExport("ai-core");

const cash = core.GetMoney(source, "cash");
local cash = exports['ai-core']:GetMoney(source, 'cash')
  • Типы: resourceExport берёт их из CitizenExports в @aicore-fivem/shared. Ресурс, который может быть не запущен, использует optionalExport("x") (null, пока он остановлен).
  • Имена: каждый экспорт отвечает и с изменённым регистром первой буквы (GetMoney и getMoney).
  • Экспорты синхронные и возвращают небольшие значения. Если значению нужно время (сохранённая внешность), экспорт принимает callback: promise не пересекает границу ресурса.
  • Горячие пути следят за событиями ai-core, а не вызывают экспорты в цикле (так работает зеркало online в библиотеке).

Страницы

СтраницаЧто
Серверные экспорты ai-coreПерсонажи, деньги, работы, банды, предметы, ключи, медицина, телефон, диспетчер, тюрьма, мир, бакеты, логи, подключение, админ-панель.
Клиентские экспорты ai-coreДанные игрока, HUD, подсказки клавиш, синхронизация мира, предметы, радиальное меню, жесты, внешность, диалоги.
События и состояниеСобытия CORE.* с данными, state bag, события фреймворков, которые отправляет мост.
Экспорты скриптовЭкспорты каждого скрипта ai-*, включая API ox_inventory, pma-voice и qb-weathersync, которые они заменяют.
Библиотека: клиент@aicore-fivem/lib/client.
Библиотека: сервер@aicore-fivem/lib/server.
Библиотека: shared и fivem@aicore-fivem/lib/shared и /fivem.
Библиотека для LuaaiLib в ресурсах на Lua.

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