--:--:--
sh_elevator
Home/Wiki/sh_elevator
FiveM Standalone Lua 5.4 JSON-Storage

sh_elevator

Leichtgewichtiges Aufzugssystem für FiveM. Komplett standalone – keine Datenbank notwendig. Alle Daten liegen in JSON-Dateien. Mit Etagen, PIN-Sperren und interaktivem Admin-Menü.

Version: 2.0.5 Storage: JSON Abhängigkeiten: ox_lib, ox_target

🧭 Überblick & Features

🔌
Standalone
Keine MySQL/oxmysql-Abhängigkeit, alles in data/elevators.json.
🎯
Interaktion
ox_target und E-Taste (frei wählbar).
🔒
PIN-Sperre
Pro Etage oder pro Aufzug (Master-PIN) – oder beides.
🛠️
Admin-Menü
Verwalten, sperren, sortieren, löschen via /elevatoradmin.

⚙️ Voraussetzungen

RessourceWofür
ox_libMenüs, Dialoge, Kontextmenüs
ox_targetInteraktion am Aufzug (Auge)
Keine Datenbank nötig. Aufzüge & Etagen werden in data/elevators.json, dauerhafte PIN-Zugänge in data/access.json gespeichert.

📦 1 · Installation

Ordner kopieren

Den Ordner nach resources/[local]/sh_elevator legen.

server.cfg eintragen
server.cfg
ensure ox_lib
ensure ox_target
ensure sh_elevator

add_ace group.admin command.elevator allow
(Optional) config.lua anpassen

Sprache, PIN-Längen, Teleport-Verhalten und ACE-Recht nach Bedarf.

🔧 2 · Konfiguration

OptionStandardBeschreibung
Config.AdminAce'command.elevator'ACE-Berechtigung für Admin-Befehle
Config.AllowAdminsAllFloorstrueAdmins ignorieren PIN-Sperren
Config.UseKeybindtrueE-Taste aktivieren
Config.KeybindRadius2.5Max. Abstand für E-Prompt
Config.FadeTime800Fade-Dauer beim Teleport (ms)
Config.TeleportZOffset-1.0Z-Versatz (negativ = tiefer absetzen)
Config.PinMinLength3Minimale PIN-Länge
Config.PinMaxLength12Maximale PIN-Länge
Config.PinMemoryMode'persistent'persistent / session / never
Config.IdentifierType'license'license / steam / discord / fivem
Config.Locale'de'Sprache (siehe locales/)

🏗️ 3 · Typischer Workflow

Aufzug installieren
ingame
/elevatorinstall HQ-Aufzug      # → gibt ElevatorID zurück (z.B. 1)
Etagen anlegen

Jeweils zuerst an die gewünschte Position stellen:

ingame
/elevatoraddfloor 1 Erdgeschoss
/elevatoraddfloor 1 Etage1
/elevatoraddfloor 1 Dach         # → FloorIDs z.B. 1, 2, 3
Etage(n) mit PIN sichern
ingame
/elevatorlock 3 1234             # Dach sperren
/elevatorpin 1 9999              # optionaler Master-PIN für den ganzen Aufzug
Status prüfen
ingame
/elevatorlist

⌨️ Befehlsreferenz

ℹ️ Alle Admin-Befehle benötigen die ACE-Berechtigung command.elevator (siehe Config.AdminAce).

Anlegen

BefehlWirkung
/elevatorinstall [Name]Neuen Aufzug an aktueller Position erstellen
/elevatoraddfloor <ElevatorID> <Name>Etage an aktueller Position hinzufügen

PIN & Sperren

BefehlWirkung
/elevatorlock <FloorID> <PIN>Etage sperren + PIN setzen (erneut = PIN ändern)
/elevatorunlock <FloorID>Etage entsperren (löscht PIN + persistente Zugänge)
/elevatorpin <ElevatorID> <PIN|clear>Master-PIN für alle gesperrten Etagen setzen/entfernen

Sortierung & Verwaltung

BefehlWirkung
/elevatorsort <FloorID> <Position>Etage an konkrete Position verschieben (0-basiert)
/elevatorautosort <ElevatorID> [asc|desc]Alle Etagen automatisch nach Höhe sortieren
/elevatoradminInteraktives Admin-Menü öffnen
/elevatorlistAlle Aufzüge & Etagen auflisten

Löschen, Reset & Refresh

BefehlWirkung
/elevatorremove <ElevatorID>Aufzug inkl. aller Etagen löschen (Alias: /elevatordel)
/elevatorremovefloor <FloorID>Einzelne Etage löschen (Alias: /elevatordelfloor)
/elevatorresetAlle dauerhaften PIN-Zugänge löschen
/elevatortestAdmin-Test-Modus (PIN gilt auch für dich)
/elevatorrefresh(Spieler) Client-Daten neu laden

🎮 Spieler-Bedienung

  • In der Nähe eines Aufzugs erscheint der 3D-Text [E] Aufzug benutzen.
  • E drücken oder per ox_target (Auge) auf den Aufzug zielen → Menü öffnet sich.
  • Etage wählen: nicht gesperrt → Teleport; gesperrt 🔒 → PIN-Eingabe.
  • Bei korrektem PIN wird der Zugang dauerhaft gespeichert (PinMemoryMode = persistent).

Dateistruktur

sh_elevator/ ├── fxmanifest.lua ├── config.lua ├── client.lua ├── server.lua ├── locales/ │ └── de.lua └── data/ ├── elevators.json ← Aufzüge & Etagen └── access.json ← PIN-Zugänge
ℹ️ data/elevators.json kann manuell editiert werden – danach Server neustarten oder /elevatorrefresh ausführen.