RP Works Modding Docs
DocsStore
  • โฑ๏ธGetting Started
  • โ“Frequently Asked Questions
  • ๐ŸŒFiveM Resources
  • ๐ŸšจFiveM Lighting System [FLS]
  • ๐Ÿ“FLS Pattern Designer
  • โ˜๏ธDynamic Weather System
  • ๐Ÿ“นFree Camera Mode
  • ๐ŸฅŽHold and Throw
  • ๐ŸงจFlashbang
  • ๐Ÿš’BA Board
  • ๐Ÿ”ZoneCues [COMING SOON]
  • ๐Ÿง SceneAI [Coming Soon]
  • ๐Ÿ”‘Trakka Key Management [Coming Soon]
Powered by GitBook
On this page
  • ๐Ÿงฑ How to Install
  • ๐Ÿ”ง Features
  • ๐Ÿ“œ Commands
  • ๐ŸŽฎ Keybind
  • โš™๏ธ Config (config.lua)
  • ๐Ÿงฉ Exports
  • ๐Ÿช Events & Callbacks
  • ๐Ÿ’ก Tips
  • โ“ Frequently Asked Questions

Hold and Throw

DH_Throw is a lightweight, standalone FiveM resource that lets players spawn, hold, throw, and pick up predefined objects with immersive animations and interaction.

PreviousFree Camera ModeNextFlashbang

Last updated 1 month ago

๐Ÿงฑ How to Install

Follow instructions in

๐Ÿ”ง Features

  • โœ… /hand [object] to spawn a predefined prop in hands

  • โœ… /throw command or keybind (default G) to throw the object

  • โœ… Realistic throw physics from hand or vehicle window

  • โœ… [E] Pickup interaction hint when near a thrown object

  • โœ… Modular config to enable/disable features

  • โœ… Scaleform hints with keybind awareness

  • โœ… Full export & event support for other resources

  • โœ… Fully client-side and framework-independent

๐Ÿ“œ Commands

Command
Description

/hand object

Spawns a prop from the config into your hand

/hand

Cancels current held object or shows usage

/throw

Throws the held object in a random direction

๐ŸŽฎ Keybind

Action
Default
Can Rebind In Settings?

Throw Object

G

โœ… Yes

To rebind, go to Settings โ†’ Key Bindings โ†’ FiveM โ†’ Throw Held Object

โš™๏ธ Config (config.lua)

๐Ÿ”น Predefined Objects

Config.Objects = {
    waterbottle = { label = "Water Bottle", model = "prop_ld_flow_bottle" },
    brick       = { label = "Brick",        model = "prop_brick_01" },
    toolbox     = { label = "Toolbox",      model = "prop_tool_box_04" }
}

๐Ÿ”น Global Settings

Config.Settings = {
    AllowInVehicle       = true,   -- Allow throwing from vehicles
    ForceUnarmed         = true,   -- Forces player to be unarmed while holding
    BlockMelee           = true,   -- Prevents melee while holding
    BlockAiming          = true,   -- Disables aiming and shooting
    ShowThrowHint        = true,   -- Scaleform hint [G] Throw Object
    ShowAvailableObjects = true    -- Show object list if /hand has no args
}

Config.PickupKey = 38 -- [E] to pick up

๐Ÿงฉ Exports

๐Ÿงช Check if player is holding something

exports["DH_Throw"]:IsPlayerHoldingObject() then ... end

๐Ÿ“ฆ Get current held object

name = exports["DH_Throw"]:GetHeldObjectName()
local entity = exports["DH_Throw"]:GetHeldObjectEntity()

โŒ Remove the held object

exports["DH_Throw"]:RemoveHeldObject()

๐ŸŽ Set an object via code (same as /hand)

exports["DH_Throw"]:SetHeldObject("brick")

๐Ÿช Events & Callbacks

๐Ÿ”” DH_Throw:ObjectPickedUp

Triggered when any object is picked up:

AddEventHandler("DH_Throw:ObjectPickedUp", function(objectName, netId, entity)
    print("Picked up:", objectName)
end)

๐Ÿ” RegisterOnObjectPickup(callback)

Alternative method for pickup detection:

exports["DH_Throw"]:RegisterOnObjectPickup(function(objectName, netId, entity)
    -- custom logic
end)

๐Ÿ’ก Tips

  • All objects thrown are synced and visible to all players

  • Throw direction is random when on foot, or based on seat position in vehicles

  • Melee, aiming, and weapon switching can all be disabled via config

  • Fully expandable โ€” drop in new objects, add sounds, integrate with inventory

โ“ Frequently Asked Questions

Can I add my own objects?

Yes! Just add them to the Config.Objects table in config.lua:

brick = { label = "Brick", model = "prop_brick_01" }

Can players hold more than one object at a time?

No โ€” the script is designed so a player can only hold one object at a time. Calling /hand again will replace the current one.

Does this work inside vehicles?

Yes! If Config.Settings.AllowInVehicle = true, players can throw objects out of the left or right window based on seat position.

Can I integrate this with my inventory syste, (OX/QS/etc)?

Absolutely. Use the export:

exports["DH_Throw"]:SetHeldObject("toolbox")

โ€ฆand combine it with inventory checks or item usage in your own code.

Players are geting a warning: GetNetworkObject: no object by ID - What's up?

This means a player tried to pick up an object that no longer exists, and it's completely harmless.

Youโ€™ll need the correct prop model name. Use tools like CodeWalker or to find them.

Getting Started
plebmasters
๐ŸฅŽ
Page cover image