Geliştiriciler için ai-doorlock
ai-doorlock’un server export’ları, ox_doorlock API’si, GlobalState anahtarları ve event’i.
Kendi script’inden kapıları kilitlemek ya da açmak için lib’in doors.setLocked(id, locked, by?) ve doors.isLocked(id) fonksiyonlarını kullan (server). Bunlar ai-core’un kapı kilidi katmanından geçer ve sunucunun çalıştırdığı hangi kapı kilidi script’i olursa olsun çalışır. Aşağıdaki export’lar, ai-doorlock aktifken katmanın çağırdıklarıdır.
Bir kapı panel id’siyle adlandırılır: data/doors.json içindeki kayıt anahtarı (panelin kapı listesinde gösterilir). @aicore-fivem/shared içinde AiDoorlockServerExports olarak tiplenmiştir.
import { resourceExport } from "@aicore-fivem/lib/server";
const doorlock = resourceExport("ai-doorlock");Server export’ları
SetDoorState
Hiçbir erişim ya da mesafe kontrolü yapmadan bir kapıyı herkes için kilitler ya da açar.
Taraf: Server · Bekler: hayır
SetDoorState(id: string, locked: boolean): voidexports['ai-doorlock']:SetDoorState(id, locked)Parametreler
Prop
Type
Dönüş değeri
Hiçbir şey. Panel kapısı olmayan bir id hiçbir şey yapmaz.
Örnek
import { resourceExport } from "@aicore-fivem/lib/server";
const doorlock = resourceExport("ai-doorlock");
// Kapatma (lockdown): karakolun listelenen her kapısını kilitle.
const STATION_DOORS = ["mrpd_front", "mrpd_back", "mrpd_back_gate"]; // varsayılan panel id’leri
export function lockdown(): void {
for (const id of STATION_DOORS) doorlock.SetDoorState(id, true);
}IsLocked
Bir kapının şu an kilitli olup olmadığı.
Taraf: Server · Bekler: hayır
IsLocked(id: string): booleanlocal locked = exports['ai-doorlock']:IsLocked(id)Dönüş değeri
Kilitliyse true. Açıksa ya da id bir panel kapısı değilse false.
ox_doorlock API’si
ai-doorlock ox_doorlock adını sağlar (provide) ve iki server export’unu cevaplar:
| Export | Ne yapar |
|---|---|
setDoorState(id, state) | SetDoorState ile aynı: true ya da 1 kilitler, diğer her şey açar. |
getDoor(id) | { id, name, state } (state 1 kilitli, 0 açık; name panel adıdır), bilinmeyen bir id için nil. |
Diğer ox_doorlock export’ları cevaplanmaz.
GlobalState
Her kapının kilit durumu door:<id> GlobalState anahtarıdır (true = kilitli); server’da ve her client’ta okunabilir. Kapı silindiğinde kaldırılır.
local locked = GlobalState['door:mrpd_front'] == trueEvent’ler
| Ad | Tür | Ne yapar |
|---|---|---|
ai-doorlock:toggle | client callback’i | (id) -> { ok, locked }: server mesafeyi ve erişimi kontrol ettikten sonra bir oyuncu bir kapıyı değiştirir. Dahili; oyuncu başına saniyede 2 ve kapı başına 500 ms ile sınırlı. |
ai-doorlock
Kapı dünyada seçilerek panelden ayarlanan, meslek ve çete erişimli, herkes için tek kilit durumu olan kapı kilitleri.
ai-smallresources
Her biri kendi panel anahtarının arkasında birçok küçük oynanış özelliği, ayrıca ışınlanmalar, asansörler, oturma yerleri, iskeleler ve Discord Rich Presence.