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
Custom Themes (v3.1)
Beyond the built-in themes, build your own teleport-UI theme without touching code via the in-dashboard Theme Creator — drag the live preview to move it, drag a corner to resize, drag the top handle to rotate, with 16:9 / 21:9 / 4:3 aspect-ratio presets matching exactly what players see in-world. Themes are validated and saved server-side, ready to apply to any elevator.
Panel Designs (v3.1)
Give each elevator its own button-panel look from a picker in the Appearance section — 7 designs (Standard, Minimal Luxury, Corporate Modern, Obsidian Arc, Brutalist Monochrome, Art Deco Grand, Industrial Freight), each available in a Dark or Light variant.
In-World Button Panel Placement (v3.1)
Place a physical button panel anywhere in the world with a picker + placement flow — 3-axis rotation, fine offset controls, and WYSIWYG capture. Each floor's elevator door prop is configured directly from that floor's settings.
Vehicle Elevators (v3.1)
A brand-new elevator type for moving cars between floors. Drive up and press [E] to ride from inside the car — no need to exit — with passenger sync so everyone in the car travels together. Admission is controlled via a per-elevator vehicle blacklist, vehicle-class filter, size/clearance checks, and plate & owner access, with a parking direction cue and cooldown/busy states.
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
What's New in v3.1
v3.1 is the largest update since launch — a ground-up dashboard rebuild plus a long list of new systems. Existing v3.0 servers upgrade in place, no config rewrite required.
- Redesigned admin dashboard — a sidebar (Control Center, Theme Creator, Knowledge Base) plus a fleet map view with pan/zoom/clustering alongside the existing card grid, and a per-elevator activity log (creation, edits, breakdowns, repairs, hacks and access events, paginated; rides can also be logged via
MBT.Logs.LogRides) - Vehicle Elevators — a full new elevator type with admission rules, passenger sync, and ride-from-inside-the-car support
- 7 panel designs, each in a Dark or Light variant, with a live drag-to-position preview
- Custom theme editor with live WYSIWYG HUD-anchor positioning
- In-world button panel placement and a per-floor elevator door prop
- Native interaction hint — the "Press E" prompt no longer depends on
ox_libshowTextUI, with configurable screen position - Hardened networking — the breakdown trigger is no longer network-exposed, and ride sync is delivered to server-tracked occupants only
- Collision-free routing buckets via explicit free-bucket allocation
- Live config sync — changes saved from the admin dashboard apply immediately, no rejoin
- Performance work for large fleets — clamped ride stepping, memoized fleet filtering, paginated logs
- Ships with
MBT.Debug = falseby default for a cleaner server console
Coming from v2? Use the in-browser migrator on the product page to convert your old MBT.Elevators table into the v3 database in one step.
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.