How to add new Furniture
This guide explains how to add new furniture to RTX Housing System.
Furniture configuration is located in:
configs/furniture.luaYou 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)
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 UIicon→ FontAwesome icon (example:fa-bed)id→ unique number (also the order in the menu)subcategory→ table of subcategories
ID rules:
idmust be uniqueidcontrols the display order (1 = first category, 2 = second, ...)
Subcategory structure:
label→ name shown in UIobjects→ list of furniture objects
Key rules:
Category key (example
["bedroom"]) must be uniqueSubcategory key (example
["beds"]) must be unique inside the categoryUse object model names, not hashes
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
Example: New category "Office" (click to expand)
["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"},
},
},
},
},Add furniture settings (Config.FurnitureData)
Config.FurnitureData controls:
pricewhether the object is
interactablewhat
interactabletypeit iswhat text is shown for interaction (
interactabletext)
Interactable types:
storagesinkwardrobesafecamerasolarbathtubkitchen
Index rule: The index/key in Config.FurnitureData is the object model name.
Example: FurnitureData entry (click to expand)
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
interactabletypeand set a short UI text.
Make furniture stealable (Robbery Mode)
To make an object stealable, add it to:
Config.StealableObjectsIndex rule: The index/key is the object model name.
Fields:
sellprice→ money player gets after sellinginhand→ if true, object is carried in hand when stolen
Common mistakes:
Duplicate category
id(menu order breaks)Duplicate keys (category/subcategory overrides previous one)
Using an object name that does not exist (prop won’t spawn)
Using hash instead of model name
Forgetting to add
Config.FurnitureDataentry (price/interactions missing)
How to add furniture images
Furniture images are stored in:
rtx_housing/html/img/furnitures
You have two options:
1) Add image manually
Add
.webpimage with the same name as the objectExample:
2) Use in-game screenshot tool (recommended)
Enable in config:
Commands
Generate all furniture images:
Generate single furniture image:
Example:
Warning
Generated images are saved to:
rtx_housing/imagesMove them into:rtx_housing/html/img/furnituresScreenshot tool is for development only. Disable it on live server.
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