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

Ремень безопасности

Узнать, пристёгнут ли локальный игрок и какой скрипт отвечает, какой бы скрипт ремня или HUD ни использовал сервер.

Ремень может давать ai-smallresources, qbx_seatbelt или HUD со своим ремнём (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud). ai-core читает тот, который работает; если работают несколько, собственный ремень HUD важнее ai-smallresources. Скрипты, которым нужен ремень (вылет при аварии, подсказка «пристегнитесь», иконка в HUD), спрашивают ai-core и работают с любым из них.

ai-core передаёт изменения ремня как клиентское событие ai-core:client:seatbelt (в библиотеке seatbelt.onChange) от скриптов, которые сообщают об изменениях: ai-smallresources и qbx_seatbelt. Для ремней HUD читайте состояние, когда оно нужно.

GetSeatbelt

Сообщает, пристёгнут ли локальный игрок прямо сейчас. Читайте, когда нужно (авария, действие), а не каждый кадр.

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

Сигнатура
GetSeatbelt(): boolean | null
Lua
local worn = exports['ai-core']:GetSeatbelt() -- или aiLib.seatbelt.isOn()

Параметры

Нет.

Возвращает

boolean | null: true, когда ремень пристёгнут, false, когда нет. null (nil в Lua), когда не работает ни один поддерживаемый скрипт ремня или запущенный не даёт ясного ответа (например, вне транспорта с ремнём).

Пример

resource/client/crash.ts
import { cache, seatbelt } from "@aicore-fivem/lib/client";

// Вызывается вашим определением аварий: выбрасывать водителя, только если он не пристёгнут.
export function onHardCrash(): void {
  if (cache.vehicle === false) return;
  if (seatbelt.isOn() === true) return; // null = нет скрипта ремня: считать, что ремня нет
  const [x, y, z] = GetEntityCoords(cache.ped, true);
  SetEntityCoords(cache.ped, x, y, z + 1.0, false, false, false, false);
  SetPedToRagdoll(cache.ped, 3000, 3000, 0, false, false, false);
}

GetSeatbeltProvider

Возвращает имя ресурса скрипта ремня, который читает ai-core.

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

Сигнатура
GetSeatbeltProvider(): string | null
Lua
local provider = exports['ai-core']:GetSeatbeltProvider() -- или aiLib.seatbelt.provider()

Параметры

Нет.

Возвращает

string: имя ресурса ("ai-smallresources", "tgiann-lumihud"). null, когда не работает ни один из поддерживаемых скриптов.

Пример

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

// HUD, который рисует иконку ремня, только когда какой-то скрипт даёт ремень.
const hasBelt = seatbelt.provider() !== null;
SendNUIMessage({ action: "beltIcon", data: hasBelt });
if (hasBelt) seatbelt.onChange((worn) => SendNUIMessage({ action: "belt", data: worn }));

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