Справочник API
Клиентские экспорты ai-core
Каждый клиентский экспорт ai-core - данные игрока, HUD, подсказки клавиш, синхронизация мира, предметы, радиальное меню, жесты, внешность и диалоги.
Типизированы как AiCoreClientExports в @aicore-fivem/shared (exports.ts).
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 | Определения работ или банд в том виде, в каком их хранит файл панели. |
local data = exports['ai-core']:GetPlayerData()
if data and data.duty == 'police' then
-- on duty
endHUD
| Экспорт | Что | Библиотека |
|---|---|---|
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 настройки. |
core.HideHud("photo-mode");
// ...
core.ShowHud("photo-mode");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 | Открывает экран клавиш: все клавиши с действиями. |
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 |
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: см. Экспорты скриптов.