MDT
Écrire des amendes, mandats, arrestations et peines de prison dans le MDT de police qu’utilise le serveur.
Les enregistrements passent par ai-core, jamais par les exports ou événements propres à un MDT. ai-core transmet chaque enregistrement au MDT actif : celui que choisit le réglage MDT script du panneau, ou le premier qui tourne. Il n’existe pas de MDT ai-*, donc tant qu’aucun MDT ne tourne, les enregistrements ne sont écrits nulle part. L’ouverture de l’écran du MDT se fait sur le client (export client OpenMdt, mdt.open de la lib).
GetMdtSystem
Le nom de ressource du MDT auquel ai-core transmet.
Côté : Serveur · Attend : non · Lib : mdt.provider()
GetMdtSystem(): string | nulllocal system = exports['ai-core']:GetMdtSystem() -- string ou nilParamètres
Aucun.
Retour
string | null : le nom de ressource du MDT. null quand aucun ne tourne.
Exemple
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
Écrit un enregistrement sur un joueur dans le MDT : une amende, un mandat, une arrestation ou une peine de prison. ai-core complète les citizen ids et les noms de la cible et de l’agent.
Côté : Serveur · Attend : non · Lib : mdt.record
AddMdtRecord(record: MdtRecord): booleanlocal written = exports['ai-core']:AddMdtRecord({ kind = 'fine', target = target, by = source, title = 'Speeding', amount = 250 })Paramètres
Prop
Type
MdtRecord
Prop
Type
Voir MdtRecord et MdtRecordKind.
Retour
boolean : true quand le MDT l’a écrit. false quand l’enregistrement est invalide (mauvais kind, pas de title, target qui n’est pas un nombre entier positif), que la cible n’a pas de personnage chargé, qu’aucun MDT ne tourne, que le MDT n’accepte pas d’enregistrements des scripts ou n’a pas ce type.
Exemple
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 agent emprisonne un joueur pour 20 minutes ; le MDT garde l’enregistrement.
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 };
},
);