ai-policealert для разработчиков
Как отправить вызов полиции, который дойдёт до ai-policealert (или любого другого скрипта оповещений), поля DispatchAlert и собственный экспорт ai-policealert.
Чтобы отправить вызов полиции из своего скрипта, вызывайте dispatch.alert(alert) из lib (TypeScript) или aiLib.dispatch.alert(alert) (Lua). Он идёт через слой диспетчера AI Core и попадает в ту систему оповещений, которую использует сервер: ai-policealert или поддерживаемый сторонний скрипт оповещений. Никогда не вызывайте экспорт ai-policealert напрямую.
dispatch.alert
Отправляет один вызов полиции (или другой работе) через AI Core. Его получают участники jobs на дежурстве; без jobs его получают собственные полицейские работы системы оповещений (для ai-policealert: Alert jobs из панели).
Сторона: сервер · Ожидание: нет
dispatch.alert(alert: DispatchAlert): booleanlocal sent = aiLib.dispatch.alert(alert) -- booleanПараметры
Prop
Type
DispatchAlert
Prop
Type
Возвращает
true, если система оповещений приняла вызов. false, если ни одна система оповещений не запущена или вызов некорректен (нет title).
Пример
import { dispatch, onClientCallback } from "@aicore-fivem/lib/server";
import { Locale } from "./locale"; // переведённые тексты вашего ресурса
// Клиент сообщает, что начал взламывать банкомат; сервер вызывает полицию в позицию игрока.
onClientCallback("myscript:breakAtm", (source) => {
const sent = dispatch.alert({
code: "10-90",
title: Locale("ALERT_ATM_TITLE"),
message: Locale("ALERT_ATM_MESSAGE"),
source, // coords берутся от этого игрока
icon: "money-bill",
priority: "high",
});
if (!sent) console.log("no alert system is running");
return { ok: true };
});Тексты показываются так, как вы их отправили: переводите их до вызова. Поля, не перечисленные выше, отбрасываются. Не отправляйте вызов на каждое повторяющееся действие: например, ai-police оставляет один вызов о стрельбе на 150 м каждые 30 с.
Серверный экспорт
DispatchAlert
Собственная точка входа ai-policealert. Её вызывает только слой диспетчера AI Core, пока ai-policealert является активной системой оповещений; скрипты используют dispatch.alert выше. Типизирован как AiPoliceAlertServerExports в @aicore-fivem/shared.
Сторона: сервер · Ожидание: нет
DispatchAlert(alert: DispatchAlert): voidexports['ai-policealert']:DispatchAlert(alert)Параметры
Prop
Type
Возвращает
Ничего. Прямой вызов пропускает выбор системы оповещений AI Core, а coords не заполняется из source (AI Core делает это перед вызовом экспорта).
Приватные события
Собственный контракт скрипта между сервером и клиентом (resource/common/alerts.ts). Они могут меняться между версиями: не вызывайте и не слушайте их из других ресурсов.
| Имя | Направление | Что передаёт |
|---|---|---|
ai-policealert:client:alerts | server -> officer | Текущие вызовы работы, на дежурстве в которой офицер (полный список; пустой список очищает карточки). |
ai-policealert:client:alert | server -> officer | Один новый вызов. |