AI Core
Dokumentacja APIEksporty klienckie ai-core

Leczenie

Sprawdź, czy lokalny gracz jest powalony (martwy lub w last stand), niezależnie od skryptu śmierci na serwerze.

Skrypty śmierci utrzymują peda powalonego gracza przy życiu, aby móc go animować (leżenie na ziemi, czołganie się, last stand). To znaczy, że własne IsEntityDead z GTA często mówi "żywy" o graczu, który jest powalony. Warstwa leczenia ai-core pyta skrypt śmierci, którego używa serwer (ai-death, qbx_medical, ars_ambulancejob, qb-ambulancejob, esx_ambulancejob, tgiann-ambulance, wasabi_ambulance, osp_ambulance, brutal_ambulancejob), i daje każdemu zasobowi tę samą odpowiedź.

IsDead

Mówi, czy lokalny gracz jest teraz powalony, martwy lub w last stand, według działającego skryptu śmierci. Używaj tego przed akcją, której powalony gracz nie może wykonać (otwarcie menu, użycie przedmiotu, wejście do pojazdu).

Strona: Klient · Czeka: nie

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

Parametry

Brak.

Zwraca

boolean: true, dopóki gracz jest powalony w aktywnym skrypcie śmierci. false, gdy stoi na nogach albo gdy nie działa żaden obsługiwany skrypt śmierci.

medical.isDead() z liba (TypeScript) odpowiada true także wtedy, gdy samo GTA mówi, że ped jest martwy, co obejmuje serwery bez skryptu śmierci. Czyta eksport raz, a potem śledzi klienckie zdarzenie ai-core:client:dead, więc częste wywoływanie nic nie kosztuje. W Lua nie ma funkcji pomocniczej: wywołaj eksport albo śledź zdarzenie.

Przykład

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

// Zamknij telefon w chwili, gdy gracz zostaje powalony.
medical.onChange((dead) => {
  if (!dead) return;
  SetNuiFocus(false, false);
  SendNUIMessage({ action: "close" });
});

To własny stan lokalnego gracza, do tego, co widzi. Decyzje serwera (reanimacja, przeszukanie ciała, odmowa akcji) sprawdzają serwerowe eksporty leczenia, nigdy odpowiedź klienta.

Na tej stronie