# Configuration

```lua
--[[ Configuration settings ]]
Config = {}

--[[ Locale setting for language localization. ]]
Config.Locale             = "en"

---@type EventName | nil -- Cloth menu event name for house wardrobe
Config.ClothMenuEventName = nil

--[[ If qb-inventory is used and the version is higher than 2.0.0 then enable this setting, otherwise set value to 'false' ]]
Config.NewInventoryQB = true

--[[ MetaKeys | Only ESX | if your esx version is old or you get a "setMeta" error. Set value to false. ]]
Config.MetaKeys = true

--[[ Commands ]]
Config.Commands = {
    -- Main command,the menu wheree verything is managed.
    useMainPanel = "pixelhouse",
    -- Create new house | Only admin.
    useCreateHouse = "createpixelhouse",
}

--[[ Add blips to houses for sale. ]]
Config.SaleHouseBlip = {
    active = true,
    sprite = 350,
    color = 2,
    scale = 0.7,
}

--[[ Add blips to purchased houses. If the other home blip is open, it updates with it. ]]
Config.HouseOwnedBlip = {
    active = true,
    sprite = 40,
    color = 3,
    scale = 0.7,
}

--[[ Players can only buy 1 house, If false there is no limit ! ]]
Config.MaxHouseLimitPerPlayer = 1

--[[ Stairs can be placed or removed. ]]
Config.EditableStairs = true

--[[ Place/Rooms can be placed or removed. ]]
Config.EditableRooms = true

--[[ Furniture-based stash ]]
Config.StashOptions = {
    active = true,
    slots = 10,
    maxWeight = 1000000,
}

--[[ Real-Estate ]]
--[[ Use Commands.useCreateHouse Command. Players can create a house. They cannot do anything else. It is not a detailed system. ]]
Config.RealEstate = {
    enable = false,
    jobs = {
        ["realestate"] = true,
    },
}

--[[ Furniture-based wardrobe ]]
Config.WardrobeOptions = {
    active = true,
}

--[[ Raid ]]
Config.Raid = {
    enable = false,         -- Enable/Disable raiding
    canUseStash = true,     -- Can access stashes.
    itemRequired = {        -- Item required to raid
        removeItem = true,  -- Remove item from inventory
        name = "lockpick",  -- Item name
        label = "LockPick", -- Item label
        itemCount = 1,      -- Item count
    },
}

Config.InteriorHouseTypes = {
    ["square"] = {
        label = "Square",
        door_coords = vec3(363.1291, -1268.3627, -84.2126),
        enter_coords = vec4(363.1167, -1269.9006, -84.2126, 162.3873),
    },
    ["rectangle"] = {
        label = "Rectangle",
        door_coords = vec3(402.9340, -1263.9220, -84.0736),
        enter_coords = vec4(402.8653, -1265.3367, -84.0736, 176.2434),
    },
    ["furnished"] = {
        label = "Furnished",
        door_coords = vec3(93.6972, -485.8475, -109.0118),
        enter_coords = vec4(92.1094, -485.8838, -109.0118, 91.5934),
    },
}

--[[ InteriorHouseGarage]]
Config.InteriorHouseGarage = {
    coords = {
        enter = vec3(520.00000000, -2625.00000000, -39.69168000),
        exit = vec3(519.9845, -2637.2595, -38.6916),
        vehicles = {
            vec4(514.0, -2612.69, -38.5, 273.83),
            vec4(514.0, -2616.69, -38.5, 273.83),
            vec4(514.0, -2620.69, -38.5, 273.83),
            vec4(514.0, -2624.69, -38.5, 273.83),
            vec4(514.0, -2628.69, -38.5, 273.83),
            vec4(514.0, -2632.69, -38.5, 273.83),
            vec4(525.46, -2612.53, -38.5, 92.52),
            vec4(525.46, -2616.64, -38.5, 92.52),
            vec4(525.46, -2620.64, -38.5, 92.52),
            vec4(525.46, -2624.64, -38.5, 92.52),
            vec4(525.46, -2628.64, -38.5, 92.52),
            vec4(525.46, -2632.64, -38.5, 92.52),
        }
    }
}

--[[ Houses ]]
--[[ It will be added to the database automatically. You can add it from here or from the game. ]]
Config.Houses = {
    [1] = {
        houseId = 1,
        label = "House",
        price = 100000,
        type = "square", -- "square" | "rectangle"
        door_coords = vector4(-830.8799, 115.0645, 55.8298, 273.3748),
        garage_coords = nil,
        coords_label = "Portola Drive, Rockford Hills",
    },
    [2] = {
        houseId = 2,
        label = "House",
        price = 100000,
        type = "rectangle", -- "square" | "rectangle"
        door_coords = vector4(997.1400, -729.3287, 57.8157, 312.5908),
        garage_coords = vector4(1005.2209, -733.4166, 57.4825, 311.1407),
        coords_label = "West Mirror Drive",
    },
    ...
}

--[[ House Indicators ]]
Config.Indicators = {
    electricity = {
        unitPrice = 5, -- [[ Unit price at the time of purchase ]]
        maxValue = 1000 --[[ Max value that can be stored ]]
    },
    power = {
        unitPrice = 5,
        maxValue = 1000
    },
    light = {
        unitPrice = 5,
        maxValue = 1000
    },
    water = {
        unitPrice = 5,
        maxValue = 1000
    },
}

--[[ CCTV ]]
Config.CCTV = {
    Enabled = true,
    MaxZoom = 30,
    MinZoom = 100,
    RotateSpeed = 0.3,
    Controls = {
        ZoomIn = 96,  -- UP Arrow
        ZoomOut = 97, -- DOWN Arrow
        Exit = 194,   -- BACKSPACE
    }
}

--[[ House Wall Colors ]]
Config.WallColors = {
    { id = 1,  color = "#FFDB28" },
    { id = 2,  color = "#FF6F00" },
    { id = 3,  color = "#BF1F19" },
    { id = 4,  color = "#FF2525" },
    { id = 5,  color = "#f5f5dc " },
    ...
}

--[[ Furniture Items ]]
Config.FurnitureItems = {
    ["pixelhouse"] = {
        label = "House",
        items = {
            { model = "qua_0r_house_floor",       price = 1, label = "Floor #1" },
            { model = "qua_0r_house_floor_2",     price = 1, label = "Floor #2" },
            { model = "qua_0r_house_floor_3",     price = 1, label = "Floor #3" },
            { model = "qua_0r_house_floor_4",     price = 1, label = "Floor #4" },
            { model = "qua_0r_house_floor_5",     price = 1, label = "Floor #5" },
            { model = "qua_0r_house_floor_6",     price = 1, label = "Floor #6" },
            { model = "qua_0r_house_circlefloor", price = 1, label = "Floor (Circle)" },
            { model = "qua_0r_house_doorwall",    price = 1, label = "Door Wall" },
            { model = "qua_0r_house_wall",        price = 1, label = "Wall" },
            { model = "qua_0r_house_wall_2",      price = 1, label = "Wall #2" },
            { model = "qua_0r_house_wall_3",      price = 1, label = "Wall #3" },
            { model = "qua_0r_house_longwall",    price = 1, label = "Wall (Long)" },
            { model = "qua_0r_house_longwall_2",  price = 1, label = "Wall (Long) #2" },
            { model = "qua_0r_house_tallwall",    price = 1, label = "Wall (Long) #3" },
            { model = "qua_0r_house_stair_extra", price = 1, label = "Stair (Extra)" },
        },
    },
    ["stashes"] = {
        label = "Stashes",
        items = {
            [1] = { model = "v_res_tre_storagebox", price = 2500, label = "Storage Box" },
            [2] = { model = "prop_devin_box_closed", price = 2500, label = "Devin Box" },
            [3] = { model = "prop_mil_crate_01", price = 2500, label = "Mil Crate 1" },
            [4] = { model = "prop_mil_crate_02", price = 2500, label = "Mil Crate 2" },
            [5] = { model = "prop_box_wood05a", price = 2500, label = "Box Wood 5" },
            [6] = { model = "prop_drop_crate_01", price = 2500, label = "Drop Crate 1" },
            [7] = { model = "prop_box_wood02a_pu", price = 2500, label = "Box wood 2 Pu" },
            [8] = { model = "prop_box_wood04a", price = 2500, label = "Box wood 4" },
            [9] = { model = "prop_crate_07a", price = 2500, label = "Crate 7" },
            [10] = { model = "prop_mb_crate_01a", price = 2500, label = "Crate 1" },
        },
    },
    ...
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.0resmon.org/0resmon/0r-resources/0r-pixelhouse/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
