Cinturón de seguridad
Indica si el jugador local lleva el cinturón puesto y qué script responde, sea cual sea el script de cinturón o el HUD del servidor.
Un cinturón puede venir de ai-smallresources, de qbx_seatbelt o de un HUD con su propio cinturón (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud). ai-core lee el que esté en marcha; cuando hay varios, el cinturón propio de un HUD tiene prioridad sobre ai-smallresources. Los scripts que necesitan el cinturón (salir despedido en un choque, una ayuda de "abróchate", un icono en el HUD) preguntan a ai-core y funcionan con cualquiera de ellos.
ai-core transmite los cambios de cinturón como el evento de cliente ai-core:client:seatbelt (seatbelt.onChange de la lib), desde los scripts que avisan de los cambios: ai-smallresources y qbx_seatbelt. Para los cinturones de HUD, lee el estado cuando lo necesites.
GetSeatbelt
Indica si el jugador local lleva el cinturón puesto ahora mismo. Léelo cuando lo necesites (un choque, una acción), no en cada frame.
Lado: Cliente · Espera: no
GetSeatbelt(): boolean | nulllocal worn = exports['ai-core']:GetSeatbelt() -- o aiLib.seatbelt.isOn()Parámetros
Ninguno.
Devuelve
boolean | null: true cuando el cinturón está puesto, false cuando no. null (nil en Lua) cuando no hay ningún script de cinturón compatible en marcha, o el que está en marcha no da una respuesta clara (por ejemplo fuera de un vehículo con cinturón).
Ejemplo
import { cache, seatbelt } from "@aicore-fivem/lib/client";
// Lo llama tu detección de choques: saca despedido al conductor solo si no lleva cinturón.
export function onHardCrash(): void {
if (cache.vehicle === false) return;
if (seatbelt.isOn() === true) return; // null = no hay script de cinturón: se trata como sin cinturón
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
Devuelve el nombre de recurso del script de cinturón que lee ai-core.
Lado: Cliente · Espera: no
GetSeatbeltProvider(): string | nulllocal provider = exports['ai-core']:GetSeatbeltProvider() -- o aiLib.seatbelt.provider()Parámetros
Ninguno.
Devuelve
string: el nombre del recurso ("ai-smallresources", "tgiann-lumihud"). null cuando no hay en marcha ninguno de los scripts compatibles.
Ejemplo
import { seatbelt } from "@aicore-fivem/lib/client";
// Un HUD que dibuja un icono de cinturón solo cuando algún script ofrece cinturón.
const hasBelt = seatbelt.provider() !== null;
SendNUIMessage({ action: "beltIcon", data: hasBelt });
if (hasBelt) seatbelt.onChange((worn) => SendNUIMessage({ action: "belt", data: worn }));