AI Core
Referencia de la APIExports de cliente de ai-core

HUD

Oculta y muestra cada HUD mientras tu interfaz a pantalla completa está abierta, lee si los HUD se muestran y abre los ajustes propios del HUD en marcha.

Cuando tu script abre una interfaz a pantalla completa (una tienda, un teléfono, un modo foto), el HUD debería apartarse. Estos exports ocultan y muestran el HUD que tenga el servidor: ai-hud, o un HUD de terceros que ai-core conoce (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). Sin un HUD conocido, ai-core oculta y muestra el minimapa en su lugar. Otro script no puede ocultar qb-hud ni ps-hud: con ellos solo el minimapa sigue el estado.

La ocultación funciona con motivos. Cada recurso oculta el HUD bajo un nombre de su elección ("shop", "photo-mode"). Los HUD siguen ocultos mientras algún recurso tenga al menos un motivo puesto, así que dos pantallas abiertas a la vez nunca se pelean: el HUD vuelve solo cuando se cierran las dos. Los motivos pertenecen al recurso que los puso y se quitan cuando se detiene.

HideHud

Oculta cada HUD (y el minimapa cuando no hay ningún HUD conocido en marcha) bajo un motivo de tu recurso. Llámalo cuando se abra tu interfaz a pantalla completa.

Lado: Cliente · Espera: no

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

Parámetros

Prop

Type

Devuelve

Nada. Un reason que no es una cadena se ignora.

Ejemplo

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

export function openShop(): void {
  hud.hide("shop"); // igual que 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);
});

Cada HideHud necesita su ShowHud con el mismo motivo. ai-core limpia lo que deja un recurso que se detiene, pero no lo de uno que sigue en marcha y se olvida de llamar a ShowHud: entonces el HUD se queda oculto para ese jugador.

ShowHud

Quita un motivo de ocultación de tu recurso. Los HUD vuelven cuando ningún recurso tiene un motivo pendiente.

Lado: Cliente · Espera: no

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

Parámetros

Prop

Type

Devuelve

Nada.

Ejemplo

Consulta el ejemplo de HideHud.

IsHudVisible

Indica si los HUD se muestran ahora mismo, es decir, si ningún recurso tiene puesto un motivo de ocultación. Un recurso de HUD lo usa al iniciar; después sigue el evento de cliente ai-core:client:hudVisible.

Lado: Cliente · Espera: no

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

Parámetros

Ninguno.

Devuelve

boolean: true cuando no hay ningún motivo de ocultación, false mientras haya al menos uno.

Ejemplo

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

// Un HUD propio: empieza en el estado correcto y después sigue cada cambio.
function setVisible(visible: boolean): void {
  SendNUIMessage({ action: "visible", data: visible });
}

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

OpenHudSettings

Abre la pantalla de ajustes propia del HUD en marcha (el /hud de ai-hud o de tgiann-lumihud, por ejemplo). La entrada HUD del menú radial lo usa; cualquier script puede hacerlo.

Lado: Cliente · Espera: no

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

Parámetros

Ninguno.

Devuelve

boolean: true cuando el HUD en marcha tiene pantalla de ajustes y se le pidió que la abra. false cuando no hay ningún HUD conocido en marcha o el que está en marcha no tiene pantalla de ajustes.

Ejemplo

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

Indica si el HUD en marcha tiene pantalla de ajustes, para que puedas mostrar u ocultar un botón de "ajustes del HUD".

Lado: Cliente · Espera: no

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

Parámetros

Ninguno.

Devuelve

boolean: true cuando hay en marcha un HUD conocido con pantalla de ajustes, false en otro caso.

Ejemplo

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

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

// Un elemento radial que solo se muestra cuando el HUD tiene ajustes que abrir.
radial.add({
  id: "myscript_hud",
  label: "HUD",
  icon: "sliders",
  canShow: () => core.HasHudSettings(),
  onPressed: () => void core.OpenHudSettings(),
});

En esta página