RDE_PLACEABLE_ITEMS DOCS
RED DRAGON ELITE // PROPERTY & WORLD · ALPHA

Weapons Come Back
Exactly As You Left Them.

rde_placeable_items lets players remove any ox_inventory weapon from their inventory and physically wall-mount or floor-place it, persisted across server restarts. Pick it back up and get 100% of the original metadata — ammo, skin, components, serial, durability.

01 / Start Here

Overview

50+ GTA V weapons pre-configured out of the box, admins get a full CRUD panel, permanent respawn toggle (TSRP-style weapon racks), and per-item ox_target options with entity-tight 0.3m zones so adjacent wall-mounted weapons never overlap.

Core Principle The entire ox_inventory metadata object is captured at placement time — ammo count and tint are live game-state overrides, components/serial/durability come from the stored array — and restored in full on pickup.

Why this over typical placeable scripts

Typical Placeable Scriptsrde_placeable_items
Wall-mount modeToggle with rotation + tilt + height
Metadata preservationAmmo, skin, tint, components, serial, durability
Permanent respawn (weapon racks)Admin toggle, configurable delay
Proximity loadingRender-distance based, zero idle overhead
02 / Start Here

Quick Start

server.cfg
ensure oxmysql
ensure ox_core
ensure ox_lib
ensure ox_inventory
ensure ox_target
ensure rde_placeable_items

Copy the entries from data/ox_inventory_items.lua into your ox_inventory items.lua — this adds the client.export hook that triggers the Equip/Place menu without replacing the normal equip behavior. Equip a weapon → press F3 → select Place.

03 / Reference

Metadata Preservation

FieldPreserved
Ammo count✅ live game-state override
Weapon tint / skin index✅ live game-state override
Components (attachments)✅ stored array, hashes pre-filtered per weapon
Serial number / durability
04 / Reference

Placement Controls

KeyAction
LMB / ENTERConfirm placement
WToggle Wall / Floor mode
← → / ↑ ↓Rotate Z / tilt X
ScrollAdjust height
05 / Reference

Adding New Items

config.lua
Config.PlaceableItems['your_item_name'] = {
    label         = 'My Item',
    model         = 'prop_some_model',
    category      = 'item',   -- 'weapon' | 'item' | 'prop'
    isWallAllowed = false,
    weight        = 500,
}
06 / Reference

Known Limitations

VARMOD skin components Weapon skin variants using COMPONENT_*_VARMOD_* (e.g. Pearl Weapon Kit) do not render visually on world weapon objects — a GTA V engine limitation affecting all FiveM resources using this native, not specific to this script. The skin is stored and restored correctly on pickup regardless.
Component visibility delay after restart Weapon attachments may not visually appear for the first 1–2 seconds after a fresh join, while the asset streaming pipeline is still active. All metadata is preserved correctly regardless of visual state.
07 / More

Common Pitfalls

F3 opens context menu but placing does nothing

The item's client.export in ox_inventory's items.lua must match the pattern rde_placeable_items.use_ITEMNAME, uppercase for weapon items to match GTA V's weapon hash format.

Fix: verify the export string exactly matches the pattern.

Weapon comes back without ammo

Ammo is restored via an event fired after AddItem — if the weapon isn't equipped immediately, this can look like ammo loss.

Fix: equip the weapon after pickup — the ammo count will be correct.

08 / More

FAQ

Can anyone pick up a placed weapon?

Only the original placer or an admin — a different character needs an admin to delete/re-place or pick up on their behalf.

Is this stable enough for production?

It's tagged Alpha — core placement and metadata preservation are solid, but this is an early release. Check the Known Limitations section before deploying to a live server.

09 / More

Changelog

v1.0.0-a

Initial alpha release — wall-mount/floor placement, full metadata preservation, 50+ pre-configured weapons, admin CRUD panel, permanent respawn.