AI Core
Welt und Werkzeugeai-doorlock

ai-doorlock für Entwickler

Server-Exports, die API von ox_doorlock, GlobalState-Schlüssel und das Event von ai-doorlock.

Um aus deinem eigenen Skript Türen ab- oder aufzuschließen, nutze doors.setLocked(id, locked, by?) und doors.isLocked(id) der Lib (Server). Sie laufen über den Türschloss-Layer von ai-core und funktionieren mit dem Türschloss-Skript, das der Server gerade nutzt. Die Exports unten sind das, was der Layer aufruft, solange ai-doorlock aktiv ist.

Eine Tür wird über ihre Panel-ID benannt: den Datensatzschlüssel in data/doors.json (in der Türliste des Panels angezeigt). Typisiert als AiDoorlockServerExports in @aicore-fivem/shared.

TypeScript
import { resourceExport } from "@aicore-fivem/lib/server";
const doorlock = resourceExport("ai-doorlock");

Server-Exports

SetDoorState

Schließt eine Tür für alle ab oder auf, ohne jede Zugriffs- oder Entfernungsprüfung.

Seite: Server · Wartet: nein

Signatur
SetDoorState(id: string, locked: boolean): void
Lua
exports['ai-doorlock']:SetDoorState(id, locked)

Parameter

Prop

Type

Rückgabewert

Nichts. Eine ID, die keine Panel-Tür ist, tut nichts.

Beispiel

import { resourceExport } from "@aicore-fivem/lib/server";

const doorlock = resourceExport("ai-doorlock");

// Eine Abriegelung: jede aufgeführte Tür der Wache abschließen.
const STATION_DOORS = ["mrpd_front", "mrpd_back", "mrpd_back_gate"]; // Standard-Panel-IDs
export function lockdown(): void {
  for (const id of STATION_DOORS) doorlock.SetDoorState(id, true);
}

IsLocked

Ob eine Tür gerade abgeschlossen ist.

Seite: Server · Wartet: nein

Signatur
IsLocked(id: string): boolean
Lua
local locked = exports['ai-doorlock']:IsLocked(id)

Rückgabewert

true, wenn abgeschlossen. false, wenn aufgeschlossen oder die ID keine Panel-Tür ist.

ox_doorlock API

ai-doorlock providet ox_doorlock und beantwortet zwei seiner Server-Exports:

ExportWas er macht
setDoorState(id, state)Wie SetDoorState: true oder 1 schließt ab, alles andere schließt auf.
getDoor(id){ id, name, state } (state 1 abgeschlossen, 0 aufgeschlossen; name ist der Panel-Name) oder nil bei einer unbekannten ID.

Andere Exports von ox_doorlock werden nicht beantwortet.

GlobalState

Der Schlosszustand jeder Tür ist der GlobalState-Schlüssel door:<id> (true = abgeschlossen), auf dem Server und auf jedem Client lesbar. Er wird entfernt, wenn die Tür gelöscht wird.

Lua (Client oder Server)
local locked = GlobalState['door:mrpd_front'] == true

Events

NameArtWas es macht
ai-doorlock:toggleClient-Callback(id) -> { ok, locked }: Ein Spieler schaltet eine Tür um, nachdem der Server Entfernung und Zugriff geprüft hat. Intern; begrenzt auf 2 pro Sekunde pro Spieler und 500 ms pro Tür.

Auf dieser Seite