EMS
Cuántos médicos están libres para atender una llamada, y las llamadas de auxilio de jugadores caídos, a través del script de EMS en marcha o del propio ai-core.
La capa de EMS responde a dos preguntas para cualquier script: "¿cuántos médicos pueden atender una llamada?" y "envía a los médicos una llamada de auxilio". ai-core pregunta a la fuente de EMS que elige el ajuste EMS source (fuente de EMS) del panel, o al primer script de EMS que esté en marcha. Lo que ese script no puede responder, lo responde ai-core: los médicos libres a partir de sus propios recuentos de servicio, y una llamada de auxilio como alerta de alta prioridad a los trabajos a través de la capa de dispatch.
GetEmsSystem
La fuente de EMS en uso.
Lado: Servidor · Espera: no · Lib: ems.provider()
GetEmsSystem(): string | nulllocal system = exports['ai-core']:GetEmsSystem() -- 'ai-core' o el nombre de un scriptParámetros
Ninguno.
Devuelve
string | null: el nombre de recurso del script de EMS, o "ai-core" cuando responde la parte propia de ai-core (no hay ningún script de EMS en marcha). La parte propia de ai-core siempre está ahí, así que en la práctica nunca es null.
Ejemplo
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("emssystem", { help: "Shows the EMS source", restricted: true }, () => {
console.log(core.GetEmsSystem());
});GetAvailableMedics
Cuántos médicos de los trabajos indicados pueden atender una llamada ahora. Un script de EMS con dispatch propio deja fuera a los médicos ocupados; la respuesta propia de ai-core es todo el que está de servicio.
Lado: Servidor · Espera: no · Lib: ems.available
GetAvailableMedics(jobs: string[]): numberlocal medics = exports['ai-core']:GetAvailableMedics({ 'ambulance' })Parámetros
Prop
Type
Devuelve
number: médicos libres. 0 si no hay ninguno, para una lista vacía o un valor que no es una lista. Cuando el script de EMS falla, responde el recuento de servicio propio de ai-core.
Ejemplo
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
const core = resourceExport("ai-core");
const EMS_JOBS = ["ambulance"];
// El botón "reaparecer en el hospital" solo funciona mientras no pueda venir ningún médico.
onClientCallback("myscript:respawn", (source) => {
if (!core.IsPlayerDead(source)) return fail("NOT_DOWN");
if (core.GetAvailableMedics(EMS_JOBS) > 0) return fail("MEDICS_AVAILABLE");
// ... lleva al jugador al hospital y reanímalo
return { ok: true };
});SendDistress
Envía a los médicos la llamada de auxilio de un jugador caído. Con un script de EMS que acepta llamadas, la llamada va allí; si no, ai-core envía una alerta de alta prioridad (código 10-52, un icono de botiquín, la posición del jugador) a los miembros de servicio de jobs a través del sistema de alertas activo.
Lado: Servidor · Espera: no · Lib: ems.distress
SendDistress(source: number, call: DistressCall): booleanlocal sent = exports['ai-core']:SendDistress(source, { jobs = { 'ambulance' }, message = 'Unconscious' })Parámetros
Prop
Type
DistressCall
Prop
Type
Consulta DistressCall.
Devuelve
boolean: true cuando algo recibió la llamada. false cuando el jugador no está conectado, jobs está vacío, el script de EMS la rechazó o la alerta propia de ai-core no encontró ningún sistema de alertas en marcha.
Ejemplo
import { onClientCallback, Cooldowns, resourceExport } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
import { Locale } from "common";
const core = resourceExport("ai-core");
const cooldowns = new Cooldowns();
// El botón "llamar a un médico" de la pantalla de muerte, una vez por minuto.
onClientCallback("myscript:distress", (source) => {
if (!core.IsPlayerDead(source)) return fail("NOT_DOWN");
if (!cooldowns.take(source, 60_000)) return fail("WAIT");
const sent = core.SendDistress(source, { jobs: ["ambulance"], message: Locale("DISTRESS_UNCONSCIOUS") });
return sent ? { ok: true } : fail("NO_MEDICS");
});