MDT
Sunucunun çalıştırdığı polis MDT’si hangisiyse ona ceza, arama kararı, tutuklama ve hapis kayıtları yaz.
Kayıtlar ai-core üzerinden gider, asla bir MDT’nin kendi export’ları ya da event’leri üzerinden değil. ai-core her kaydı aktif MDT’ye iletir: panelin MDT script ayarının seçtiği ya da çalışan ilk MDT. ai-* MDT yoktur, bu yüzden hiçbir MDT çalışmıyorken kayıtlar hiçbir yere yazılmaz. MDT ekranını açmak client’ta olur (client export’u OpenMdt, lib mdt.open).
GetMdtSystem
ai-core’un ilettiği MDT’nin resource adı.
Taraf: Server · Bekler: hayır · Lib: mdt.provider()
GetMdtSystem(): string | nulllocal system = exports['ai-core']:GetMdtSystem() -- string ya da nilParametreler
Yok.
Dönüş değeri
string | null: MDT’nin resource adı. Hiçbiri çalışmıyorsa null.
Örnek
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
MDT’ye bir oyuncu hakkında bir kayıt yazar: bir ceza, bir arama kararı, bir tutuklama ya da bir hapis cezası. ai-core hedefin ve memurun citizen id’lerini ve adlarını doldurur.
Taraf: Server · Bekler: hayır · Lib: mdt.record
AddMdtRecord(record: MdtRecord): booleanlocal written = exports['ai-core']:AddMdtRecord({ kind = 'fine', target = target, by = source, title = 'Speeding', amount = 250 })Parametreler
Prop
Type
MdtRecord
Prop
Type
Bkz. MdtRecord ve MdtRecordKind.
Dönüş değeri
boolean: MDT yazdığında true. Kayıt geçersizse (yanlış kind, title yok, target pozitif bir tam sayı değil), hedefin yüklü karakteri yoksa, hiçbir MDT çalışmıyorsa, MDT script’lerden kayıt almıyorsa ya da böyle bir türü yoksa false.
Örnek
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");
// Bir memur bir oyuncuyu 20 dakika hapse atar; kaydı MDT tutar.
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 };
},
);