ai-core для разработчиков
Где описаны экспорты, события, state bags и мост ai-core.
API ai-core большой, поэтому у него свои справочные страницы. Эта страница указывает на них.
Справочники
Серверные экспорты
Персонажи и игроки, деньги, работы и банды, предметы, ключи, вызовы, логи и все остальные серверные экспорты, с типами и примерами.
Клиентские экспорты
Данные игрока, HUD, подсказки клавиш, радиальное меню, внешность, синхронизация мира и остальные клиентские экспорты.
События
playerLoaded, moneyChanged, jobsChanged, dutyChanged и остальные события, с их аргументами и примерами слушателей.
Lib
@aicore-fivem/lib и aiLib: вспомогательные функции, которые вызывают ai-core за вас.
Как его вызывать
import { resourceExport } from "@aicore-fivem/lib/server";
// Типизированы как AiCoreServerExports в @aicore-fivem/shared.
const core = resourceExport("ai-core");
const character = core.GetCharacter(source);Чаще всего вы не вызываете экспорты ai-core сами: их оборачивают вспомогательные функции lib (money, inventory, online, onCharacter, vehicleKeys, dispatch...).
Мосты фреймворков
Скриптам, написанным для ESX, QBCore, Qbox или vRP, собственный API ai-core не нужен: ai-core отвечает на их API (ESX.GetPlayerFromId, QBCore.Functions.GetPlayer, exports.qbx_core:GetPlayer, Proxy и Tunnel из vRP). На что отвечает каждый мост и его ограничения описаны на странице Совместимость.
State bags и GlobalState
| Ключ | Где | Значение |
|---|---|---|
ai:duty:<job> | GlobalState | Число участников этой работы на дежурстве. |
ai:pvp | GlobalState | Могут ли игроки наносить урон друг другу. |
ai:inventory, ai:vehicleKeys, ai:appearance, ai:medical, ai:fuel, ai:garages, ai:mdt, ai:notify | GlobalState | Имя ресурса скрипта, который ai-core использует для этой задачи. |
Полный список с их форматами находится в справочниках серверных экспортов и событий.