MDT
Zapisuj mandaty, nakazy, aresztowania i wpisy o więzieniu w policyjnym MDT, którego używa serwer.
Wpisy przechodzą przez ai-core, nigdy przez własne eksporty lub zdarzenia MDT. ai-core przekazuje każdy wpis do aktywnego MDT: tego, który wybiera ustawienie MDT script w panelu, albo pierwszego działającego. Nie ma MDT ai-*, więc dopóki nie działa żadne MDT, wpisy nie są nigdzie zapisywane. Otwieranie ekranu MDT dzieje się na kliencie (kliencki eksport OpenMdt, mdt.open liba).
GetMdtSystem
Nazwa zasobu MDT, do którego ai-core przekazuje wpisy.
Strona: Serwer · Czeka: nie · Lib: mdt.provider()
GetMdtSystem(): string | nulllocal system = exports['ai-core']:GetMdtSystem() -- string lub nilParametry
Brak.
Zwraca
string | null: nazwa zasobu MDT. null, gdy żadne nie działa.
Przykład
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
Zapisuje w MDT wpis o graczu: mandat, nakaz, aresztowanie albo karę więzienia. ai-core uzupełnia citizen id i imiona celu oraz funkcjonariusza.
Strona: Serwer · Czeka: nie · Lib: mdt.record
AddMdtRecord(record: MdtRecord): booleanlocal written = exports['ai-core']:AddMdtRecord({ kind = 'fine', target = target, by = source, title = 'Speeding', amount = 250 })Parametry
Prop
Type
MdtRecord
Prop
Type
Zobacz MdtRecord i MdtRecordKind.
Zwraca
boolean: true, gdy MDT go zapisało. false, gdy wpis jest niepoprawny (zły kind, brak title, target nie jest dodatnią liczbą całkowitą), cel nie ma wczytanej postaci, nie działa żadne MDT albo MDT nie przyjmuje wpisów od skryptów lub nie ma takiego rodzaju.
Przykład
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");
// Funkcjonariusz wsadza gracza do więzienia na 20 minut; MDT zachowuje wpis.
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 };
},
);