Skip to content

🏠 Build my Home ​

Documentation relating to the spooni_build_my_home.

1. Installation ​

spooni_build_my_home works only with VORP, RSG & RPX.

To install spooni_build_my_home:

  • Download the resource
  • Ensure that all requirements are installed
  • Drag and drop the resource into your resources folder
    • spooni_build_my_home
  • Add this ensure in your server.cfg
      ensure spooni_build_my_home
  • Execute the SQL file
    • spooni_houses.sql
  • Now you can configure and translate the script as you like
    • config.lua
    • functions.lua
    • furniture.lua
  • At the end, restart the server

If you have any problems, you can always open a ticket in the Spooni Discord.

2. Usage ​

Build your own house with our house props in 21 steps anywhere on the map, furnish them or transfer them.

3. For developers ​

Config.lua
lua
Config = {}

Config.DevMode = false -- only for testing, not for the live server
Config.Framework = 'vorp' -- select your framework (vorp, rpx, rsg, rsg-old) *rsg-old = old inventory version
Config.Locale = 'en' -- select your language (en, de, fr, es)

--Webhook
Config.Logs         = true -- enable or disable the webhook
Config.Discord      = false -- if you use discord whitelist
Config.Webhook      = "YOUR WEBHOOK HERE"
Config.WebhookColor = 16711680 
Config.WebhookName         = "spooni_build_my_home" 
Config.WebhookLogo         = "https://via.placeholder.com/30x30" -- Header
Config.WebhookFooterLogo   = "https://via.placeholder.com/30x30" -- Footer
Config.WebhookAvatar       = "https://via.placeholder.com/30x30" -- Avatar

Config.Commands = {
    DeleteHouse = 'delHouse', -- command to delete the houses
    Housing = 'housing', -- command to manage the housing system
}
Config.CommandPerms = { 'admin', 'mod' }
Config.BuildingJob = false --  if you want to have a joblock
Config.NoTXAdmin = false -- if you have no txAdmin on your server
Config.Furniture = true -- if you want to furnish the houses
Config.Blip = true -- if you want a blip for the houses
Config.Dresser = true -- if you want to have a wardrobe in the houses
Config.Storage = true -- if you want to have a storage in the houses
Config.Ledger = true -- if you want to have a ledger in the houses
Config.OnlyOwnerCanAccessLedger = true -- if you want only the owner to have access to the ledger
Config.TaxSystem = true -- if you want to have a tax for the houses
Config.DistanceBetweenHouses = 25.0 -- the minimum distance a new house must have before it can be built
Config.MaxHousesPerPlayer = 500 -- the maximum amount of houses a player may own
Config.KeyHolderRemoveWord = 'remove' -- the word that must be in the input field to confirm the removal of a key holder
Config.RentableHouseActionRadius = 400 -- the render distance in which you can interact with the house

Config.Housing = { -- NEW
    RentDays = 14, -- how long can the house be rented for
    FurnitureRadiusMax = 150.0, -- the radius in which you can place furniture for this house
    FurnitureLimit = 150, -- the maximum amount of furniture that can be placedaximum
}

Config.BlockedZones = {
    [1] = { -- St Denis
        coords = vector3(2605.814, -1263.41, 52.681),
        distance = 150.0,
    },
    [2] = { -- Rhodes
        coords = vector3(1331.761, -1309.36, 76.444),
        distance = 50.0,
    },
    [3] = { -- Blackwater
        coords = vector3(-801.510, -1293.28, 43.522),
        distance = 100.0,
    },
    [4] = { -- Valentine
        coords = vector3(-295.363, 750.4001, 117.95),
        distance = 50.0,
    },
    [5] = { -- Strawberry
        coords = vector3(-1799.77, -398.492, 152.55),
        distance = 50.0,
    },
    [6] = { -- Annesburg
        coords = vector3(2912.352, 1371.321, 46.675),
        distance = 100.0,
    },
    [7] = { -- Van Horn
        coords = vector3(2968.969, 526.4790, 44.078),
        distance = 50.0,
    },
    [8] = { -- Armadillo
        coords = vector3(-3676.72, -2605.03, -13.72),
        distance = 50.0,
    },
    [9] = { -- Tumbleweed
        coords = vector3(-5522.91, -2939.22, -1.980),
        distance = 50.0,
    },
}

Config.WhitelistedZones = {
    -- [1] = { -- St Denis
    --     coords = vector3(2605.814, -1263.41, 52.681),
    --     distance = 150.0,
    -- },
}

