AI Core
Referência da APIExports de cliente do ai-core

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

Assinatura
GetSeatbelt(): boolean | null
Lua
local 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

resource/client/crash.ts
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

Assinatura
GetSeatbeltProvider(): string | null
Lua
local 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

resource/client/hud.ts
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 }));

Nesta página