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.
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
SetDoorState(id: string, locked: boolean): voidexports['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
IsLocked(id: string): booleanlocal 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:
| Export | Was 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.
local locked = GlobalState['door:mrpd_front'] == trueEvents
| Name | Art | Was es macht |
|---|---|---|
ai-doorlock:toggle | Client-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. |
ai-doorlock
Türschlösser, im Panel eingestellt, indem man die Tür in der Welt auswählt, mit Zugriff für Jobs und Gangs und einem Schlosszustand für alle.
ai-smallresources
Viele kleine Spielfunktionen, jede mit eigenem Panel-Schalter, dazu Teleports, Aufzüge, Sitzplätze, Anlegestellen und Discord Rich Presence.