Config.HousePromptKeys = {
    ['toggle_lock'] = `INPUT_INTERACT_OPTION1`,   -- [G]
    ['furniture_placement'] = `INPUT_FRONTEND_LEFT`, -- [LEFT ARROW]
    ['add_key_holder'] = `INPUT_FRONTEND_UP`,     -- [UP ARROW]
    ['remove_key_holder'] = `INPUT_FRONTEND_DOWN`, -- [DOWN ARROW]
    ['transfer_house'] = `INPUT_FRONTEND_RIGHT`,  -- [RIGHT ARROW]
    ['open_storage'] = `INPUT_INTERACT_POS`,      -- [R]
    ['upgrade_house'] = `INPUT_INTERACT_OPTION1`, -- [G]
    ['place_dresser'] = `INPUT_INTERACT_OPTION1`, -- [G]
    ['remove_dresser'] = `INPUT_INTERACT_POS`, -- [R]
    ['place_storage'] = `INPUT_INTERACT_OPTION1`, -- [G]
    ['remove_storage'] = `INPUT_INTERACT_POS`, -- [R]
    ['open_dresser'] = `INPUT_INTERACT_OPTION1`, -- [G]
    ['ledger_check_prompt'] = `INPUT_FRONTEND_LEFT`, -- [G]
    ['furniture_removal'] = `INPUT_FRONTEND_RUP`, -- [LEFT CONTROL]
}

Config.PlacementPromptKeys = {
    ['rotate_-'] = 'INPUT_SELECT_NEXT_WEAPON',       -- [MOUSE SCROLL DOWN]
    ['rotate_+'] = 'INPUT_SELECT_PREV_WEAPON',       -- [MOUSE SCROLL UP]
    ['up_prompt'] = 'INPUT_FRONTEND_UP',             -- [UP ARROW]
    ['down_prompt'] = 'INPUT_FRONTEND_DOWN',         -- [DOWN ARROW]
    ['place_prompt'] = 'INPUT_FRONTEND_ACCEPT',      -- [ENTER]
    ['cancel_prompt'] = 'INPUT_FRONTEND_CANCEL',     -- [ESC]
    ['confirm_place_prompt'] = 'INPUT_FRONTEND_ACCEPT', -- [ENTER]
    ['back_prompt'] = 'INPUT_FRONTEND_RLEFT',        -- [E]
    ['left_prompt'] = 'INPUT_FRONTEND_LEFT',         -- [LEFT ARROW]
    ['right_prompt'] = 'INPUT_FRONTEND_RIGHT',       -- [RIGHT ARROW]
    ['category_+'] = 'INPUT_SELECT_NEXT_WEAPON',     -- [MOUSE SCROLL DOWN]
    ['category_-'] = 'INPUT_SELECT_PREV_WEAPON',     -- [MOUSE SCROLL UP]
    ['rotate_furniture'] = 'INPUT_FRONTEND_Y',       -- [LEFT SHIFT]
    ['object_+'] = 'INPUT_FRONTEND_LEFT',            -- [LEFT ARROW]
    ['object_-'] = 'INPUT_FRONTEND_RIGHT',           -- [RIGHT ARROW]
}

