Introduction
Welcome to the MBT Elevator documentation!
MBT Elevator is an advanced, highly customizable elevator system designed for modern FiveM servers. It replaces traditional teleport markers with a fully immersive, interactive elevator experience — configured entirely in-game through a sleek React-based admin panel, with all data persisted to a database and synced in real-time to every connected player.
Key Features
In-Game Admin Dashboard
Create, edit, and delete elevators on the fly without touching any file or restarting the script. Changes are instantly broadcast to all players the moment you hit Apply Changes. The dashboard also includes a built-in Knowledge Base panel with quick-reference guides directly in-game.
Database-Driven Configuration
All elevator data is stored in a dedicated database table (mbt_elevators), automatically created on first start. No manual .sql imports required. Configurations survive server restarts and can be seeded with pre-built example elevators (e.g., Skyclub) via config.lua.
Real-Time Coordinate Capture
Setting up elevator positions requires zero guesswork. Click the capture button in the dashboard, aim at any surface or prop in the world, and press [E] — coordinates and heading are captured instantly with color-coded visual feedback:
- Green: Valid interactive prop (supports Entity Target mode)
- Orange: Static map geometry (use Box Zone mode)
- Pink: General surface/air position
Multi-Target System Support
Automatically detects and integrates with ox_target, qb-target, and qtarget. Each floor supports two interaction modes:
- Volumetric Box — an invisible 3D zone with configurable size, rotation, and distance
- Static Entity — aims at a specific world prop using its model hash, captured automatically via raycast
Three Elevator Themes
Choose from three distinct visual styles for the elevator panel UI, each with ambient sounds and fully responsive artwork that adapts to the player's screen resolution (1080p, 1440p, 2K, 4K, ultrawide):
Industrial MetalClassic WoodLuxury Gold
Co-op Elevator Rides
Players can invite nearby players to share an elevator ride. The invite system handles accept/refuse flows, timeout logic, and synchronized teleportation — all tracked live in the elevator NUI.
Layered Access Control
Two independent layers of access restriction per elevator:
- Global Access — blocks players from opening the elevator at all unless they have the required job/grade or item
- Per-Floor Access — restricts individual floors to specific jobs or inventory items
- Time-Based Access — lock or unlock the entire elevator based on in-game server hours (0–23)
Dynamic Malfunction System
Elevators can break down randomly based on configurable probabilities. When broken, the elevator becomes unusable until a qualified player repairs it. Supports three fault types (Electrical, Mechanical, Software), each with unique:
- Required inventory item
- Minigame (via
mbt_minigames) - Player animation and prop
- Visual particle effect
- Repair rules per job (difficulty, item consumption, inspection duration)
Hacking Mechanics
Restricted floors can be bypassed by criminals using a configurable hacking item and a minigame (via mbt_minigames). Each hackable elevator supports a dedicated external interaction point (e.g., a control terminal). After a successful hack, the bypass expires after a configurable cooldown. A custom alarm/dispatch callback is triggered on hack attempts.
Framework Agnostic
Out-of-the-box support for QBCore, ESX, Qbox (QBX), ox, and fully custom bridge configurations — automatically detected at runtime via a modular bridge architecture.
Performance Optimized
Written strictly with performance in mind. 0.00ms idle, with thread-based detection loops that only activate near registered elevator zones.
What's New in v3
- Database backend replacing static
config.luaelevator definitions - Real-time dashboard sync to all players on save
- Per-floor target modes (Box Zone vs Entity Target) configurable per floor
- Raycast coordinate capture with live color-coded visual feedback
- Co-op invite system for shared elevator rides
- Entity target support with automatic model hash capture via raycast
- Responsive UI scaling across all common resolutions
- Modular bridge system (
modules/bridge/) for cleaner framework integration - Admin Knowledge Base built into the dashboard sidebar
- Three elevator themes (Metal, Wood, Gold) with per-resolution artwork
- Live dashboard stats (Operational / Faulty Nodes / Drafts) with one-click filters
Target Audience
Designed for server owners who want an immersive, interaction-rich environment without sacrificing ease of setup. Installation takes minutes; adding or editing elevators takes seconds — entirely in-game.
