AI Core
Referência da APIAI Core: exports de servidor

Dispatch

Envie alertas para a polícia (ou qualquer emprego) pelo sistema de alertas que o servidor roda.

Os alertas da polícia passam pelo ai-core, nunca pelos exports ou eventos próprios de um script de alertas (ai-policealert incluído). O ai-core encaminha cada alerta ao sistema de alertas ativo: o que a configuração Alert script do painel escolhe, ou o primeiro que estiver rodando (os cards embutidos do ai-policealert vêm por último). O sistema de alertas o mostra aos membros em serviço dos empregos do alerta.

O ai-core também responde ao evento police:server:policeAlert do QB para os sistemas de alertas que não o respondem, então os alertas dos scripts de QB também chegam.

SendDispatchAlert

Envia um alerta. Use para qualquer coisa a que os policiais (ou outro emprego) devem responder: tiros disparados, um assalto a loja, um carro roubado.

Lado: Servidor · Espera: não · Lib: dispatch.alert

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

Parâmetros

Prop

Type

DispatchAlert

Prop

Type

Campos desconhecidos são descartados. Veja DispatchAlert.

Retorno

boolean: true quando o sistema de alertas aceitou o alerta. false quando title falta ou está vazio, nenhum sistema de alertas está rodando ou ele falhou.

Exemplo

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

Os textos são mostrados como foram enviados: traduza-os com Locale antes de enviar. Não envie um alerta a cada frame ou a cada tiro: um alerta de tiros disparados deve ter um cooldown por jogador.

Nesta página