Advanced Drone
Resource folder:
gs_drone
Installation Instructions for Advanced Drone
Follow these steps to install and configure
gs_drone on your FiveM server.
-
Download the Resource
- Go to portal.cfx.re
-
Navigate to Assets > Granted Assets >
gs_drone - Download the resource
-
Extract the Files
-
Open the downloaded
.zipfile -
Inside, you'll find a folder named
gs_drone -
Move the entire
gs_dronefolder into your desired server resources folder (e.g.,/resources/[scripts])
-
Open the downloaded
-
Add to Server Configuration
- Open your
server.cfg -
Add the following line:
ensure gs_drone
- Open your
-
Restart the Server
- Restart your FiveM server (Important!)
-
Configure the Script (Optional)
- Navigate to
gs_drone/config.lua - Edit the configuration options to fit your server's needs
- Navigate to
Additional documentation
If you want to use the screenshot functionality, you have to install the following resources:
Add the following items to your ox_inventory/data/items.lua
file:
['drone'] = {
label = 'Drone',
weight = 500,
server = {
export = 'gs_drone.drone',
},
},
['emergencydrone'] = {
label = 'Emergency Drone',
weight = 500,
server = {
export = 'gs_drone.emergencydrone',
},
},
Execute the following SQL query to add the items to the database:
INSERT INTO
`items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES
('drone', 'Drone', 1, 0, 1);
INSERT INTO
`items` (`name`, `label`, `weight`, `rare`, `can_remove`)
VALUES
('emergencydrone', 'Emergency Drone', 1, 0, 1);
Add the following items to your qb-core/shared/items.lua
file:
['drone'] = {
['name'] = 'drone',
['label'] = 'Drone',
['weight'] = 500,
['type'] = 'item',
['image'] = 'drone.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
},
['emergencydrone'] = {
['name'] = 'emergencydrone',
['label'] = 'Emergency Drone',
['weight'] = 500,
['type'] = 'item',
['image'] = 'emergencydrone.png',
['unique'] = false,
['useable'] = true,
['shouldClose'] = true,
['combinable'] = nil,
},
What does the drone do by default?
Players spawn a flyable drone from an inventory item. The default setup takes a picture and copies the URL to the clipboard. Battery life, flight range, health, and HUD details are all configurable. Emergency variants can include night vision and thermal camera options.
Does the drone work without ESX or QBCore?
It ships with ESX and QBCore support, but standalone use is possible with small bridge and config changes. Framework-related logic lives in the bridge files.
The drone item does not work but the command does
This is usually an inventory setup issue. For QBCore, add the drone items to qb-core/shared/items.lua using the correct format for qb-core, not a direct copy of ox_inventory snippets. For ox_inventory, make sure the item export matches the name configured in the drone config.
I get "No such export emergencydrone in resource gs_drone"
The ox_inventory export must match the item names in your drone config. If you renamed items to something like swatdrone, update both the inventory definition and the config so they stay in sync.
Screenshots fail with a fivemanage or fmsdk error
Screenshot capture needs both fivemanage SDK and screenshot-basic installed. Check the install README in the drone resource for the exact dependencies.
Players get "not allowed" even with the right job configured
If you use a custom job system such as sfjob, the default ESX job check may read the wrong job. Override Functions.CanUseDrone in the server bridge to pull job data from your job resource.
Only one job works when I added multiple jobs
Put all allowed jobs in a single table, for example jobs = { ['police'] = 0, ['sheriff'] = 1 }. Using two separate job tables will cause only the first one to work.
WASD or vertical controls feel wrong on Qbox
Key mappings can conflict with other resources. Replace the control keys in config with values that work on your server and test with more than one player online.
Can the drone be steered with the mouse?
No. Movement uses configured keys. The mouse is reserved for on-screen buttons in the drone UI.
How does battery recharge work?
Battery recharges automatically after the player exits or disconnects from the drone. Recharge time is configurable. Battery carries over between drones by design to prevent abuse. Set recharge time to 0 if you want instant recharge.
Why does the drone get destroyed when I disconnect?
If you disconnect while still flying, the drone is destroyed. Fly back to your player first, then disconnect if you want to keep it. Auto fly-back was considered but is not included.
I get "exceeded distance" when placing the drone
This is often caused by anti-cheat blocking prop spawns, not by flyRange alone. Check your anti-cheat entity and prop rules if increasing range does nothing.
My character moves or drowns while piloting the drone
Your character should stay in place during drone use. If they move, another player may be pushing them, or another script may be interfering. Custom voice-at-character-position behavior is not included in the encrypted version.
Can I hide my server HUD while using the drone?
Yes. Listen for the drone spawn and delete events, or use the player state bags set by the script, to toggle your HUD on and off.
How do I enable thermal vision on a drone?
Thermal is set per drone in config under components['thermal'] = true for each drone entry. There is no single global thermal toggle.
The script stopped working after I edited config
A missing comma in config.lua can break the entire config with no obvious F8 error. Also keep the resource folder named gs_drone because ox_inventory exports reference that resource name.
Does the script block cheaters from spawning drones?
Yes. Server-side checks verify the required item and job before a player can use a drone.