Home › Documentation › Exports · origen_housing
All exports are registered under the resource name origen_housing.
getAllHouses() → tableReturns all houses in the database.
local houses = exports['origen_housing']:getAllHouses()getOwnedHouses(identifier) → tableReturns all houses owned by a player.
local houses = exports['origen_housing']:getOwnedHouses(citizenid)getHouse(id) → table | nilReturns the house data for a given house ID.
local house = exports['origen_housing']:getHouse(houseID)setHouseOwner(id, source)Set the owner of a house to the given player (source = server ID).
exports['origen_housing']:setHouseOwner(houseID, source)hasKey(_, citizenid, houseID) → booleanCheck if a player has a key to a house.
local hasKey = exports['origen_housing']:hasKey(nil, citizenid, houseID)lockpick(source, isAdvanced)Trigger the lockpick action on a house for a player.
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) → idRegister a server-side hook on housing events. Returns a hook ID.
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.
exports['origen_housing']:removeHooks(id)AddTableData(table, columns) / checkTables()Utility for dynamic DB schema management. Used internally.
insideHouse() → number | nilReturns the ID of the house the local player is currently inside, or nil if outside.
local houseID = exports['origen_housing']:insideHouse()getNearbyHouse() → table | nilReturns the nearest house data to the player's current position.
local house = exports['origen_housing']:getNearbyHouse()getPlayerHouses() → table[]Returns the houses owned by the local player. Each entry contains label, location, desc, entryCoords.
local houses = exports['origen_housing']:getPlayerHouses()getHouses() → tableReturns all houses loaded client-side.
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.
exports['origen_housing']:setHousePosition(houseID)toggleDoor(houseID)Toggle the main door of a house (lock/unlock).
exports['origen_housing']:toggleDoor(houseID)getHouseDoor(houseID) → table | nilReturns the main door data for a house.
addKeyHolder(houseID, target) / removeKeyHolder(houseID, identifier)Add or remove a key holder for a house.
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.
exports['origen_housing']:loadHouse(houseID, function()
print('House loaded')
end, {})isBusy() → booleanReturns true if the housing system is currently processing an action (e.g. entering/exiting).
if exports['origen_housing']:isBusy() then return end