AI Core
API-ReferenzAI Core: Server-Exports

Dispatch

Polizeialarme (oder Alarme für jeden Job) über das Alarmsystem senden, das der Server nutzt.

Polizeialarme laufen über ai-core, nie über die eigenen Exports oder Events eines Alarm-Skripts (ai-policealert eingeschlossen). ai-core leitet jeden Alarm an das aktive Alarmsystem weiter: das, das die Panel-Einstellung Alert script (Alarm-Skript) wählt, oder das erste, das läuft (die eingebauten Karten von ai-policealert kommen zuletzt). Das Alarmsystem zeigt ihn den Mitgliedern der Jobs des Alarms, die im Dienst sind.

ai-core beantwortet außerdem das QB-Event police:server:policeAlert für Alarmsysteme, die es nicht tun, sodass auch die Alarme von QB-Skripten ankommen.

SendDispatchAlert

Sendet einen Alarm. Nutze es für alles, worauf Beamte (oder ein anderer Job) reagieren sollen: Schüsse, ein Ladenüberfall, ein gestohlenes Auto.

Seite: Server · Wartet: nein · Lib: dispatch.alert

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

Parameter

Prop

Type

DispatchAlert

Prop

Type

Unbekannte Felder werden verworfen. Siehe DispatchAlert.

Rückgabe

boolean: true, wenn das Alarmsystem den Alarm angenommen hat. false, wenn title fehlt oder leer ist, kein Alarmsystem läuft oder es fehlgeschlagen ist.

Beispiel

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 };
});

Texte werden so angezeigt, wie sie übergeben werden: Übersetze sie vor dem Senden mit Locale. Sende keinen Alarm in jedem Frame oder bei jedem Treffer: Ein Alarm für Schüsse sollte einen Cooldown pro Spieler haben.

Auf dieser Seite