Kapı kilitleri
Sunucunun çalıştırdığı kapı kilidi script’i hangisiyse onun üzerinden kapıları kilitle, aç ve oku.
Kapı çağrıları ai-core üzerinden gider, asla bir kapı kilidi script’inin kendi export’ları ya da event’leri üzerinden değil (ai-doorlock dahil). ai-core her çağrıyı aktif kapı kilidi script’ine iletir: panelin Door lock script ayarının seçtiği ya da çalışan ilk script (ai-doorlock, ox_doorlock, tgiann-doorlock ve uyumluluk listesindeki diğerleri).
Bir kapı o script’in kendi kapı id’siyle adlandırılır: onun kapı listesinde gördüğün id (ai-doorlock: kapının admin panelindeki id’si; ox_doorlock: veritabanı numarası).
GetDoorlockSystem
ai-core’un ilettiği kapı kilidi script’inin resource adı.
Taraf: Server · Bekler: hayır · Lib: doors.provider()
GetDoorlockSystem(): string | nulllocal system = exports['ai-core']:GetDoorlockSystem() -- string ya da nilParametreler
Yok.
Dönüş değeri
string | null: kapı kilidi script’inin resource adı. Hiçbiri çalışmıyorsa null.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
// Config’indeki kapı id’leri tek bir kapı kilidi script’ine aittir: başkası çalışıyorsa uyar.
if (core.GetDoorlockSystem() !== "ai-doorlock")
console.log("myscript: door ids are written for ai-doorlock");SetDoorLocked
Bir kapıyı kilitler ya da kilidini açar.
Taraf: Server · Bekler: hayır · Lib: doors.setLocked
SetDoorLocked(id: string, locked: boolean, by?: number): booleanlocal ok = exports['ai-core']:SetDoorLocked('pacific_vault', false, source)Parametreler
Prop
Type
Dönüş değeri
boolean: kapı kilidi script’i değişikliği kabul ettiğinde true. Hiçbir kapı kilidi script’i çalışmıyorsa, kapı bilinmiyorsa, script reddettiyse, id boşsa ya da locked bir boolean değilse false.
Örnek
import { onClientCallback, progressFor, resourceExport, near } from "@aicore-fivem/lib/server";
import { fail } from "@aicore-fivem/lib/shared";
import { Locale } from "common";
const core = resourceExport("ai-core");
const VAULT = { x: 253.9, y: 225.2, z: 101.9 };
onClientCallback("myscript:hackVault", { guards: [near(VAULT, 2)], lock: true }, async (source) => {
if (!core.HasItem(source, "laptop")) return fail("NO_LAPTOP");
if (!(await progressFor(source, { label: Locale("HACKING"), duration: 15000 }))) return fail("CANCELLED");
return core.SetDoorLocked("pacific_vault", false, source) ? { ok: true } : fail("DOOR_FAILED");
});IsDoorLocked
Bir kapının kilitli olup olmadığı.
Taraf: Server · Bekler: hayır · Lib: doors.isLocked
IsDoorLocked(id: string): boolean | nulllocal locked = exports['ai-core']:IsDoorLocked('pacific_vault') -- true, false ya da nilParametreler
Prop
Type
Dönüş değeri
boolean | null: true kilitli, false açık. Bilinmediğinde null: hiçbir kapı kilidi script’i çalışmıyor, kapı yok, script server’da söyleyemiyor ya da id boş.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const core = resourceExport("ai-core");
/** Soygun yalnızca kasa hâlâ kapalıyken başlayabilir. */
export function vaultClosed(): boolean {
return core.IsDoorLocked("pacific_vault") !== false;
}null’ın özelliğin için ne anlama geldiğine karar ver. Örnek "bilinmiyor"u kapalı sayar, böylece eksik bir kapı kilidi script’i soygunu asla erken açmaz.