AI Core
Справочник APIКлиентские экспорты ai-core

HUD

Скрыть и показать все HUD, пока открыт ваш полноэкранный интерфейс, узнать, видны ли HUD, и открыть собственные настройки запущенного HUD.

Когда ваш скрипт открывает полноэкранный интерфейс (магазин, телефон, фоторежим), HUD должен уйти с дороги. Эти экспорты скрывают и показывают тот HUD, который работает на сервере: ai-hud или сторонний HUD, известный ai-core (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, tgiann-statushud, jg-hud, 0r-hud-v3, codem-supreme-hud, Codem-BlackHUDV2, wais-hudv6, qb-hud, ps-hud). Если известного HUD нет, ai-core скрывает и показывает мини-карту. qb-hud и ps-hud нельзя скрыть из другого скрипта: с ними следует только мини-карта.

Скрытие работает с причинами. Каждый ресурс скрывает HUD под выбранным им именем ("shop", "photo-mode"). HUD остаются скрытыми, пока хотя бы один ресурс задал причину, поэтому два одновременно открытых экрана никогда не мешают друг другу: HUD возвращается только после закрытия обоих. Причины принадлежат ресурсу, который их задал, и удаляются, когда он останавливается.

HideHud

Скрывает все HUD (и мини-карту, когда известный HUD не работает) под причиной вашего ресурса. Вызывайте, когда открывается ваш полноэкранный интерфейс.

Сторона: клиент · Ожидание: нет

Сигнатура
HideHud(reason: string): void
Lua
exports['ai-core']:HideHud(reason) -- или aiLib.hud.hide(reason)

Параметры

Prop

Type

Возвращает

Ничего. reason, который не является строкой, игнорируется.

Пример

resource/client/shop.ts
import { hud } from "@aicore-fivem/lib/client";

export function openShop(): void {
  hud.hide("shop"); // то же, что resourceExport("ai-core").HideHud("shop")
  SetNuiFocus(true, true);
  SendNUIMessage({ action: "open" });
}

RegisterNuiCallback("close", (_data: unknown, cb: (r: unknown) => void) => {
  SetNuiFocus(false, false);
  hud.show("shop");
  cb(true);
});

Каждому HideHud нужен свой ShowHud с той же причиной. ai-core убирает за ресурсом, который остановился, но не за тем, который продолжает работать и забывает вызвать ShowHud: тогда HUD так и остаётся скрытым у этого игрока.

ShowHud

Снимает одну причину скрытия вашего ресурса. HUD возвращаются, когда ни у одного ресурса не осталось причин.

Сторона: клиент · Ожидание: нет

Сигнатура
ShowHud(reason: string): void
Lua
exports['ai-core']:ShowHud(reason) -- или aiLib.hud.show(reason)

Параметры

Prop

Type

Возвращает

Ничего.

Пример

См. пример HideHud.

IsHudVisible

Сообщает, видны ли HUD прямо сейчас, то есть ни один ресурс не задал причину скрытия. Ресурс HUD использует это при старте; после этого он следит за клиентским событием ai-core:client:hudVisible.

Сторона: клиент · Ожидание: нет

Сигнатура
IsHudVisible(): boolean
Lua
local visible = exports['ai-core']:IsHudVisible() -- или aiLib.hud.visible()

Параметры

Нет.

Возвращает

boolean: true, когда не задано ни одной причины скрытия, false, пока задана хотя бы одна.

Пример

resource/client/hud.ts
import { hud } from "@aicore-fivem/lib/client";

// Свой HUD: стартовать в правильном состоянии, затем следить за каждым изменением.
function setVisible(visible: boolean): void {
  SendNUIMessage({ action: "visible", data: visible });
}

setVisible(hud.visible);
hud.onChange(setVisible);

OpenHudSettings

Открывает собственный экран настроек запущенного HUD (например, /hud у ai-hud или tgiann-lumihud). Его использует пункт HUD в радиальном меню; может любой скрипт.

Сторона: клиент · Ожидание: нет

Сигнатура
OpenHudSettings(): boolean
Lua
local opened = exports['ai-core']:OpenHudSettings() -- boolean

Параметры

Нет.

Возвращает

boolean: true, когда у запущенного HUD есть экран настроек и он получил запрос на открытие. false, когда известный HUD не работает или у запущенного нет экрана настроек.

Пример

resource/client/index.ts
import { notify, resourceExport } from "@aicore-fivem/lib/client";
import { Locale } from "common";

const core = resourceExport("ai-core");

RegisterCommand(
  "hudsettings",
  () => {
    if (!core.OpenHudSettings()) notify(Locale("NO_HUD_SETTINGS"), "error");
  },
  false,
);

HasHudSettings

Сообщает, есть ли у запущенного HUD экран настроек, чтобы можно было показать или скрыть кнопку «HUD settings».

Сторона: клиент · Ожидание: нет

Сигнатура
HasHudSettings(): boolean
Lua
local has = exports['ai-core']:HasHudSettings() -- boolean

Параметры

Нет.

Возвращает

boolean: true, когда работает известный HUD и у него есть экран настроек, иначе false.

Пример

resource/client/menu.ts
import { radial, resourceExport } from "@aicore-fivem/lib/client";

const core = resourceExport("ai-core");

// Пункт радиального меню, который виден, только когда у HUD есть настройки для открытия.
radial.add({
  id: "myscript_hud",
  label: "HUD",
  icon: "sliders",
  canShow: () => core.HasHudSettings(),
  onPressed: () => void core.OpenHudSettings(),
});

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