MDT
Escribe multas, órdenes de búsqueda, arrestos y registros de cárcel en el MDT de la policía que tenga el servidor.
Los registros pasan por ai-core, nunca por los exports o eventos propios de un MDT. ai-core reenvía cada registro al MDT activo: el que elige el ajuste MDT script (script de MDT) del panel, o el primero que esté en marcha. No hay ningún MDT ai-*, así que mientras no hay ningún MDT en marcha, los registros no se escriben en ninguna parte. Abrir la pantalla del MDT ocurre en el cliente (export de cliente OpenMdt, mdt.open de la lib).
GetMdtSystem
El nombre de recurso del MDT al que reenvía ai-core.
Lado: Servidor · Espera: no · Lib: mdt.provider()
GetMdtSystem(): string | nulllocal system = exports['ai-core']:GetMdtSystem() -- string o nilParámetros
Ninguno.
Devuelve
string | null: el nombre de recurso del MDT. null cuando no hay ninguno en marcha.
Ejemplo
import { addCommand, resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
addCommand("mdtsystem", { help: "Shows the MDT in use", restricted: true }, () => {
console.log(core.GetMdtSystem() ?? "none: records are not written");
});AddMdtRecord
Escribe en el MDT un registro sobre un jugador: una multa, una orden de búsqueda, un arresto o una condena de cárcel. ai-core rellena los citizen ids y los nombres del objetivo y del agente.
Lado: Servidor · Espera: no · Lib: mdt.record
AddMdtRecord(record: MdtRecord): booleanlocal written = exports['ai-core']:AddMdtRecord({ kind = 'fine', target = target, by = source, title = 'Speeding', amount = 250 })Parámetros
Prop
Type
MdtRecord
Prop
Type
Consulta MdtRecord y MdtRecordKind.
Devuelve
boolean: true cuando el MDT lo escribió. false cuando el registro no es válido (kind erróneo, sin title, target no es un número entero positivo), el objetivo no tiene un personaje cargado, no hay ningún MDT en marcha, el MDT no acepta registros de scripts o no tiene ese tipo.
Ejemplo
import { onClientCallback, resourceExport } from "@aicore-fivem/lib/server";
import { fail, readId } from "@aicore-fivem/lib/shared";
import { Locale } from "common";
const core = resourceExport("ai-core");
// Un agente encarcela a un jugador durante 20 minutos; el MDT guarda el registro.
onClientCallback(
"myscript:jail",
{ args: ([target]) => { const id = readId(target); return id === null ? null : [id]; }, lock: true },
(source, target) => {
if (core.GetDutyJob(source) !== "police") return fail("NOT_POLICE");
if (!core.JailPlayer(target, 20, source)) return fail("JAIL_FAILED");
core.AddMdtRecord({ kind: "jail", target, by: source, title: Locale("RECORD_ROBBERY"), minutes: 20 });
return { ok: true };
},
);