Cinto de segurança
Saiba se o jogador local usa cinto de segurança e qual script responde, seja qual for o script de cinto ou HUD do servidor.
Um cinto de segurança pode vir do ai-smallresources, do qbx_seatbelt ou de um HUD com cinto próprio (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud). O ai-core lê o que estiver rodando; quando vários rodam, o cinto próprio de um HUD tem prioridade sobre o ai-smallresources. Scripts que precisam do cinto (uma ejeção numa batida, um aviso de "aperte o cinto", um ícone no HUD) perguntam ao ai-core e funcionam com qualquer um deles.
O ai-core repassa as mudanças do cinto como o evento de cliente ai-core:client:seatbelt (seatbelt.onChange da lib), a partir dos scripts que avisam mudanças: ai-smallresources e qbx_seatbelt. Para os cintos dos HUDs, leia o estado quando precisar.
GetSeatbelt
Diz se o jogador local usa cinto de segurança agora. Leia quando precisar (uma batida, uma ação), não a cada frame.
Lado: Cliente · Espera: não
GetSeatbelt(): boolean | nulllocal worn = exports['ai-core']:GetSeatbelt() -- ou aiLib.seatbelt.isOn()Parâmetros
Nenhum.
Retorno
boolean | null: true quando o cinto está posto, false quando não está. null (nil em Lua) quando nenhum script de cinto suportado está rodando, ou o que está rodando não dá uma resposta clara (por exemplo fora de um veículo com cinto).
Exemplo
import { cache, seatbelt } from "@aicore-fivem/lib/client";
// Chamado pela sua detecção de batida: joga o motorista para fora só sem cinto.
export function onHardCrash(): void {
if (cache.vehicle === false) return;
if (seatbelt.isOn() === true) return; // null = nenhum script de cinto: trate como sem cinto
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
Retorna o nome do recurso do script de cinto que o ai-core lê.
Lado: Cliente · Espera: não
GetSeatbeltProvider(): string | nulllocal provider = exports['ai-core']:GetSeatbeltProvider() -- ou aiLib.seatbelt.provider()Parâmetros
Nenhum.
Retorno
string: o nome do recurso ("ai-smallresources", "tgiann-lumihud"). null quando nenhum dos scripts suportados está rodando.
Exemplo
import { seatbelt } from "@aicore-fivem/lib/client";
// Um HUD que só desenha um ícone de cinto quando algum script fornece um cinto.
const hasBelt = seatbelt.provider() !== null;
SendNUIMessage({ action: "beltIcon", data: hasBelt });
if (hasBelt) seatbelt.onChange((worn) => SendNUIMessage({ action: "belt", data: worn }));