AI Core
Справочник APIКлиентские экспорты ai-core

Медицина

Узнать, лежит ли локальный игрок (мёртв или в состоянии last stand), какой бы скрипт смерти ни использовал сервер.

Скрипты смерти оставляют педа лежащего игрока живым, чтобы анимировать его (лежит на земле, ползёт, last stand). Поэтому собственный IsEntityDead в GTA часто говорит «жив» про игрока, который лежит. Медицинский слой ai-core спрашивает скрипт смерти, который работает на сервере (ai-death, qbx_medical, ars_ambulancejob, qb-ambulancejob, esx_ambulancejob, tgiann-ambulance, wasabi_ambulance, osp_ambulance, brutal_ambulancejob), и даёт всем ресурсам один и тот же ответ.

IsDead

Сообщает, лежит ли локальный игрок прямо сейчас, мёртв или в last stand, в том скрипте смерти, который работает. Используйте перед действием, которое лежащему игроку делать нельзя (открыть меню, использовать предмет, сесть в транспорт).

Сторона: клиент · Ожидание: нет

Сигнатура
IsDead(): boolean
Lua
local down = exports['ai-core']:IsDead() -- boolean

Параметры

Нет.

Возвращает

boolean: true, пока игрок лежит в активном скрипте смерти. false, когда он на ногах или когда не работает ни один поддерживаемый скрипт смерти.

medical.isDead() из библиотеки (TypeScript) отвечает true и тогда, когда сама GTA считает педа мёртвым, что покрывает серверы без скрипта смерти. Он читает экспорт один раз, а затем следит за клиентским событием ai-core:client:dead, поэтому частые вызовы ничего не стоят. В Lua вспомогательной функции нет: вызывайте экспорт или следите за событием.

Пример

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,
);

// Закрыть телефон в тот момент, когда игрок падает.
medical.onChange((dead) => {
  if (!dead) return;
  SetNuiFocus(false, false);
  SendNUIMessage({ action: "close" });
});

Это собственное состояние локального игрока, для того, что он видит. Серверные решения (реанимация, обыск тела, отказ в действии) проверяют серверные медицинские экспорты, а не ответ клиента.

На этой странице