How to add new Furniture

This guide explains how to add new furniture to RTX Housing System.

Furniture configuration is located in:

configs/furniture.lua

You will usually update up to 3 sections:

  • Config.Furnitures (categories + subcategories + object lists)

  • Config.FurnitureData (price + interactable settings per object)

  • Config.StealableObjects (optional, robbery mode)

1

Add furniture to the menu (Config.Furnitures)

Config.Furnitures is the menu structure:

  • Category (example: bedroom, kitchen)

  • Subcategory (example: beds, wardrobes)

  • Objects (list of spawnable props)

Category structure:

  • label → name shown in UI

  • icon → FontAwesome icon (example: fa-bed)

  • idunique number (also the order in the menu)

  • subcategory → table of subcategories

circle-info

ID rules:

  • id must be unique

  • id controls the display order (1 = first category, 2 = second, ...)

Subcategory structure:

  • label → name shown in UI

  • objects → list of furniture objects

circle-info

Key rules:

  • Category key (example ["bedroom"]) must be unique

  • Subcategory key (example ["beds"]) must be unique inside the category

  • Use object model names, not hashes

chevron-rightExample: Category + Subcategories (click to expand)hashtag
2

Create a NEW category

To create a new category:

  • Choose a unique key (example: office)

  • Choose a new unique id (example: next number after your last category)

  • Add subcategories

chevron-rightExample: New category "Office" (click to expand)hashtag
["office"] = {
    label = "Office",
    icon = "fa-briefcase",
    id = 10, -- unique + order
    subcategory = {
        ["desks"] = {
            label = "Desks",
            objects = {
                {object = "v_res_mddesk"},
                {object = "xm_prop_x17_desk_01a"},
            },
        },
        ["chairs"] = {
            label = "Office Chairs",
            objects = {
                {object = "prop_off_chair_04b"},
                {object = "prop_off_chair_05"},
            },
        },
    },
},
3

Add furniture into an existing subcategory

To add a new prop into an existing subcategory, add a new object entry.

✅ Use model name:

{object = "prop_tv_stand_01"},

❌ Do NOT use hash:

{object = 123456789}
4

Add furniture settings (Config.FurnitureData)

Config.FurnitureData controls:

  • price

  • whether the object is interactable

  • what interactabletype it is

  • what text is shown for interaction (interactabletext)

Interactable types:

  • storage

  • sink

  • wardrobe

  • safe

  • camera

  • solar

  • bathtub

circle-info

Index rule: The index/key in Config.FurnitureData is the object model name.

chevron-rightExample: FurnitureData entry (click to expand)hashtag
Config.FurnitureData = {
    ["prop_tv_stand_01"] = {
        price = 250,
        interactable = false,
    },

    ["v_res_m_armoire"] = {
        price = 500,
        interactable = true,
        interactabletype = "wardrobe",
        interactabletext = "Open Wardrobe",
    },

    ["prop_ld_int_safe_01"] = {
        price = 1500,
        interactable = true,
        interactabletype = "safe",
        interactabletext = "Open Safe",
    },
}

Tips:

  • If the object is not interactable, set:

    • interactable = false

  • If it is interactable, choose a valid interactabletype and set a short UI text.

5

Make furniture stealable (Robbery Mode)

To make an object stealable, add it to:

Config.StealableObjects
circle-info

Index rule: The index/key is the object model name.

Fields:

  • sellprice → money player gets after selling

  • inhand → if true, object is carried in hand when stolen

chevron-rightExample: StealableObjects entry (click to expand)hashtag
Config.StealableObjects = {
    ["prop_tv_stand_01"] = {sellprice = 200, inhand = true},
    ["v_res_m_armoire"] = {sellprice = 350, inhand = false},
}
6

Restart & test

Restart the resource:

restart rtx_housing
  1. Enter a property and open the furniture menu

  2. Verify:

  • category order is correct (by id)

  • furniture spawns properly

  • interactables work (wardrobe/storage/safe etc.)

  • stealable objects work in robbery mode (if enabled)

circle-exclamation

Need help?

If you want, we can add the furniture for you (category + data + robbery). Contact us on Discord: https://discord.gg/rtxdev

Last updated