OrigenNetwork
Docs

Exports · origen_housing

All exports are registered under the resource name origen_housing.


Server-side exports

getAllHouses()table

Returns all houses in the database.

lua
local houses = exports['origen_housing']:getAllHouses()

getOwnedHouses(identifier)table

Returns all houses owned by a player.

lua
local houses = exports['origen_housing']:getOwnedHouses(citizenid)

getHouse(id)table | nil

Returns the house data for a given house ID.

lua
local house = exports['origen_housing']:getHouse(houseID)

setHouseOwner(id, source)

Set the owner of a house to the given player (source = server ID).

lua
exports['origen_housing']:setHouseOwner(houseID, source)

hasKey(_, citizenid, houseID)boolean

Check if a player has a key to a house.

lua
local hasKey = exports['origen_housing']:hasKey(nil, citizenid, houseID)

lockpick(source, isAdvanced)

Trigger the lockpick action on a house for a player.

lua
exports['origen_housing']:lockpick(source, false)

createDoor(houseID, data) / deleteDoor(houseID, doorID) / updateDoorState(houseID, doorID, state)

Manage doors for a house programmatically.


openDoor(houseID, doorID) / saveDoorStatus(houseID) / startAlarm(houseID)

Open a door, save its status, or trigger the house alarm.


buyUpgrade(source, houseID, upgrade) / buyHouseUpgrade(source, houseID, upgrade)

Purchase an upgrade for a house.


buyFurniture(source, houseID, data) / updateFurniture(...) / deleteFurniture(...)

Manage furniture items for a house.


updateLight(...) / updateBoard(...) / getLightCount(houseID) / getStashesCount(houseID)

Manage lights and boards, and query their counts.


saveBuilding(houseID, stage) / startBuilding(houseID)

Control the construction stage of a house.


registerHook(event, cb, options)id

Register a server-side hook on housing events. Returns a hook ID.

lua
local id = exports['origen_housing']:registerHook('onBuyHouse', function(payload, cancel)
    -- payload: { source, houseID, price, owner }
    -- cancel() to abort the action
end)

Available events: onBuyHouse, onDeleteHouse, onBuyUpgrade, onBuyFurniture, onDeleteFurniture.


removeHooks(id)

Remove a previously registered hook.

lua
exports['origen_housing']:removeHooks(id)

AddTableData(table, columns) / checkTables()

Utility for dynamic DB schema management. Used internally.


Client-side exports

insideHouse()number | nil

Returns the ID of the house the local player is currently inside, or nil if outside.

lua
local houseID = exports['origen_housing']:insideHouse()

getNearbyHouse()table | nil

Returns the nearest house data to the player's current position.

lua
local house = exports['origen_housing']:getNearbyHouse()

getPlayerHouses()table[]

Returns the houses owned by the local player. Each entry contains label, location, desc, entryCoords.

lua
local houses = exports['origen_housing']:getPlayerHouses()

getHouses()table

Returns all houses loaded client-side.

lua
local houses = exports['origen_housing']:getHouses()

OpenHouseMenu() / CloseHouseMenu()

Open or close the in-house management panel programmatically.


setHousePosition(houseID)

Teleport the player to a house entry point.

lua
exports['origen_housing']:setHousePosition(houseID)

toggleDoor(houseID)

Toggle the main door of a house (lock/unlock).

lua
exports['origen_housing']:toggleDoor(houseID)

getHouseDoor(houseID)table | nil

Returns the main door data for a house.


addKeyHolder(houseID, target) / removeKeyHolder(houseID, identifier)

Add or remove a key holder for a house.

lua
exports['origen_housing']:addKeyHolder(houseID, targetServerId)
exports['origen_housing']:removeKeyHolder(houseID, citizenid)

loadHouse(houseID, cb, options)

Load a house manually and call cb when complete.

lua
exports['origen_housing']:loadHouse(houseID, function()
    print('House loaded')
end, {})

isBusy()boolean

Returns true if the housing system is currently processing an action (e.g. entering/exiting).

lua
if exports['origen_housing']:isBusy() then return end