AI Core
Referencia de la APIAI Core: exports de servidor

Dispatch

Envía alertas de policía (o de cualquier trabajo) a través del sistema de alertas que tenga el servidor.

Las alertas de policía pasan por ai-core, nunca por los exports o eventos propios de un script de alertas (ai-policealert incluido). ai-core reenvía cada alerta al sistema de alertas activo: el que elige el ajuste Alert script (script de alertas) del panel, o el primero que esté en marcha (las tarjetas integradas de ai-policealert van al final). El sistema de alertas la muestra a los miembros de servicio de los trabajos de la alerta.

ai-core también responde al evento police:server:policeAlert de QB por los sistemas de alertas que no lo hacen, así que las alertas de los scripts de QB también llegan.

SendDispatchAlert

Envía una alerta. Úsalo para cualquier cosa a la que los agentes (u otro trabajo) deban responder: disparos, un atraco a una tienda, un coche robado.

Lado: Servidor · Espera: no · Lib: dispatch.alert

Firma
SendDispatchAlert(alert: DispatchAlert): boolean
Lua
local sent = exports['ai-core']:SendDispatchAlert({ title = 'Store robbery', code = '10-90', source = source })

Parámetros

Prop

Type

DispatchAlert

Prop

Type

Los campos desconocidos se descartan. Consulta DispatchAlert.

Devuelve

boolean: true cuando el sistema de alertas recibió la alerta. false cuando falta title o está vacío, no hay ningún sistema de alertas en marcha o falló.

Ejemplo

import { onClientCallback, resourceExport, near } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
import { Locale } from "common";

const core = resourceExport("ai-core");
const REGISTER = { x: 24.5, y: -1345.6, z: 29.5 };

onClientCallback("myscript:robRegister", { guards: [near(REGISTER, 2)], lock: true }, (source) => {
  if (core.GetOnDutyCount("police") < 2) return fail("NOT_ENOUGH_POLICE");
  core.SendDispatchAlert({
    code: "10-90",
    title: Locale("ALERT_STORE_ROBBERY"),
    message: Locale("ALERT_STORE_NAME"),
    coords: REGISTER,
    source,
    jobs: ["police"],
    icon: "cash-register",
    priority: "high",
  });
  return { ok: true };
});

Los textos se muestran tal cual: tradúcelos con Locale antes de enviarlos. No envíes una alerta en cada frame ni en cada impacto: una alerta de disparos debería tener un tiempo de espera por jugador.

En esta página