What Is a FiveM Elevator Script?
A FiveM elevator script is a custom resource that adds functional, interactive elevators to multi-floor buildings on your roleplay server. Without a dedicated elevator script, players in GTA V / FiveM servers have no realistic way to travel between floors in tall buildings — they are forced to use stairs, teleport commands, or clunky workarounds that break immersion instantly.
A proper elevator script presents players with an in-game UI panel when they enter an elevator area. They select their destination floor, the doors animate closed, the camera or character smoothly transitions to the target level, sound effects play, and the doors open again on arrival. The whole interaction feels like a genuine part of the game world rather than a bolted-on mechanic.
For serious roleplay servers — apartment complexes, hospital buildings, police headquarters, skyscraper offices, parking garages — a good elevator script is not a luxury. It is the difference between a building that feels alive and one that feels like a hollow prop. In 2026, Agency-Elevator by TDYSKY has become the community's go-to free solution, and this guide covers everything you need to know to get it running on your server.
Why You Need Agency-Elevator
There are a handful of elevator scripts floating around the FiveM community forums and GitHub, but most of them suffer from one or more serious problems: outdated code that breaks on modern FiveM builds, no active maintenance, hard-coded floor coordinates, no NUI panel, or poor animation handling that results in players clipping through geometry.
Agency-Elevator was built to solve all of those problems cleanly. It is actively maintained by the TDYSKY team, fully documented, and — crucially — completely free. You can grab it directly from the Tebex store at no cost, no strings attached. Here is why it stands out:
- Multi-floor support: Define as many floors as your building has. There is no hard limit baked into the script.
- Smooth animations: The script uses native GTA V animations and carefully timed teleports so players do not see jarring position jumps.
- NUI floor-selection panel: A clean, lightweight browser overlay shows the current floor and lets players click or press to select their destination.
- Sound effects: Elevator ding, door open/close, and ambient movement sounds are included out of the box.
- Fully configurable: Every building, every elevator shaft, every floor coordinate, every floor label — all defined in a single
Config.luafile. - Framework agnostic: Works with QBCore, ESX, and completely Standalone setups. No framework dependency by default.
- Zero cost: FREE — no payment, no escrow, no Tebex subscription needed beyond a free account.
Feature Deep Dive
Multi-Floor Buildings
Each elevator in Agency-Elevator is defined as a table entry in the config. You specify the trigger zone (where the player stands to call the elevator), then list each floor with its name, its destination coordinates (x, y, z, heading), and optionally an access restriction. You can define elevators for any number of buildings in a single resource — hospital, police HQ, apartment block, casino tower — all managed from one place.
NUI Panel
When a player enters an elevator trigger zone, a floating NUI panel fades in. It lists all available floors with their labels (e.g., "Ground Floor", "2nd Floor — Apartments", "Rooftop"). Players click their destination or navigate with keyboard controls. The panel is styled to match the Agency Scripts design language but is fully customizable via the NUI HTML/CSS files if you want to match your server's branding.
Animations and Sound
Agency-Elevator plays a door-close animation and sound when a floor is selected, then smoothly teleports the player to the destination floor after a configurable delay. On arrival, the door-open sound plays and the panel disappears. All animation and sound timings are configurable in Config.lua so you can tune the feel to match your building's elevator speed.
Access Restrictions
Individual floors can be locked behind job checks (QBCore/ESX) or item checks. For example, you can restrict the penthouse floor of an apartment building to players who own the penthouse key item, or limit the server room floor to police/staff jobs. When a player tries to select a restricted floor without the required job or item, a notification is shown and the elevator does not move.
Configurable Trigger Zones
Each elevator trigger is defined by a 3D position and a radius. You can also optionally add a marker (blip) so new players can find the elevator on foot. Markers can be toggled off for servers that prefer a clean minimap.
Installation: Step-by-Step
Step 1 — Download Agency-Elevator
Head to the Tebex listing at agency-script.tebex.io/package/7285036 and add Agency-Elevator to your cart. It is FREE — just complete the checkout with a zero-total order. You will receive a download link through the Tebex delivery system (linked to your CFX account or provided as a direct download).
Step 2 — Place the Resource
Extract the downloaded archive and place the agency-elevator folder inside your server's resources directory (or a subfolder like resources/[scripts]/).
Step 3 — Add to server.cfg
Open your server.cfg and add the following line anywhere after your framework resource:
ensure agency-elevator
Step 4 — Configure Config.lua
Open agency-elevator/config/Config.lua and configure your elevators. See the section below for a full example. At minimum you need to set your framework and define at least one elevator with at least two floors.
Step 5 — Start the Server
Restart your server (or use refresh + start agency-elevator in the server console). Walk up to any elevator trigger zone in-game and the NUI panel should appear. Check the server console for any error messages if the panel does not appear — most issues are coordinate mismatches in the config.
Config.lua Example
Below is a representative example of the Agency-Elevator configuration. Adapt the coordinates to match your server's map and building interiors:
-- Agency-Elevator: Config.lua
Config = {}
-- Framework: "standalone", "qbcore", or "esx"
Config.Framework = "qbcore"
-- Show floor markers on the minimap
Config.ShowBlips = false
-- Default floor label shown when no floor is selected
Config.DefaultFloorLabel = "Select Floor"
-- Elevator transition delay in milliseconds (door close → teleport)
Config.TransitionDelay = 1500
-- Enable NUI debug mode (shows borders on the panel)
Config.Debug = false
-- Define your elevators
Config.Elevators = {
{
name = "Mission Row PD - Elevator",
-- Zone where players stand to call the elevator
trigger = { x = 441.6, y = -982.3, z = 30.7, radius = 1.5 },
floors = {
{ label = "Ground Floor", coords = { x = 441.6, y = -982.3, z = 30.7, h = 90.0 } },
{ label = "2nd Floor", coords = { x = 441.6, y = -982.3, z = 34.7, h = 90.0 } },
{ label = "3rd Floor", coords = { x = 441.6, y = -982.3, z = 38.7, h = 90.0 } },
{
label = "Roof Access",
coords = { x = 441.6, y = -982.3, z = 50.7, h = 90.0 },
-- Restrict to police jobs only
jobRestrict = { "police", "sheriff" },
},
},
},
{
name = "Alta Apartments - Elevator",
trigger = { x = -268.4, y = -955.8, z = 31.2, radius = 1.5 },
floors = {
{ label = "Lobby", coords = { x = -268.4, y = -955.8, z = 31.2, h = 0.0 } },
{ label = "Floor 2", coords = { x = -268.4, y = -955.8, z = 35.2, h = 0.0 } },
{ label = "Floor 3", coords = { x = -268.4, y = -955.8, z = 39.2, h = 0.0 } },
{
label = "Penthouse",
coords = { x = -268.4, y = -955.8, z = 48.0, h = 0.0 },
-- Restrict to players who own this item
itemRestrict = "penthouse_key",
},
},
},
}
Framework Compatibility
Setting Config.Framework = "standalone" makes Agency-Elevator run without any dependency on QBCore or ESX. Floor-selection and the NUI panel work perfectly in standalone mode; the only features that require a framework are the optional job and item restriction checks on individual floors. If you set Config.Framework = "qbcore" or "esx", the script loads the corresponding bridge to check player jobs and inventory items when a restricted floor is selected.
Documentation and Support
Full documentation — including all config options, coordinate tips, NUI customization, and FAQ — is available at docs.agencyg.de/elevator. If you run into issues, the TDYSKY Discord server is the fastest way to get support from the developer and the community.
Pricing: Completely Free
Agency-Elevator carries a price tag of FREE. There is no catch — no escrow lock, no subscription, no premium tier that unlocks hidden features. The full script with all features described in this article is available at zero cost. This is TDYSKY's way of giving back to the FiveM community while showcasing the quality of the Agency Scripts lineup. You get the same build quality and active maintenance as the paid scripts, at no expense whatsoever.
For context: many comparable elevator resources on the CFX forums are either unmaintained, closed-source, or charge several euros for functionality that Agency-Elevator provides for free. If you have been putting off adding elevators to your server because of cost or quality concerns, there is now no reason to wait.
Who Should Install Agency-Elevator?
Agency-Elevator is the right choice for any FiveM server that has:
- Multi-story interior buildings — hospitals, police stations, courthouses, office towers, apartment complexes, parking garages
- Serious RP communities that care about immersion and do not want players teleporting or using chat commands to change floors
- Any framework setup — QBCore, ESX, or fully custom standalone builds all work out of the box
- Servers on a budget — it costs nothing, so there is zero financial barrier to a polished elevator experience
Getting Started Now
The download is one click away. Visit the Tebex listing, complete the free checkout, drop the resource in your server, add ensure agency-elevator to your server.cfg, configure your floors, and you are done. The full setup typically takes less than 15 minutes for a single building. Detailed documentation at docs.agencyg.de/elevator walks you through every option if you need guidance.

