Client Exports

GetProperty

Returns full data of the specified property.

---@param {propertyId: number | string}
---@return {propertyData: table}
local propertyData = exports['vms_housing']:GetProperty(propertyId)

GetPlayerProperties

Returns a list of all properties owned by the current player.

---@return {properties: table}: Data list of all properties
local properties = exports['vms_housing']:GetPlayerProperties()
Example
local properties = exports['vms_housing']:GetPlayerProperties()

print(json.encode(properties, {indent=true}))
--[[
    {
        "id": 138,
        "name": "Paleto House",
        "description": "",
        "type": "shell",
        "owner_name": "Tony Blunt"
        "owner": "char3:11000014c8ce27b",
        "region": "Paleto Bay",
        "address": "Procopio Dr",
        "last_enter": 1751993299,
        "unpaidBills": 0,
        "bills": [
            {
                "details": "{\"electricityUsage\":0,\"rateInfo\":{\"electricity\":0.0115,\"internet\":80.0,\"water\":0.5},\"internet\":80,\"electricity\":0,\"waterUsage\":0,\"water\":0.0}",
                "type": "services",
                "paid": false,
                "period": "07:2025",
                "id": 334,
                "house_id": 138,
                "total": 80
            }
        ],
        "permissions": [],
        "keys": "[\"138-9008CEA257\",\"138-9361DPW426\"]",
        "sale": {
            "active": false,
            "defaultActive": true,
            "defaultPrice": 1500000,
            "price": 1500000
        },
        "rental": {
            "active": false,
            "defaultActive": false,
            "defaultPrice": 0,
            "price": 0
        },
        "metadata": {
            "exit": {
                "w": 47.32084655761719,
                "x": -213.5472,
                "y": 6396.1655,
                "z": 32.1852
            },
            "lightState": false,
            "enter": {
                "x": -213.4049,
                "y": 6395.9585,
                "z": 33.7235
            },
            "allowFurnitureInside": true,
            "deliveryType": "outside",
            "lastCadastralPeriod": "07:2025",
            "zone": {
                "maxZ": 41.33707237243652,
                "area": 1148,
                "minZ": 25.33707237243652,
                "points": [
                    {
                        "y": 6362.8569,
                        "x": -192.8159
                    },
                    {
                        "y": 6378.2285,
                        "x": -177.2231
                    },
                    {
                        "y": 6388.0571,
                        "x": -186.8981
                    },
                    {
                        "y": 6389.7969,
                        "x": -185.0591
                    },
                    {
                        "y": 6408.2832,
                        "x": -204.0579
                    },
                    {
                        "y": 6415.0508,
                        "x": -207.3751
                    },
                    {
                        "y": 6415.5547,
                        "x": -207.3833
                    },
                    {
                        "y": 6398.7544,
                        "x": -227.5731
                    }
                ]
            },
            "upgrades": {
                "furnitureLimit": "1"
            },
            "locked": false,
            "allowFurnitureOutside": true,
            "garage": {
                "w": 46.99999618530273,
                "x": -197.7123,
                "y": 6397.5713,
                "z": 30.8626
            },
            "delivery": {
                "w": 130.0,
                "x": -216.7046,
                "y": 6394.7998,
                "z": 32.0852
            },
            "shell": "envi_shell_02_empty"
        },
        "creator": "char3:11000014c8ce27b",
        "furniture": [
            {
                "position": {
                    "pitch": 0.0,
                    "y": -3.47876214981079,
                    "z": 502.9772644042969,
                    "yaw": 0.0,
                    "x": -2.18221616744995,
                    "roll": -0.0,
                    "environment": "inside"
                },
                "stored": 0,
                "model": "prop_wall_light_06a",
                "id": 640,
                "metadata": [],
                "house_id": 138
            },
        ],
    },
]]

IsPlayerOnPropertyZone

Returns true if the player is standing in the property's yard/zone (outside).

---@return {propertyId: string | nil}
---@return {propertyData : table | nil}
local propertyId, propertyData = exports['vms_housing']:IsPlayerOnPropertyZone()

IsPlayerInsideProperty

Returns true if the player is currently inside any property interior or inside MLO.

---@return {propertyId: string | nil}
---@return {propertyData : table | nil}
local propertyId, propertyData = exports['vms_housing']:IsPlayerInsideProperty()

GetCurrentRegion

Returns the current region by coords.

---@param {coords: vector3}
---@return {region: string | nil}
local region = exports['vms_housing']:GetCurrentRegion(coords)

HasKeys

Returns true if the player has keys to the specified property.

---@param {propertyId: number | string}
---@return {hasKeys: boolean}
local hasKeys = exports['vms_housing']:HasKeys(propertyId)

HasPermissions

Returns true if the player has the given permission for a property.

---@param {propertyId: number | string}
---@param {permission: string}
---@return {hasPermission: boolean}
local hasPermission = exports['vms_housing']:HasPermissions(propertyId, permission)
Explanation

List of available permissions:

  • garage

  • furniture

  • billPayments

  • keysManage

  • upgradesManage

  • marketplaceManage

  • sell

  • automaticSell

  • rent

  • rentersManage


HasAnyPermission

Returns true if the player has any permissions set for the property.

---@param {propertyId: number | string}
---@return {hasAnyPermission: boolean}
local hasAnyPermission = exports['vms_housing']:HasAnyPermission(propertyId)

IsHaveAnyApartment

Returns true if the player owns any apartment in the specific building.

---@param {buildingId: number | string}
---@return {isHave: boolean}
local isHave = exports['vms_housing']:IsHaveAnyApartment(buildingId)

OpenMarketplace

Opens the Marketplace UI to buy or rent properties.

exports['vms_housing']:OpenMarketplace()

OpenManageMenu

Opens the management menu for a property (if has any permissions).

exports['vms_housing']:OpenManageMenu()

OpenFurnitureMenu

Opens the Furniture Menu for a given property (if allowed).

exports['vms_housing']:OpenFurnitureMenu()

Last updated

Was this helpful?