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

Клиентские экспорты ai-core

Каждый клиентский экспорт ai-core - данные игрока, HUD, подсказки клавиш, синхронизация мира, предметы, радиальное меню, жесты, внешность и диалоги.

Типизированы как AiCoreClientExports в @aicore-fivem/shared (exports.ts).

TypeScript
import { resourceExport } from "@aicore-fivem/lib/client";
const core = resourceExport("ai-core");

У большинства есть функция библиотеки, которой проще пользоваться (последний столбец); у ресурсов на Lua те же функции есть в aiLib.

Игрок

ЭкспортЧтоБиблиотека
GetPlayerData(): AiPlayerData | nullДанные локального игрока: персонаж, деньги, работы, смена, работа, банды, активная банда, метаданные.getPlayerData, onPlayerData
IsPlayerLoaded(): booleanЗагружен ли персонаж.
IsDead(): booleanЛокальный игрок упал в запущенном скрипте смерти.medical.isDead
GetDefinitions(file: "jobs" | "gangs"): Record<string, unknown> | nullОпределения работ или банд в том виде, в каком их хранит файл панели.
Lua
local data = exports['ai-core']:GetPlayerData()
if data and data.duty == 'police' then
  -- on duty
end

HUD

ЭкспортЧтоБиблиотека
HideHud(reason: string): voidСкрывает все HUD, пока действует хоть одна причина (причины остановленного ресурса уходят вместе с ним).hud.hide
ShowHud(reason: string): voidСнимает причину.hud.show
IsHudVisible(): booleanВидны ли HUD сейчас.hud.visible
OpenHudSettings(): booleanОткрывает собственные настройки запущенного HUD; false, если их нет.
HasHudSettings(): booleanЕсть ли у запущенного HUD настройки.
TypeScript
core.HideHud("photo-mode");
// ...
core.ShowHud("photo-mode");
Lua
exports['ai-core']:HideHud('photo-mode')
exports['ai-core']:ShowHud('photo-mode')

Клавиши и подсказки клавиш

ЭкспортЧтоБиблиотека
GetKeybindKey(name: string): string | nullКлавиша, с которой зарегистрирован Keybind библиотеки; null до регистрации.Keybind.currentKey
ShowKeyHint(id: string, hint: KeyHintRequest): voidПоказывает подсказку клавиши (label, keybind?, key?, icon?), пока её не скроют.keyHints.show
HideKeyHint(id: string): voidСкрывает её.keyHints.hide
GetKeyHints(): KeyHintView[]Подсказки, которые HUD показывают сейчас (id, key, label, icon?).
OpenKeyboard(): voidОткрывает экран клавиш: все клавиши с действиями.
Lua
exports['ai-core']:ShowKeyHint('noclip_speed', { label = 'Speed', key = 'SHIFT', icon = 'gauge' })

Синхронизация погоды и времени

ЭкспортЧтоБиблиотека
PauseWorldSync(reason: string): voidПриостанавливает синхронизацию погоды и времени, пока действует хоть одна причина (интерьеры, сцены).world.pauseSync
ResumeWorldSync(reason: string): voidСнимает причину.world.resumeSync
IsWorldSyncPaused(): booleanПриостановлена ли синхронизация сейчас.

Предметы

ЭкспортЧтоБиблиотека
OpenInventory(): voidОткрывает собственный инвентарь игрока.inventory.openInventory
HasItem(item: string, count?: number): booleanЕсть ли у игрока предмет.inventory.hasItem
GetCurrentWeapon(): HeldWeapon | nullОружие в руках как предмет (name, label, image?).inventory.currentWeapon
OpenItemPicker(requestId: number, request: ItemPickerRequest): voidИнструменты админа: сетка предметов с поиском; результат приходит как MENU_EVENTS.menuResult.itemPicker

Радиальное меню

Пункты попадают в то радиальное меню, которое запущено; ai-core убирает их, когда добавивший ресурс останавливается.

ЭкспортЧтоБиблиотека
AddRadialItem(item: RadialItem): voidДобавляет или заменяет пункт (id, label, icon?, parent?, items?, canShow?, onPressed?, keepOpen?, whileDead?).radial.add
RemoveRadialItem(id: string): voidУбирает пункт.radial.remove
RefreshRadial(): voidЗаново читает все canShow открытого колеса.radial.refresh
Lua
exports['ai-core']:AddRadialItem({
  id = 'myscript_engine', label = 'Engine', icon = 'power-off', parent = 'vehicle',
  canShow = function() return IsPedInAnyVehicle(PlayerPedId(), false) end,
  onPressed = function() ExecuteCommand('engine') end,
})

Жесты

ЭкспортЧтоБиблиотека
GetGestureProvider(): string | nullСкрипт эмоций, который отвечает за поднятые руки и указание.gestures.provider
IsHandsUp(): booleanЛокальный игрок поднял руки.gestures.isHandsUp
IsPointing(): booleanЛокальный игрок указывает.gestures.isPointing

Внешность

ЭкспортЧтоБиблиотека
ApplyAppearance(ped: number, look: CharacterAppearance): booleanНадевает внешность из GetCharacterAppearance на педа той же модели через активный скрипт одежды.appearance.apply
GetPedAppearance(ped: number): CharacterAppearance | nullВнешность педа сейчас.appearance.read

Меню, диалоги ввода, уведомления, подсказки, полоса прогресса и мини-игры принадлежат ai-lib, а не ai-core: см. Экспорты скриптов.

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