Config.Houses = {
    [1] = {                     -- house
        StorageLimit = 25,      -- the maximum number of items you can have in storage
        StorageWeight = 3500,   -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [2] = {                    -- house
        StorageLimit = 25,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [3] = {                    -- house
        StorageLimit = 30,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [4] = {                    -- house
        StorageLimit = 75,     -- the maximum number of items you can have in storage
        StorageWeight = 7500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [5] = {                    -- house
        StorageLimit = 35,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [10] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [11] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [12] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [13] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [14] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [15] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [16] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [17] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [18] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [19] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [20] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [21] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [6] = {                    -- house
        StorageLimit = 35,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [7] = {                    -- house
        StorageLimit = 35,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
    [8] = {                    -- house
        StorageLimit = 35,     -- the maximum number of items you can have in storage
        StorageWeight = 3500,  -- the maximum weight you can have in storage
        FurnitureRadius = 50.0, -- the radius in which you can place furniture for this house
        FurnitureLimit = 5, -- the maximum amount of furniture that can be placed
        TaxInDaysAfterBuilding = 14, -- 14 days after building tax will be acquired if enabled above
        TaxAmount = 500, -- amount in cash that must be in ledger
        LoadRadius = 200, -- the radius in which the house is loaded
        Setup = {
            [1] = {            -- step
                Timer = 10000, -- building time
                Items = {
                    wood = 1,  -- item name -- quantity
                },
            },
            [2] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [3] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [4] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [5] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [6] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [7] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [8] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
            [9] = {
                Timer = 10000,
                Items = {
                    wood = 1,
                },
            },
        },
    },
}
Functions.lua
lua
local VORPcore

if Config.Framework == 'vorp' then
    VORPcore = exports.vorp_core:GetCore()
end

-- Notify
function clNotify(text, error, success)
    if Config.Framework == 'vorp' then
        if error then
            VORPcore.NotifyAvanced(text, 'menu_textures', 'cross', 'COLOR_RED', 4000)
        elseif success then
            VORPcore.NotifyAvanced(text, 'hud_textures', 'check', 'COLOR_GREEN', 4000)
        else
            VORPcore.NotifyAvanced(text, 'inventory_items', 'provision_jail_keys', 'COLOR_PURE_WHITE', 4000)
        end
    end
    if Config.Framework == 'rpx' then
        if error then
            exports['rpx-core']:ShowAdvancedRightNotification(text, 'menu_textures', 'cross', 'COLOR_RED', 4000)
        elseif success then
            exports['rpx-core']:ShowAdvancedRightNotification(text, 'hud_textures', 'check', 'COLOR_GREEN', 4000)
        else
            exports['rpx-core']:ShowAdvancedRightNotification(text, 'inventory_items', 'provision_jail_keys', 'COLOR_PURE_WHITE', 4000)
        end
    end
    if Config.Framework == 'rsg' or Config.Framework == 'rsg-old' then
        if error then
            local dataError = {description = text, duration = 4000, type = 'error' }
            TriggerEvent('ox_lib:notify', dataError)
        elseif success then
            local dataSuccess = {description = text, duration = 4000, type = 'success' }
            TriggerEvent('ox_lib:notify', dataSuccess)
        else
            local data = {description = text, duration = 4000, type = 'inform' }
            TriggerEvent('ox_lib:notify', data)
        end
    end
end

function svNotify(src, text, error, success)
    if Config.Framework == 'vorp' then
        if error then
            VORPcore.NotifyAvanced(src, text, 'menu_textures', 'cross', 'COLOR_RED', 4000)
        elseif success then
            VORPcore.NotifyAvanced(src, text, 'hud_textures', 'check', 'COLOR_GREEN', 4000)
        else
            VORPcore.NotifyAvanced(src, text, 'inventory_items', 'provision_jail_keys', 'COLOR_PURE_WHITE', 4000)
        end
    end
    if Config.Framework == 'rpx' then
        if error then
            exports['rpx-core']:ShowAdvancedRightNotification(src, text, 'menu_textures', 'cross', 'COLOR_RED', 4000)
        elseif success then
            exports['rpx-core']:ShowAdvancedRightNotification(src, text, 'hud_textures', 'check', 'COLOR_GREEN', 4000)
        else
            exports['rpx-core']:ShowAdvancedRightNotification(src, text, 'inventory_items', 'provision_jail_keys', 'COLOR_PURE_WHITE', 4000)
        end
    end
    if Config.Framework == 'rsg' or Config.Framework == 'rsg-old' then
        if error then
            local dataError = {description = text, duration = 4000, type = 'error' }
            TriggerClientEvent('ox_lib:notify', src, dataError)
        elseif success then
            local dataSuccess = {description = text, duration = 4000, type = 'success' }
            TriggerClientEvent('ox_lib:notify', src, dataSuccess)
        else
            local data = {description = text, duration = 4000, type = 'inform' }
            TriggerClientEvent('ox_lib:notify', src, data)
        end
    end
end

-- Wardrobe
function ClothingMenuEvent()
    -- TriggerEvent('syn_clothing:OpenOutfits')
    TriggerEvent('kd_clothingstore:openWardrobe', false)
end

-- New Stage
function CustomNewStageEvent(owner, type, stage)
    -- Custom Event to trigger when upgrading house / next building step
end

-- Tax
function TaxNotPaid(houseID, type, ledger)
    -- Custom Event to trigger when a house has failed paying tax
    -- return false -- use this when the house should not get deleted and only access should get revoked
    return true -- use this when the house should get deleted from db
end

-- Custom Inventory
function CustomInventory()
    -- Custom Event to trigger when you have a custom Inventory
    return false
end

-- Debug
function Debug(...)
    if Config.DevMode then
        print(...)
    end
end
Furniture.lua
lua
Furniture = {}

Furniture.Categories = {
    [1] = {
        Label = "tables",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_table01x", -- prop name
                "p_table02x",
                "p_table10x",
                "p_table11x",
                "p_table14x",
                "p_table31x",
                "p_table32x",
                "p_table38x",
                "p_table41x",
                "p_table42_cs",
                "p_table44x",
                "p_table46x",
                "p_table50x",
                "p_table51x",
                "p_tabledining03xb",
                "p_tableprep01x",
                "p_tablebedside01x",
                "p_tablebedside02x",
                "p_grp_w_tra_sidetable01x",
                "p_tablework02x",
                "p_tableconsole01x",
                "p_tableconsole02x",
                "p_tableconsole03bx",
                "p_tableconsole03x",
                "p_tableconsole04x",
                "p_tableconsole05bx",
                "p_tablegiltconsole01x",
                "p_tablegiltwood01x",
            },
        },
    },
    [2] = {
        Label = "chairs",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_chair02x", -- prop name
                "p_chair04x",
                "p_chair05x",
                "p_chair06x",
                "p_chair09x",
                "p_chair15x",
                "p_chair17x",
                "p_chair18x",
                "p_chair19x",
                "p_chair22x",
                "p_chair34x",
                "p_chair37x",
                "p_chaircomfy01x",
                "p_chaircomfy02",
                "p_chaircomfy03x",
                "p_chaircomfy04x",
                "p_chaircomfy04x",
                "p_chaircomfy07x",
                "p_chaircomfy12x",
                "p_chaircomfy14x",
                "p_chairdesk01x",
                "p_chairdesk02x",
                "p_chairpokerfancy01x",
                "p_woodendeskchair01x",
            },
        },
    },
    [3] = {
        Label = "plants inside",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_plant_moneytree", -- prop name
                "p_exoticprops14x",
                "p_plantpotnbx05x",
                "p_plantpotnbx06x",
                "p_plantpotnbx07x",
                "p_plantpothangnbx01x",
                "p_pot_flowerarng02x",
                "p_pot_flowerarng03x",
                "p_pot_flowerarng05x",
                "p_pot_flowerarng07x",
                "p_pot_flowerarng08x",
                "p_pot_flowerarng09bx",
                "p_pot_flowerarng16x",
                "p_pot_flowerarng17x",
                "p_pot_flowerarng18x",
                "p_pot_flowerarng23x",
                "p_pot_flowerarngdead02",
                "p_pot_leafyvase",
                "p_pot_plant_05a",
                "p_pot_plant_05b",
                "p_pot_plant_6a",
                "p_pot_plant_6b",
                "p_pot_plant_08a",
                "p_group_flowertable01",
                "p_plant_philo",
                "p_plant_philo2",
                "p_plant05x",
                "p_plant06x",
                "p_planter",
                "p_planter03a",
                "p_planter03x",
                "p_planternbx04a",
                "p_planternbx04b",
            },
        },
    },
    [4] = {
        Label = "lights",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_candle01x", -- prop name
                "p_candlebot01x",
                "p_candlestand",
                "p_candlegroup05x",
                "p_lanternhang01x",
                "p_lantern08x",
                "p_walllampnbx02x",
                "p_gnomeoillamp01x",
                "p_chandelier14x",
                "p_lamp17x",
                "p_lamp30x",
                "p_lampbar01x",
                "p_lamphanging03x",
                "p_lamphanging07x",
                "p_lamphangnbx01x",
                "p_lamphanging08x",
                "p_lantern04xlowfuel",
                "p_lantern05x",
                "p_lampstanding03x",
                "p_lampstanding04x",
                "p_lampstanding07x",
                "p_lampstanding09x",
                "p_medlight02x",
                "p_kerosenetablelamp01x",
                "p_lamp27x",
                "p_lamp32x",
                "p_lamp33x",
                "p_lanternbrass02x",
                "p_kerosenewalllamp01x",
                "p_lamp01x",
                "p_lampwall02x",
                "p_lampwall04x",
                "p_lampwall07x",
                "p_lampwall12x",
                "p_sconcelight01x",
            },
        },
    },
    [5] = {
        Label = "bathroom",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_bath02bx", -- prop name
                "p_bath02x",
                "p_bath03x",
                "p_bathsponge01x",
                "p_comb01x",
                "p_shavingboxclosed01x",
                "p_tub01bx",
                "p_tub02x",
                "p_val_hotel_int_tub_01x",
                "p_washstand02x_static",
                "p_bathbrush01x",
                "p_bedpanladies01x",
                "p_cupboard07x",
                "p_shaving_set01x",
                "p_shavingbox01x",
                "p_shavingbrush01x",
                "p_shavingcup01x",
                "p_soap01x",
                "p_straightrazor01x",
                "p_towelrack01x",
                "p_washbasin01x",
                "p_washbasinregal01x",
                "p_washbasinset01ax",
                "p_washbasinset01bx",
                "p_washbasinset01x",
                "p_washboard_01",
                "p_washstand02x",
                "p_washstand03x",
            },
        },
    },
    [6] = {
        Label = "bedroom",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_bed_abigail3x", -- prop name
                "p_bed01x",
                "p_bed02bx",
                "p_bed02x",
                "p_bed04x",
                "p_bed08x",
                "p_bed09x",
                "p_bed12x",
                "p_bed15brassx",
                "p_bed18x",
                "p_bed03x",
                "p_bed05x",
                "p_bed10x",
                "p_bed13x",
                "p_bed14x",
                "p_bed17x",
                "p_bed20madex",
                "p_bed20x",
                "p_bed21x",
                "p_bed22x",
                "p_bed20bloodyx",
                "p_bedindian01x",
                "p_bedking01x",
                "p_bedlog01x",
                "p_bedmosquitonet01x",
                "p_bedsleptin01x",
                "p_bedsleptinold04x",
                "p_blanketfolded01x",
                "p_chamberpot_pot",
                "p_clothingcase01x",
                "p_cradle01x",
                "p_dresser08x",
                "p_dressmirror01x",
                "p_foldedrug01x",
                "p_footlocker01x",
                "p_footlockeranim01x",
                "p_mattress03x",
                "p_mattress07x",
                "p_mattress08x",
                "p_nightbedking01x",
                "p_nightstand04x",
                "p_singlebrassbed01x",
                "p_alarmclock01x",
                "p_armoir02x_loot",
                "p_armoir02x",
                "p_armoir03x",
                "p_armoir04x_loot",
                "p_armoir04x",
                "p_armoir05x_loot",
                "p_armoir05x",
                "p_armoir06x",
                "p_armoir07bx",
                "p_armoir07x_loot",
                "p_armoir07x",
                "p_armoir08x",
                "p_armoireregal01",
                "p_bedbunk03x",
                "p_bedking02x",
                "p_cabinet03x",
                "p_cabinet04x",
                "p_cabinet05x",
                "p_chamberpot01x",
                "p_chest01x",
                "p_chest02x",
                "p_chest03x",
                "p_commode01x",
                "p_commode02x",
                "p_dresser01x",
                "p_dresser03x",
                "p_dresser04x",
                "p_dresser05x",
                "p_dresser06x",
                "p_dresser07x",
                "p_dresser09x",
                "p_dresserval01x",
                "p_foldedblanket01x",
                "p_foldedblanket02x",
                "p_footlocker07x_loot",
                "p_footlocker07x",
                "p_lacepillow01x",
                "p_lacepillow02x",
                "p_mattress04x",
                "p_mirror_shave01x",
                "p_nightstand03x",
                "p_nightstandwinter03x",
                "p_pillow01x_sea",
                "p_pillow01x",
                "p_pillow02x",
                "p_pillow03x",
                "p_pillow06x",
                "p_pillow08x",
                "p_pillow09x",
                "p_pillow10x",
                "p_pillow11x",
                "p_pillow12x",
                "p_steamer_trunk_001",
                "p_vanity01x",
                "p_vanity02x",
            },
        },
    },
    [7] = {
        Label = "livingroom",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_seatbench01x", -- prop name
                "p_sit_chairwicker01a",
                "p_couchwicker01x",
                "p_trunkvar01x_noloot",
                "p_weddingchest01x",
                "s_footlocker01x",
                "p_couch06x",
                "p_couch08x",
                "p_couch10x",
                "p_loveseat01x",
                "p_settee_05x",
                "p_settee02bx",
                "p_settee02x",
                "p_sofa01x",
                "p_victoriansofa01x",
                "p_armoiroffice66x",
                "p_buffet01x",
                "p_cabinetdoctor01x",
                "p_shelf06x",
                "p_bw_desk01x",
                "p_desk01x",
                "p_desk03x",
                "p_desk04x",
                "p_desk10x",
                "p_desk13x",
                "p_drdesk01x",
                "p_trolleymaildesk_01x",
                "p_vanitydresserdesk01x",
                "p_coatstand01x",
                "p_doc_coatstandrack01x",
                "p_gun_hangitem02x",
                "p_gunsmithprops16x",
                "p_hatstandbear01x",
                "p_desk10x",
            },
        },
    },
    [8] = {
        Label = "deco inside",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_books01x", -- prop name
                "p_books02x",
                "p_bookset04x",
                "p_bookset05x",
                "p_book04x",
                "p_book05x",
                "p_book06x",
                "p_jug01bx",
                "p_bottlebeer01a",
                "p_grp_new_sal02_props04x",
                "p_boxlrgcotton01x",
                "p_boxlrgleather01x",
                "p_boxmeddeposit01x",
                "p_boxmedpaint01x",
                "p_boxmedsuitcase01x",
                "p_boxsmljewelery01x",
                "p_sto_buysellbox02x",
                "s_saddiessupply01x",
                "p_basket05x",
                "p_basket06x",
                "p_basket13x",
                "p_baskethalf01x",
                "p_bag01x",
                "p_baghang02x",
                "p_cs_suitcase01x",
                "s_pistolchest_loot",
                "p_scalecandy01x",
                "p_basket06cx",
                "p_piestand01x",
                "p_knifeblock03x",
                "p_valbankclock01x",
                "p_clock06x",
                "p_mantle_clock_old",
                "p_deskstand01x",
                "p_deskorganizer01x",
                "p_fandesk_off01x",
                "p_letterbox_01x",
                "mp007_p_nat_pictureframe01x",
                "mp007_p_nat_pictureframe02x",
                "mp007_p_nat_pictureframe03x",
                "mp007_p_nat_pictureframe04x",
                "p_flowerframe01x",
                "p_painting_newgala_sml01x",
                "p_picturemirror02x",
                "mp006_p_mshn_painting01x",
                "mp006_p_mshn_painting02x",
                "mp006_p_mshn_painting03x",
                "mp006_p_mshn_painting04x",
                "mp006_p_mshn_painting05x",
                "mp006_p_mshn_painting06x",
                "mp006_p_mshn_painting07x",
                "mp006_p_mshn_painting08x",
                "mp006_p_mshn_painting09x",
                "mp006_p_mshn_painting10x",
                "p_cs_photowolves",
                "p_bag01x",
                "p_bag01x",
                "mp006_p_bowl_apple01x",
                "mp006_p_bowl_banana01x",
                "p_gourdsbundle01x",
                "p_stewplate01x",
                "p_tutlesoup01x",
                "p_sink02x",
                "p_sink04x",
                "p_drysink01x",
                "p_pedestal01x",
                "p_counterdoctor01x",
            },
        },
    },
    [9] = {
        Label = "deco outsie",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_hitchingpost01x", -- prop name
                "p_hitchingpost05x",
                "p_bra_cal_sgn_tress2a",
                "p_scarecrow01x",
                "p_chickencoopcart01x",
                "p_bucketpigfeed02x",
                "p_outhouse03x",
                "p_bench03x",
                "p_bench09x",
                "p_bespoketable01x",
                "p_sawbucktable01x",
                "p_tablesur01x",
                "p_tableset01x",
                "p_haybale01x",
                "p_haybalecover01x",
                "p_haycartcover01x",
                "p_haypile01x",
                "p_haypile04x",
                "p_harness04x",
                "p_jumphurdles01x",
                "p_grp_sdlstand01x_car_sd",
                "p_feedtroughsml01x",
            },
        },
    },
    [10] = {
        Label = "plants outside",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "s_inv_bloodflower_bunch01x", -- prop name
                "engmace_p",
                "prariepoppy_p",
                "s_violetsnowdrop01x",
                "viosnwdrp_p",
                "s_inv_blackberry01x",
                "oregano_p",
                "milkweed_p",
                "p_ambfloorleaves01x",
                "p_ambfloorleaves02x",
                "rdr_bush_hedgecore_aa",
                "rdr_bush_fern_ab_sim",
                "rdr_bush_neat_ba_sim",
                "rdr_bush_neat_bc_sim",
                "rdr_bush_neat_ae_sim",
                "rdr_bush_paradise_aa_sim",
                "p_tree_cedar_decor_02",
                "rdr_bush_neat_ab_sim",
                "rdr_bush_wandering_aa_sim",
                "rdr_bush_soga_aa_sim",
            },
        },
    },
    [11] = {
        Label = "camp",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_ambcloth03x", -- prop name
                "p_bandage01x",
                "p_bandage02x",
                "p_bandage03x",
                "p_bedrollopen01x",
                "p_bedrollopen03x",
                "p_boilercamp01x",
                "p_campfire_06x",
                "p_campfire_coloursmoke01x",
                "p_campfire_under01x",
                "p_campfire_win2_01x",
                "p_campfire_win2_smolder01x",
                "p_campfire01x_nofire",
                "p_campfire01x",
                "p_campfire02_amb",
                "p_campfire02x_script",
                "p_campfire02x",
                "p_campfire02xb",
                "p_campfire03x_nofire",
                "p_campfire03x",
                "p_campfire04x",
                "p_campfire05x_script",
                "p_campfire05x",
                "p_campfirebasin01x",
                "p_campfireburnedout05x",
                "p_campfireburntout02x",
                "p_campfirechar01x",
                "p_campfirecharsml01x",
                "p_campfirecombined01x_off",
                "p_campfirecook01x",
                "p_campfirecook02x",
                "p_campfiredebris01x",
                "p_campfiredirt01x",
                "p_campfiredirt01x002",
                "p_campfiredirtsml01x",
                "p_campfireembers01x",
                "p_campfirefresh01x",
                "p_campfirenosmoke01x",
                "p_campfirerock01x",
                "p_campfirerock02x",
                "p_campfirerocksml01x",
                "p_campfirerocksml02x",
                "p_campfiresmlsmolder01x",
                "p_campfiresmolder01x",
                "p_campfiretemplate01x",
                "p_campfirewhitefish03x",
                "p_canopy66x",
                "p_compass01x",
                "p_cookgrate01x",
                "p_cookgrate02x",
                "p_cot01x",
                "p_coverboar01x",
                "p_coverpronghorn01x",
                "p_coverpronghorn02x",
                "p_craftingpot01x",
                "p_firebarrel01x",
                "p_firesignal01x",
                "p_leantopine01x",
                "p_map01x",
                "p_map02x",
                "p_map03x",
                "p_matchstick01x_pickup",
                "p_prisoncage02x",
                "p_stake01x",
                "p_stick01x",
                "p_stick02x",
                "p_stick03x",
                "p_stick04x",
                "p_stickfirepoker01x",
                "p_stump_01bx",
                "p_stump_01x",
                "p_stump",
                "p_stumpwoodsplit01x",
                "p_stumpwoodsplit02x",
                "p_tentarmypupbroken02x",
                "p_tentarmypupbroken04x",
                "p_tentrack01x",
                "p_tentrolled01x",
                "p_tentrolled02x",
                "p_amb_tent01x",
                "p_amb_tent02x",
                "p_amb_tent03x",
                "p_bedrollclosed_sml01x",
                "p_bedrollclosed_sml02x",
                "p_bedrollclosed01x",
                "p_bedrollclosed03x",
                "p_camp_cup_01x",
                "p_camp_plate_01x",
                "p_camp_plate_02x",
                "p_camp_plate_03x",
                "p_campfire02x_combo",
                "p_campfire02x_dynamic",
                "p_campfirecombined01x",
                "p_campfirecombined02x",
                "p_campfirecombined03x",
                "p_campfirecombined04x",
                "p_campfireprop02x",
                "p_canopycloth",
                "p_canopycloth03x",
                "p_clothesline01x",
                "p_cookfirestructure02x",
                "p_firesticks01x",
                "p_kindlingpile01x",
                "p_leanto02x",
                "p_leanto03x",
                "p_matches01x",
                "p_matchstick01x",
                "p_platedog01x",
                "p_prisoncage01x",
                "p_tarp01x",
                "p_tarp04x",
                "p_tarpbutcher01x",
                "p_tent_leento01x",
                "p_tent_leento02x",
                "p_tent_leento03x",
                "p_tent_leento04x",
                "p_tent0101x",
                "p_tentarmypup01bx",
                "p_tentarmypup01x",
                "p_tentarmypup02x_open",
                "p_tentarmypup02x",
                "p_tentarmypupbroken01x",
                "p_tentarmypupbroken03x",
                "p_tentarmypupbrokensnow01x",
                "p_tentdamaged02x",
                "p_tentmexican01x",
                "p_tentmountainmen01x",
                "p_tentmountainmen02x",
                "p_tentnorth01bx",
                "p_tentnorth01x",
                "p_tentplain01x",
                "p_tentrack02x",
                "p_tentrolled04x",
                "p_tentstripebroken01x",
                "p_amb_mattress04x",
                "p_ambblanketroll01x",
                "p_ambburnbarrel01x",
                "p_ambcart01x",
                "p_ambclothdrape01x_static",
                "p_ambclothhang01x",
                "p_ambclothpile01x",
                "p_ambcorddried01x",
                "p_ambcordfresh01x",
                "p_ambfishbone02x",
                "p_ambfloorfur01x",
                "p_ambfloorfur02x",
                "p_ambfloorleaves01x",
                "p_ambfloorleaves02x",
                "p_ambfloorleaves03x",
                "p_ambfloormoss01x",
                "p_ambfloorplandecor01x",
                "p_ambfloorplantent01x",
                "p_ambfloorplantravel01x",
                "p_ambfloorroll01x",
                "p_ambfloorrug01x",
                "p_ambfloorrug02x",
                "p_ambfloorrug03x",
                "p_ambfloorrug04x",
                "p_ambfloorrug05x",
                "p_ambfloorrug06x",
                "p_ambfloorrug07x",
                "p_ambfloorrug08x",
                "p_ambfloorscrub01x",
                "p_ambfloortarp01x",
                "p_ambforage02x",
                "p_ambframe01x",
                "p_ambframe04x",
                "p_ambpelt01x",
                "p_ambpelt02x",
                "p_ambpeltstack01x",
                "p_ambropedraped01x_static",
                "p_ambropeloop01x",
                "p_ambropepile01x",
                "p_ambstake01x",
                "p_ambstove01x",
                "p_ambtentbark01b",
                "p_ambtentdebris01x",
                "p_ambtentdebris02x",
                "p_ambtentdebris03x",
                "p_ambtentgrass01x",
                "p_ambtentmulch01b",
                "p_ambtentpanel01x",
                "p_ambtentscrub01b",
                "p_ambtentscrub01x",
                "p_ambtentsticks01x",
                "p_ambtentstring01b",
                "p_ambtentswamp01x",
                "p_ambtenttrunk01x",
                "p_bucketcamphob01x",
                "p_bucketcampsav01x",
                "p_camphitchhook01x",
                "p_campropetie02x",
                "p_campropetie03x",
                "p_cratetablemil01x",
                "p_gangbandana01x",
                "p_gangcratecloth01x",
                "p_gangfence01x",
                "p_gangfence02x",
                "p_gangfence03x",
                "p_gangodriscollmask01x",
                "p_gangpost01x",
                "p_gangscarf01x",
                "p_gangwagoncloth02x",
                "p_gangwood01x",
                "p_ladlecampcul01x",
                "p_ladlecamphob01x",
                "p_ladlecampsav01x",
                "p_ladlecampsur01x",
                "p_mp_feedbaghang01x",
                "p_tablehob1x",
                "p_tablesav01x",
                "p_tablesur01x",
                "p_ambbed01x",
                "p_ambbundle01x",
                "p_ambcache01x",
                "p_ambcart02x",
                "p_ambchair01x",
                "p_ambchair02x",
                "p_ambclothdrape01x",
                "p_ambclothhang02x",
                "p_ambclothseat01x",
                "p_ambfishgut02x",
                "p_ambfloorwood01x",
                "p_ambforage01x",
                "p_ambforage03x",
                "p_ambpack01x",
                "p_ambpack02x",
                "p_ambpack04x",
                "p_ambpack05x",
                "p_ambpelt03x",
                "p_ambpeltstring01x",
                "p_ambropedraped01x",
                "p_ambropepile02x",
                "p_ambsack02x",
                "p_ambsticks01x",
                "p_ambtentburlap01b",
                "p_ambtentburlap01x",
                "p_ambtenthide01b",
                "p_ambtenthide01x",
                "p_ambtentleather01b",
                "p_ambtentleather01x",
                "p_ambtentmulch01x",
                "p_ambtentoilskin01b",
                "p_ambtentoilskin01x",
                "p_ambtentpatch01b",
                "p_ambtentpatch01x",
                "p_ambtentplaid01b",
                "p_ambtentplaid01x",
                "p_ambtentrope01x",
                "p_ambtentrope02x",
                "p_ambtentrug01b",
                "p_ambtentrug01x",
                "p_ambtentstring01x",
                "p_ambtentstripe01x",
                "p_ambwoodpile01x",
                "p_ambwoodstack01x",
                "p_barrelladle1x_culture",
                "p_barrelladle1x_hobo",
                "p_barrelladle1x_military",
                "p_barrelladle1x_savage",
                "p_barrelladle1x_survivor",
                "p_bottlecrate_cul",
                "p_bottlecrate_hob",
                "p_bottlecrate_mil",
                "p_bottlecrate_sav",
                "p_bottlecrate_sur",
                "p_bucketcampcul01x",
                "p_bucketcampmil01x",
                "p_chairhob01x",
                "p_chairhob02x",
                "p_chairrusticsav01x",
                "p_gangbed01x",
                "p_gangblanket01x",
                "p_gangframe01x",
                "p_gangtablemake01x",
                "p_gangtablemake02x",
                "p_gangtentlemoyne01x",
                "p_gangtenttarp01x",
                "p_gangwagoncloth01x",
                "p_tablecul01x",
                "s_awningcul",
                "s_awninghob",
                "s_awningmil",
                "s_awningsav",
                "s_awningsur",
                "s_cul_cookfire01x",
                "s_hobo_cookfire01x",
                "s_mil_cookfire01x",
                "s_sav_cookfire01x",
                "s_sur_cookfire01x",
            },
        },
    },
    [12] = {
        Label = "barrier",
        Setup = {
            Items = {
                wood = 1, -- item name -- quantity
            },
            Props = {
                "p_barricadewood_sml01x", -- prop name
                "p_avoidancebound01x",
                "p_barricade01x",
                "p_barricade03x",
                "p_barricade04x",
                "p_barricade05x",
                "p_barricadewood_lrg01x",
                "p_concretesack01x",
                "p_bra_fence01x",
                "p_bra_fence03x",
                "p_bra_fencepost01x",
                "p_chickenfence01x",
                "p_chickenfencepost",
                "p_emrfence02bx",
                "p_emrfence03cx",
                "p_fence01ax",
                "p_fence01bx",
                "p_fence01cx",
                "p_fence01dx",
                "p_fence01ax",
                "p_fence02cx",
                "p_fence02x",
                "p_fence04ax",
                "p_fence04bx",
                "p_fence06ax",
                "p_fence06bx",
                "p_spooni_fence",
            },
        },
    },
}