AI Core
Работы и службыai-policealert

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): boolean
Lua
local 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): void
Lua
exports['ai-policealert']:DispatchAlert(alert)

Параметры

Prop

Type

Возвращает

Ничего. Прямой вызов пропускает выбор системы оповещений AI Core, а coords не заполняется из source (AI Core делает это перед вызовом экспорта).

Приватные события

Собственный контракт скрипта между сервером и клиентом (resource/common/alerts.ts). Они могут меняться между версиями: не вызывайте и не слушайте их из других ресурсов.

ИмяНаправлениеЧто передаёт
ai-policealert:client:alertsserver -> officerТекущие вызовы работы, на дежурстве в которой офицер (полный список; пустой список очищает карточки).
ai-policealert:client:alertserver -> officerОдин новый вызов.

На этой странице