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

Médico

Indica si el jugador local está caído (muerto o en last stand), sea cual sea el script de muerte del servidor.

Los scripts de muerte mantienen vivo el ped de un jugador caído para poder animarlo (tumbado en el suelo, arrastrándose, last stand). Eso significa que el propio IsEntityDead de GTA a menudo dice "vivo" para un jugador que está caído. La capa médica de ai-core pregunta al script de muerte que tenga el servidor (ai-death, qbx_medical, ars_ambulancejob, qb-ambulancejob, esx_ambulancejob, tgiann-ambulance, wasabi_ambulance, osp_ambulance, brutal_ambulancejob) y da a cada recurso la misma respuesta.

IsDead

Indica si el jugador local está caído ahora mismo, muerto o en last stand, en el script de muerte que esté en marcha. Úsalo antes de una acción que un jugador caído no debe hacer (abrir un menú, usar un objeto, subir a un vehículo).

Lado: Cliente · Espera: no

Firma
IsDead(): boolean
Lua
local down = exports['ai-core']:IsDead() -- boolean

Parámetros

Ninguno.

Devuelve

boolean: true mientras el jugador está caído en el script de muerte activo. false cuando está de pie, o cuando no hay ningún script de muerte compatible en marcha.

El medical.isDead() de la lib (TypeScript) responde true también cuando el propio GTA dice que el ped está muerto, lo que cubre los servidores sin script de muerte. Lee el export una vez y después sigue el evento de cliente ai-core:client:dead, así que llamarlo a menudo no cuesta nada. En Lua no hay utilidad: llama al export, o sigue el evento.

Ejemplo

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

RegisterCommand(
  "phone",
  () => {
    if (medical.isDead()) return notify(Locale("CANT_WHILE_DOWN"), "error");
    SetNuiFocus(true, true);
    SendNUIMessage({ action: "open" });
  },
  false,
);

// Cierra el teléfono en cuanto el jugador cae.
medical.onChange((dead) => {
  if (!dead) return;
  SetNuiFocus(false, false);
  SendNUIMessage({ action: "close" });
});

Esto es el estado propio del jugador local, para lo que él ve. Las decisiones del servidor (reanimar, saquear un cuerpo, rechazar una acción) comprueban los exports médicos del servidor, nunca la respuesta de un cliente.

En esta página