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
SendDispatchAlert(alert: DispatchAlert): booleanlocal 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.