ESX • QBCore • Qbox compatible
Instant download
Updates included
Discord support
Secure checkout

Advanced Vehicle Trunk

Resource folder: gs_advancedtrunk

View product

Installation Instructions for Advanced Vehicle Trunk

Follow these steps to install and configure gs_advancedtrunk on your FiveM server.

  1. Download the Resource
    • Go to portal.cfx.re
    • Navigate to Assets > Granted Assets > gs_advancedtrunk
    • Download the resource
  2. Extract the Files
    • Open the downloaded .zip file
    • Inside, you'll find a folder named gs_advancedtrunk
    • Move the entire gs_advancedtrunk folder into your desired server resources folder (e.g., /resources/[scripts])
  3. Add to Server Configuration
    • Open your server.cfg
    • Add the following line:
      ensure gs_advancedtrunk
  4. Restart the Server
    • Restart your FiveM server (Important!)
  5. Configure the Script (Optional)
    • Navigate to gs_advancedtrunk/config.lua
    • Edit the configuration options to fit your server's needs

Additional documentation

Props not spawning in the trunk?

The script detects most methods of vehicle spawning, automatically creating the right props for the vehicles. But there is 1 method that the script cannot detect, this is CreateVehicleServerSetter. If your script uses this native, you will need to add an export to spawn the trunk props:

exports.gs_advancedtrunk:AddTrunkProps(vehicle)

Known frameworks/scripts with this issue

Below are some of the most popular frameworks/scripts that use this method of spawning. Do you use a different script that is not mentioned below, and are the props not spawning automatically? Simply search for CreateVehicleServerSetter and add the export after the vehicle is spawned.

ESX

Go to es_extended\server\modules\onesync.lua and search for CreateVehicleServerSetter (should be around line 107), then add the following below line 124:

exports.gs_advancedtrunk:AddTrunkProps(createdVehicle)

QB-Core:

Go to qb-core\server\functions.lua and search for CreateVehicleServerSetter (should be around line 391), then add the following around line 393:

exports.gs_advancedtrunk:AddTrunkProps(veh)

Qbox:

Go to qbx_core\modules\lib.lua and search for CreateVehicleServerSetter (should be around line 315), then add the following around line 381:

exports.gs_advancedtrunk:AddTrunkProps(veh)

txAdmin:

Go to server-folder\citizen\system_resources\monitor\resource\menu\server\sv_vehicle.lua (or txAdmin\resource\menu\server\sv_vehicle.lua in some cases) and search for CreateVehicleServerSetter (should be around line 82), then add the following around line 93:

exports.gs_advancedtrunk:AddTrunkProps(newVeh)

Is this a storage trunk or inventory stash?

No. Advanced Trunk is not a traditional stash. It spawns interactive props inside the trunk (cones, weapons, equipment) that players select to take items or place gear on the ground. Actions can be used repeatedly by default. Players cannot put items back into the trunk unless you customize the bridge code yourself.

What do I need to run this script?

You need a target system: ox_target or qb-target. A framework is optional. On vMenu or standalone servers without an inventory, trunk props still work, but actions that give inventory items will not add real items to a player inventory.

Can I use custom props?

Yes. Any valid GTA prop model works. The script spawns its own props; it cannot make existing baked-in vehicle trunk visuals interactive. You can position spawned props to line up with the vehicle's built-in trunk look.

The trunk opens but no props appear. What is wrong?

This is the most common issue. The script auto-detects most vehicle spawn methods, but not CreateVehicleServerSetter. If your garage, dealership, or spawn script uses that method, add this server export right after the vehicle is created:

exports.gs_advancedtrunk:AddTrunkProps(vehicle)

Props may work with /car but fail from a garage until this export is added to the garage spawn code.

Props work from `/car` but not from my garage

Garage scripts (jg-advancedgarages, vms_garagesv2, qs-advancedgarage, wasabi_ambulance, and similar) often spawn vehicles in a way the script cannot hook automatically. Add exports.gs_advancedtrunk:AddTrunkProps(vehicle) in the garage script's server-side vehicle spawn function.

Props only appear sometimes, or only on certain vehicles

Try these checks:

  • Temporarily disable the global job gate (Config.Target.Trunk.GlobalJobRequirement.Enabled = false) to rule out job restrictions.
  • Make sure the vehicle model is listed in Config.Vehicles and has a matching trunk layout in Config.Trunks.
  • Update to the latest script version. Older builds had timing issues with driver detection.
  • Confirm the server export is called after every spawn path, not just admin commands.

I get "You don't have the right job" when using the trunk

Each prop action can have its own job list in Config.Trunks. There is also a global job gate in Config.Target.Trunk.GlobalJobRequirement. Make sure your job names match your framework exactly.

Debug commands like `/toggle_trunk` do nothing

Debug mode is for building trunk layouts, not normal gameplay. Set Config.Debug = true, restart the script, sit inside the vehicle, then use the debug commands. For normal use, open the physical trunk door through target first.

Addon vehicles have missing or misplaced trunk props

Addon cars sometimes lack a proper bumper_r bone. Try chassis or boot instead and reposition props using debug mode. Add the vehicle model to Config.Vehicles and assign or create a trunk layout in Config.Trunks.

Can I adjust the trunk camera for a specific vehicle?

Yes. Use Config.AdditionalCameraOffsets in config.lua to tweak the camera view per vehicle model.

Players get banned or blocked for spawning disallowed items

If your server logs something like "tried to spawn a disallowed item," add those items to the allowlist in server/sv_config.lua, or review SVConfig.EnableItemCheck. Disabling the check is possible but not recommended because it weakens protection against abuse.

Can players take an item and put it back in the trunk?

Not by default. The stock behavior only gives items or spawns props. To toggle give/remove behavior (for example a broom in and out), customize Functions.GiveItem in bridge/sv_bridge.lua.

Can props be invisible but still selectable?

Yes. A per-prop ForceInvisible = true option exists for cases where you want selection without a visible prop. Invisible props still need a valid hitbox and should be first in line of sight for mouse selection. Config.HighlightMode = 'lightup' is another option.

I cannot click a custom prop with the mouse

The prop model likely has broken or missing collision. Test spawning the prop on its own in the world. As a workaround, set Config.UseKeyboardForSelection = true.

Can built-in vehicle parts like ladders be made interactive?

No. Only separately spawned entities can be targeted. Built-in vehicle mesh parts are part of the vehicle model, not standalone entities.

Trunk props are left on the ground when a vehicle is deleted or stored

Call this export before the vehicle is removed:

exports.gs_advancedtrunk:RemoveTrunkProps(entity)

If props still linger, your garage delete function may bypass the normal entity removal flow. Remove any old manual gs_advancedtrunk:ResetTrunk snippets from garage scripts; they are no longer needed.

Can I trigger another script when a player takes something from the trunk?

Yes. Prop actions in config can call exports. For advanced behavior (such as spike strips or shields), you can override SpawnPropOnGround in a custom client file loaded last in fxmanifest.lua.