AI Core
API-ReferenzAI Core: Server-Exports

MDT

Bußgelder, Haftbefehle, Festnahmen und Haftakten in das Polizei-MDT schreiben, das der Server nutzt.

Akten laufen über ai-core, nie über die eigenen Exports oder Events eines MDT. ai-core leitet jede Akte an das aktive MDT weiter: das, das die Panel-Einstellung MDT script (MDT-Skript) wählt, oder das erste, das läuft. Es gibt kein ai-*-MDT, deshalb werden Akten nirgends geschrieben, solange kein MDT läuft. Den MDT-Bildschirm zu öffnen passiert auf dem Client (Client-Export OpenMdt, Lib mdt.open).

GetMdtSystem

Der Ressourcenname des MDT, an das ai-core weiterleitet.

Seite: Server · Wartet: nein · Lib: mdt.provider()

Signature
GetMdtSystem(): string | null
Lua
local system = exports['ai-core']:GetMdtSystem() -- String oder nil

Parameter

Keine.

Rückgabe

string | null: der Ressourcenname des MDT. null, wenn keines läuft.

Beispiel

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

Schreibt eine Akte über einen Spieler in das MDT: ein Bußgeld, einen Haftbefehl, eine Festnahme oder eine Haftstrafe. ai-core ergänzt die Citizen-IDs und Namen des Ziels und des Beamten.

Seite: Server · Wartet: nein · Lib: mdt.record

Signature
AddMdtRecord(record: MdtRecord): boolean
Lua
local written = exports['ai-core']:AddMdtRecord({ kind = 'fine', target = target, by = source, title = 'Speeding', amount = 250 })

Parameter

Prop

Type

MdtRecord

Prop

Type

Siehe MdtRecord und MdtRecordKind.

Rückgabe

boolean: true, wenn das MDT sie geschrieben hat. false, wenn die Akte ungültig ist (falsches kind, kein title, target keine positive ganze Zahl), das Ziel keinen geladenen Charakter hat, kein MDT läuft oder das MDT keine Akten von Skripten annimmt oder diese Art nicht kennt.

Beispiel

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

// Ein Beamter sperrt einen Spieler für 20 Minuten ein; das MDT hält die Akte fest.
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 };
  },
);

Auf dieser Seite