AI Core

Библиотека

@aicore-fivem/lib - вспомогательные функции, из которых построен каждый скрипт ai-*, и ai-lib для Lua.

@aicore-fivem/lib заменяет ox_lib в AI Core: здесь находится всё, что скрипты писали бы вручную, построенное с расчётом на масштаб и проверенное бенчмарками. Ресурсы на TypeScript импортируют её (@aicore-fivem/lib/client, /server, /shared); ресурсы на Lua загружают её из ai-lib (shared_script '@ai-lib/init.lua', затем aiLib.<name>), ресурсы на JavaScript без сборщика загружают @ai-lib/dist/client.js / server.js.

Ввод между клиентом и сервером

ФункцияЧто
onClientCallback, onClientEventЗапросы клиента через шлюз: частота, условия доступа (isAdmin, hasCharacter, near), парсер аргументов, один вызов за раз (lock).
triggerServerCallback, callActionКлиентская сторона; callAction сам показывает переведённый отказ.
fail("KEY"), ActionResultОтказы с языковым ключом.
readInt, readId, readText, readVec3, readVec4, oneArgСтрогое чтение значений от клиента.
progressForДействие с таймером, которое запускает сервер: полоса прогресса ai-lib на клиенте игрока; результат истинен, только если она там дошла до конца и на сервере прошло достаточно времени.
minigameForМини-игра, которая нужна серверному сценарию (взлом отмычкой, проверка навыка): победа, поражение или поломка, решается на клиенте игрока, сервер всё равно проверяет.
PendingActionsДиалоги, ответа на которые ждёт сервер (текст записки): токен, освобождается при выходе игрока.
PlayerMap, Cooldowns, KeyedCooldowns, onCharacterСостояние для каждого игрока, которое само очищается при выходе и смене персонажа.

Мир

ФункцияЧто
PointsВсе места, которыми пользуются игроки: prompt или target (на выбор владельца), NPC, блипы, точки на моделях (банкоматы, колонки), точки транспорта.
Zones, Blips, LocalPedЗоны, блипы, локальные педы.
hasJob, inGang, onDutyIn, onMembershipChangeПроверки членства для canShow.
player, cache, onCacheЛокальный пед: телепорт с загрузкой коллизий, анимации, заморозка; кэшированные пед, транспорт, сиденье, оружие.
spawnVehicle, vehicleKeys, vehicleFromNet, pedFromNetСерверный транспорт с номером, ключами, топливом, внешним видом и сиденьями одним вызовом.
EntityState, PlayerState, GlobalKey, GlobalGroupState bags без затрат на каждое чтение.
raycast, groundZ, locationName, vehicleLabel, pedHeadshotЗамеры и названия.
AreaStream, AreaFollowerОбъекты мира (предметы на земле, растения, тела, пропы), которые передаются игрокам рядом с ними: снимок ячеек вокруг игрока, затем только изменения.

Интерфейс и поток действий

ФункцияЧто
notify, progress, menu, input, itemPickerОбщий интерфейс, который рисует ai-lib (выбор предметов рисует ai-core). progress принимает анимацию или сценарий, точку, к которой нужно повернуться, заблокированные элементы управления, заморозку, клавишу отмены.
skillCheck, lockpickМини-игры, которые рисует ai-lib: кольцо проверки навыка (уровни сложности в формате ox_lib) и взлом отмычкой со штифтами и отмычками.
NuiScreenПолноэкранная страница ресурса: фокус, скрытые HUD, сообщение о закрытии и колбэки страницы в одном классе.
Keybind, addCommandКлавиши (показываются в панели и в списке клавиш) и команды (с проверкой ACE, перечислены в панели).
every(ms, fn)Единый планировщик ресурса для периодической работы.
hud, keyHints, radial, controlsСкрытие HUD при полноэкранном интерфейсе, подсказки клавиш, пункты радиального меню, отключённые элементы управления.

Через AI Core

inventory, vehicleKeys, dispatch, phone, world (время и погода), prison, medical, appearance, money.transfer, buckets, online (игроки, работы, дежурство, имена), isPrimeTime: каждая из них передаёт вызов тому скрипту, который сервер использует для этой задачи.

Полный и актуальный список находится в .claude/rules/lib.md в папке сервера.

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