Dispatch
Envoyer des alertes police (ou de n’importe quel métier) via le système d’alertes qu’utilise le serveur.
Les alertes police passent par ai-core, jamais par les exports ou événements propres à un script d’alertes (ai-policealert compris). ai-core transmet chaque alerte au système d’alertes actif : celui que choisit le réglage Alert script du panneau, ou le premier qui tourne (les cartes intégrées d’ai-policealert passent en dernier). Le système d’alertes la montre aux membres en service des métiers de l’alerte.
ai-core répond aussi à l’événement police:server:policeAlert de QB pour les systèmes d’alertes qui ne le font pas, si bien que les alertes des scripts QB arrivent aussi.
SendDispatchAlert
Envoie une alerte. Utilisez-la pour tout ce à quoi les agents (ou un autre métier) doivent répondre : coups de feu, braquage de magasin, voiture volée.
Côté : Serveur · Attend : non · Lib : dispatch.alert
SendDispatchAlert(alert: DispatchAlert): booleanlocal sent = exports['ai-core']:SendDispatchAlert({ title = 'Store robbery', code = '10-90', source = source })Paramètres
Prop
Type
DispatchAlert
Prop
Type
Les champs inconnus sont écartés. Voir DispatchAlert.
Retour
boolean : true quand le système d’alertes a pris l’alerte. false quand title manque ou est vide, qu’aucun système d’alertes ne tourne, ou qu’il a échoué.
Exemple
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 };
});Les textes sont affichés tels quels : traduisez-les avec Locale avant l’envoi. N’envoyez pas d’alerte à chaque frame ni à chaque impact : une alerte de coups de feu doit avoir un délai par joueur.