AI Core
Référence de l’APIAI Core : exports serveur

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

Signature
SendDispatchAlert(alert: DispatchAlert): boolean
Lua
local 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.

Sur cette page