AI Core
Référence de l’APIExports client d’ai-core

Ceinture de sécurité

Savoir si le joueur local porte une ceinture de sécurité et quel script répond, quel que soit le script de ceinture ou le HUD du serveur.

Une ceinture de sécurité peut venir d’ai-smallresources, de qbx_seatbelt, ou d’un HUD qui a sa propre ceinture (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud). ai-core lit celui qui tourne ; quand plusieurs tournent, la ceinture propre d’un HUD l’emporte sur ai-smallresources. Les scripts qui ont besoin de la ceinture (une éjection lors d’un accident, une aide « attachez votre ceinture », une icône de HUD) interrogent ai-core et fonctionnent avec n’importe lequel d’entre eux.

ai-core transmet les changements de ceinture par l’événement client ai-core:client:seatbelt (seatbelt.onChange de la lib), depuis les scripts qui signalent les changements : ai-smallresources et qbx_seatbelt. Pour les ceintures des HUD, lisez l’état quand vous en avez besoin.

GetSeatbelt

Indique si le joueur local porte une ceinture de sécurité en ce moment. Lisez-le quand vous en avez besoin (un accident, une action), pas à chaque frame.

Côté : Client · Attend : non

Signature
GetSeatbelt(): boolean | null
Lua
local worn = exports['ai-core']:GetSeatbelt() -- ou aiLib.seatbelt.isOn()

Paramètres

Aucun.

Retour

boolean | null : true quand la ceinture est attachée, false quand elle est détachée. null (nil en Lua) quand aucun script de ceinture pris en charge ne tourne, ou que celui en cours ne donne pas de réponse claire (par exemple hors d’un véhicule avec ceinture).

Exemple

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

// Appelé par votre détection d’accident : éjecter le conducteur seulement sans ceinture.
export function onHardCrash(): void {
  if (cache.vehicle === false) return;
  if (seatbelt.isOn() === true) return; // null = aucun script de ceinture : traiter comme sans ceinture
  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

Renvoie le nom de ressource du script de ceinture que lit ai-core.

Côté : Client · Attend : non

Signature
GetSeatbeltProvider(): string | null
Lua
local provider = exports['ai-core']:GetSeatbeltProvider() -- ou aiLib.seatbelt.provider()

Paramètres

Aucun.

Retour

string : le nom de ressource ("ai-smallresources", "tgiann-lumihud"). null quand aucun des scripts pris en charge ne tourne.

Exemple

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

// Un HUD qui dessine une icône de ceinture seulement quand un script fournit une ceinture.
const hasBelt = seatbelt.provider() !== null;
SendNUIMessage({ action: "beltIcon", data: hasBelt });
if (hasBelt) seatbelt.onChange((worn) => SendNUIMessage({ action: "belt", data: worn }));

Sur cette page