Player Kidnap System
Kidnap System is a cinematic kidnapping resource for FiveM, built to work with any framework. It gives you two ways to kidnap a player and three cinematic scenes that play out in sync for everyone involved, including anyone nearby who happens to be watching.
Framework integration is left open on purpose. The files handling access checks aren’t escrowed, so you can wire them into whatever permission system your server already runs — jobs, gangs, ACE, staff whitelist, whatever fits.
Two ways to kidnap
Force Kidnap is built for speed. Run /force_kidnap, drop a ghost van wherever you want the player delivered, then enter their ID and pick a scene. The kidnap plays out at the target’s current position no matter where they are on the map, and moments later the van shows up at your chosen spot with them inside. No driving, no searching.
Normal Kidnap is the hands-on version. You need to be in one of the designated van models. Run /kidnap, pick a scene, and a marker will appear over nearby players so you can scan through them with your camera and lock onto a target. A ghost van then shows you exactly where and how to line up your real vehicle for the scene. Once you confirm, you become one of the kidnappers yourself and carry out the whole thing in person.
The scenes
Beat Kidnap has two kidnappers approach from the van and drop the target with a punch before pulling them in. Grab Kidnap has them come out the back doors instead, one holding them open while the other grabs the target and throws them inside. Final Drop plays whenever a kidnap ends, showing the player waking up inside the van and climbing back out.
All three are synced across everyone nearby. The kidnapper and the kidnapped player see it through a dedicated cinematic camera, but bystanders who happen to witness it see the same scene from their own normal viewpoint, not the cinematic one.
While they’re in the van
Once attached to the van, the kidnapped player is locked into a pass-out animation with no control over their character. What they actually see during this is up to you — the config lets you keep their vision clear, blur it, or black it out, and you can disable their controls entirely.
Release is entirely up to the kidnapper, triggered at any point. And in case something goes wrong, there’s a built-in failsafe: if the kidnapper disconnects, drives too far away, or the van gets deleted for any reason, the kidnapped player is automatically freed rather than left stuck.
Requirements
- FiveM, standalone, no framework required
- ox_lib
Client Config:
Config = { Models = {}, Commands = {}, Prompt = {}, KidnappedVision = {} }
---------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------- Commands Settings -------------------------------------------------------------------
Config.Commands.NormalKidnap = "kidnap" -- Command to start a Normal Kidnap, must be the driver of an allowed kidnap van
Config.Commands.ForceKidnap = "force_kidnap" -- Command to start a Force Kidnap, place a drop-off location and target a player by ID
---------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------- Models Settings --------------------------------------------------------------------
Config.Models.KidnapVan = "gburrito" -- The vehicle model used to spawn the van during Force Kidnap
Config.Models.AllowedVans = { "burrito", "burrito2", "burrito3", "burrito4", "burrito5", "gburrito", "gburrito2" } -- List of vehicle models allowed to be used as the kidnap van for Normal Kidnap
Config.Models.Kidnapper1 = "G_M_Y_Lost_01" -- Ped model for the first kidnapper in the cinematic scenes
Config.Models.Kidnapper2 = "G_M_Y_Lost_02" -- Ped model for the second kidnapper in the cinematic scenes
---------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------- Prompts Settings --------------------------------------------------------------------
Config.Prompt.Side = "right" -- Which side of the screen the interaction prompt is displayed on, "right" or "left"
Config.Prompt.PosLeft = 64 -- Prompt horizontal offset from the left edge, in pixels (used when Side is "left")
Config.Prompt.PosRight = 64 -- Prompt horizontal offset from the right edge, in pixels (used when Side is "right")
Config.Prompt.PosBottom = 64 -- Prompt vertical offset from the bottom of the screen, in pixels
---------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------- Kidnapped Vision Settings ------------------------------------------------------------------
Config.KidnappedVision.Blur = true -- "true": apply a screen blur effect while the player is kidnapped | "false": no blur applied
Config.KidnappedVision.Darkness = true -- "true": darken the kidnapped player's screen while attached to the van | "false": no darkness applied
Config.KidnappedVision.DarknessValue = 0.96 -- Darkness intensity, from 0.0 (no darkness) to 1.0 (fully black)
Config.KidnappedVision.DisableControls = true -- "true": kidnapped player has no control while attached to the van | "false": player keeps control of their character
---------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------- Translations ----------------------------------------------------------------------
-- Every label, prompt, button, and notification text used across the resource, all editable here for easy translation
Config.Translations = {
['kidnap_system'] = "Kidnap System",
['force_kidnap_van_spawner'] = "Force Kidnap Van Spawner",
['force_kidnap_player'] = "Force Kidnap Player",
['player_id'] = "Player Id",
['kidnap_scene'] = "Kidnap Scene",
['beat_scene'] = "Beat Scene",
['grab_scene'] = "Grab Scene",
['kidnap_player'] = "Kidnap Player",
['kidnap_player_id'] = "Kidnap Player ID: %s",
['locked_player_id'] = "Locked at Player ID: %s",
['drop_player'] = "Drop Player at Your Location",
['back'] = "Back",
['cancel'] = "Cancel",
['confirm'] = "Confirm",
['drop_here'] = "Drop Here",
['lock_on_player'] = "Lock on player",
['notif_title'] = "Kidnap System",
['notif_invalid_id'] = "Invalid Player Id",
['notif_no_vehicle'] = "You're not in any vehicle",
['notif_invalid_vehicle'] = "You can't kidnap using this vehicle",
['notif_driver_seat'] = "You must be in drive seat",
['notif_invalid_scene'] = "Invalid kidnap scene",
['notif_target_offline'] = "Target Player Offline",
['notif_cant_self_kidnap'] = "You Can't kidnap yourself",
['notif_already_in_scene'] = "Player is already in a scene",
['notif_appearance_error'] = "Couldn't get player appearance",
['notif_vehicle_node_error'] = "Couldn't get player vehicle node",
['notif_no_access_command'] = "You don't have access to this command",
['notif_player_is_arriving'] = "Target player is arriving in few seconds",
['notif_player_has_arrived'] = "Target player has arrived",
}
Client Config:
---------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------- Webhook Logs ----------------------------------------------------------------------
Config.WebhookLog = "POST_WEBHOOK_HERE" -- Webhook for logs
Preview: Youtube Link
Buy it here: Tebex Link ($13.99 + Tax)
| Code is accessible | Config, framework access files |
| Subscription-based | No |
| Lines (approximately) | 2800 |
| Requirements & dependencies | ox_lib |
| Support | Yes |
