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

HUD

Masquer et afficher chaque HUD pendant que votre interface plein écran est ouverte, savoir si les HUD s’affichent, et ouvrir les réglages propres au HUD en cours.

Quand votre script ouvre une interface plein écran (un magasin, un téléphone, un mode photo), le HUD doit s’effacer. Ces exports masquent et affichent le HUD qu’utilise le serveur : ai-hud, ou un HUD tiers qu’ai-core connaît (tgiann-lumihud, tgiann-hudv2, tgiann-modern-hud, tgiann-statushud, jg-hud, 0r-hud-v3, codem-supreme-hud, Codem-BlackHUDV2, wais-hudv6, qb-hud, ps-hud). Sans HUD connu, ai-core masque et affiche la minicarte à la place. qb-hud et ps-hud ne peuvent pas être masqués par un autre script : avec eux, seule la minicarte suit.

Le masquage fonctionne avec des raisons. Chaque ressource masque le HUD sous un nom de son choix ("shop", "photo-mode"). Les HUD restent masqués tant qu’au moins une raison est posée par une ressource, si bien que deux écrans ouverts en même temps ne se battent jamais : le HUD ne revient qu’après la fermeture des deux. Les raisons appartiennent à la ressource qui les a posées et sont retirées quand elle s’arrête.

HideHud

Masque chaque HUD (et la minicarte quand aucun HUD connu ne tourne) sous une raison de votre ressource. Appelez-le quand votre interface plein écran s’ouvre.

Côté : Client · Attend : non

Signature
HideHud(reason: string): void
Lua
exports['ai-core']:HideHud(reason) -- ou aiLib.hud.hide(reason)

Paramètres

Prop

Type

Retour

Rien. Une reason qui n’est pas une chaîne est ignorée.

Exemple

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

export function openShop(): void {
  hud.hide("shop"); // identique à resourceExport("ai-core").HideHud("shop")
  SetNuiFocus(true, true);
  SendNUIMessage({ action: "open" });
}

RegisterNuiCallback("close", (_data: unknown, cb: (r: unknown) => void) => {
  SetNuiFocus(false, false);
  hud.show("shop");
  cb(true);
});

Chaque HideHud a besoin de son ShowHud avec la même raison. ai-core nettoie derrière une ressource qui s’arrête, mais pas derrière une ressource qui continue de tourner et oublie d’appeler ShowHud : le HUD reste alors masqué pour ce joueur.

ShowHud

Efface une raison de masquage de votre ressource. Les HUD reviennent quand plus aucune ressource n’a de raison.

Côté : Client · Attend : non

Signature
ShowHud(reason: string): void
Lua
exports['ai-core']:ShowHud(reason) -- ou aiLib.hud.show(reason)

Paramètres

Prop

Type

Retour

Rien.

Exemple

Voir l’exemple de HideHud.

IsHudVisible

Indique si les HUD s’affichent en ce moment, c’est-à-dire qu’aucune ressource n’a posé de raison de masquage. Une ressource de HUD l’utilise au démarrage ; ensuite elle suit l’événement client ai-core:client:hudVisible.

Côté : Client · Attend : non

Signature
IsHudVisible(): boolean
Lua
local visible = exports['ai-core']:IsHudVisible() -- ou aiLib.hud.visible()

Paramètres

Aucun.

Retour

boolean : true quand aucune raison de masquage n’est posée, false tant qu’au moins une l’est.

Exemple

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

// Un HUD personnalisé : démarrer dans le bon état, puis suivre chaque changement.
function setVisible(visible: boolean): void {
  SendNUIMessage({ action: "visible", data: visible });
}

setVisible(hud.visible);
hud.onChange(setVisible);

OpenHudSettings

Ouvre l’écran de réglages propre au HUD en cours (le /hud d’ai-hud ou de tgiann-lumihud, par exemple). L’entrée HUD du menu radial l’utilise ; n’importe quel script le peut.

Côté : Client · Attend : non

Signature
OpenHudSettings(): boolean
Lua
local opened = exports['ai-core']:OpenHudSettings() -- boolean

Paramètres

Aucun.

Retour

boolean : true quand le HUD en cours a un écran de réglages et qu’on lui a demandé de l’ouvrir. false quand aucun HUD connu ne tourne ou que celui en cours n’a pas d’écran de réglages.

Exemple

resource/client/index.ts
import { notify, resourceExport } from "@aicore-fivem/lib/client";
import { Locale } from "common";

const core = resourceExport("ai-core");

RegisterCommand(
  "hudsettings",
  () => {
    if (!core.OpenHudSettings()) notify(Locale("NO_HUD_SETTINGS"), "error");
  },
  false,
);

HasHudSettings

Indique si le HUD en cours a un écran de réglages, pour que vous puissiez afficher ou masquer un bouton « réglages du HUD ».

Côté : Client · Attend : non

Signature
HasHudSettings(): boolean
Lua
local has = exports['ai-core']:HasHudSettings() -- boolean

Paramètres

Aucun.

Retour

boolean : true quand un HUD connu tourne et qu’il a un écran de réglages, false sinon.

Exemple

resource/client/menu.ts
import { radial, resourceExport } from "@aicore-fivem/lib/client";

const core = resourceExport("ai-core");

// Une entrée radiale qui n’apparaît que quand le HUD a des réglages à ouvrir.
radial.add({
  id: "myscript_hud",
  label: "HUD",
  icon: "sliders",
  canShow: () => core.HasHudSettings(),
  onPressed: () => void core.OpenHudSettings(),
});

Sur cette page