
Description
A player carry script that gets corpse carrying right: the body actually drops to the ground when you put it down, and your hunger or bleed-out system will not kill it a second time while it is being carried.
The server decides everything. Players cannot carry someone across the map or pull a body out of the hands of a carrier who is still standing. Free, nothing else to install.
Features
- [+] Easy to set up: tune everything in the config, or change it from the web
- [+] Carry bodies instantly, no consent: drag a teammate out of the line of fire
- [+] Steal bodies: shoot the carrier down and the body drops from their hands
- [+] Fireman carry and piggyback, with consent required first
- [+] Police, EMS and admins carry without asking; set jobs and groups yourself
- [+] Bodies never die twice, and fall to the ground properly when put down
- [+] No driving off with a body: getting into a vehicle drops it
- [+] Set carry range, max distance and an anti-spam cooldown
- [+] Add your own carry styles in the config; menu and key binds are generated
- [+] Thai-first menu with a bundled Thai font, scales with screen resolution
- [+] Runs on ESX and standalone, no ox_lib needed
- [+] Hook your own scripts in at addons/
Carry bodies, steal bodies — built for gang cities
- Bodies can be picked up without asking. Anyone can lift a downed player: drag a teammate out of the line of fire, or take the other side's body before their medic or friends get there
- Win the body back in a fight. Shoot the carrier down and the server drops the body within 2 seconds, ready for your side to pick up
- No shortcuts. Nobody can pull a body out of the hands of a carrier who is still standing, and nobody can drive off with one: getting into a vehicle drops the body
- However many times a body changes hands, it never dies a second time and still falls to the ground properly when put down
Three carry styles
| Style | Works on | Consent required |
|---|---|---|
| Carry Corpse | Unconscious players only | No |
| Fireman Carry | Living players only | Yes |
| Piggyback | Living players only | Yes |
The menu picks the nearest player the chosen style can actually be used on — pick Carry Corpse and it finds a body, pick Piggyback and it finds someone alive.
Police, EMS and admins carry without asking, and the carried player cannot struggle free. Anyone who consented can break free whenever they want.
Add your own styles in config.lua — the menu entry and the key binding are generated for you.
Corpse carry — where other scripts get it wrong
GTA cannot play animations on a dead ped, so every corpse carry script has to fake-revive the body first and then play a corpse animation over it. That window, where the body is not really dead yet, is exactly where other systems tend to kill it again.
x3d_carry guards it in two layers, plus a hook for other systems:
- Damage immunity while carried — bullet, fire and explosion proof
- Health restored on a timer — layer one cannot stop another script setting health directly to zero, so this checks and restores it immediately (interval in
Config.Corpse.guardInterval) - Hook for hunger/thirst systems —
Framework.OnCorpseCarried()inaddons/framework/extra_client.luais left empty for you; put your server's hunger and thirst top-up there
On release everything is restored, ragdoll is re-enabled before health is set to zero. That order is the reason the body falls instead of standing stiff.
Checked on the server
Distance, vehicles, health, permissions and consent are all re-validated on the server. The client can only ask.
A server watchdog runs every 2 seconds and releases the pair automatically when they drift out of range, enter a vehicle, die or drop from the server.
Thai-first UI that scales with resolution
The menu is Vue 3 + Nuxt 4 with the Thai font bundled, so Thai text renders properly instead of the boxes you get from GTA's native text.
The menu scales with screen resolution, so there is no manual tuning.
The menu never takes the mouse. It is driven by the arrow keys, Enter and Backspace, so play continues while it is open.
Nothing else to install
No ox_lib, no database. Drop it in, ensure it, and it runs on ESX and standalone.
If your server already has esx_notify or ox_lib, notifications route through them automatically. If not, the script uses its own card.
Everything that touches a framework lives in addons/, one concern per file, so editing one file connects it to your own systems.
Hooks for other scripts
IsCarried, IsCarrying, StopCarry and IsFakeAlive. The last one exists so hunger, thirst and bleed-out systems can skip a body that is currently being carried.
Genuinely free, source included
The game-side source is fully readable and editable, with no licence and no expiry. Just do not resell it or re-upload it under your own name.
Version history
- 1.1.3 — Released 13/10/2026 00:22
- 1.1.1 — Released 12/10/2026 10:24
- 1.0.0 — Released 16/09/2026 20:51
Related scripts

- Updated
X3D Map Events
Free event panel on the pause-menu map: name + countdown, click to set a waypoint. Other scripts push events like notifications; admins can create their own.

- Updated
X3D Weapon Skins
Free collectible ESX weapon skins: each skin is an add-on weapon tied to its base gun. Unlock with an item, same damage, tradable, held-weapon effects.

- Updated
X3D Damage
Set every weapon's damage yourself, with bleed, slow, stun, knockdown and lifesteal effects. Weapon skins supported. ESX or standalone.

- Updated
X3D Safe Cracking
A dial-cracking minigame: turn with A and D, press E on the notch. One export, no dependencies.
Posts that cover this script
- 16/09/2026
FiveM Scripts Explained: Types, ESX vs QBCore vs Standalone, and How to Choose
Read more - 15/09/2026
How Much Does It Cost to Open a FiveM Server, and What Do You Need? From 32 Players to a 2,000-Player City (2026)
Read more - 18/09/2026
27 Free FiveM Scripts From the Developer: Weapon Skins, Weapon Damage, ESX Inventory, Vaults, Admin Panel and More
Read more



