Ремень безопасности
Узнать, пристёгнут ли локальный игрок и какой скрипт отвечает, какой бы скрипт ремня или 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 | nulllocal worn = exports['ai-core']:GetSeatbelt() -- или aiLib.seatbelt.isOn()Параметры
Нет.
Возвращает
boolean | null: true, когда ремень пристёгнут, false, когда нет. null (nil в Lua), когда не работает ни один поддерживаемый скрипт ремня или запущенный не даёт ясного ответа (например, вне транспорта с ремнём).
Пример
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 | nulllocal provider = exports['ai-core']:GetSeatbeltProvider() -- или aiLib.seatbelt.provider()Параметры
Нет.
Возвращает
string: имя ресурса ("ai-smallresources", "tgiann-lumihud"). null, когда не работает ни один из поддерживаемых скриптов.
Пример
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 }));