AI Core
API başvurusuAI Core: server export’ları

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()

İmza
GetMdtSystem(): string | null
Lua
local system = exports['ai-core']:GetMdtSystem() -- string ya da nil

Parametreler

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

İmza
AddMdtRecord(record: MdtRecord): boolean
Lua
local 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 };
  },
);

Bu sayfada