Accueil › Documentation › Exports · origen_housing
Tous les exports sont enregistrés sous le nom de ressource origen_housing.
getAllHouses() → tableRenvoie toutes les maisons de la base de données.
local houses = exports['origen_housing']:getAllHouses()getOwnedHouses(identifier) → tableRenvoie toutes les maisons appartenant à un joueur.
local houses = exports['origen_housing']:getOwnedHouses(citizenid)getHouse(id) → table | nilRenvoie les données de la maison correspondant à l’ID donné.
local house = exports['origen_housing']:getHouse(houseID)setHouseOwner(id, source)Définit le joueur donné comme propriétaire d’une maison (source = ID serveur).
exports['origen_housing']:setHouseOwner(houseID, source)hasKey(_, citizenid, houseID) → booleanVérifie si un joueur possède une clé d’une maison.
local hasKey = exports['origen_housing']:hasKey(nil, citizenid, houseID)lockpick(source, isAdvanced)Déclenche l’action de crochetage sur une maison pour un joueur.
exports['origen_housing']:lockpick(source, false)createDoor(houseID, data) / deleteDoor(houseID, doorID) / updateDoorState(houseID, doorID, state)Gère par programmation les portes d’une maison.
openDoor(houseID, doorID) / saveDoorStatus(houseID) / startAlarm(houseID)Ouvre une porte, enregistre son état ou déclenche l’alarme de la maison.
buyUpgrade(source, houseID, upgrade) / buyHouseUpgrade(source, houseID, upgrade)Achète une amélioration pour une maison.
buyFurniture(source, houseID, data) / updateFurniture(...) / deleteFurniture(...)Gère les meubles d’une maison.
updateLight(...) / updateBoard(...) / getLightCount(houseID) / getStashesCount(houseID)Gère les lumières et les tableaux, et consulte leurs quantités.
saveBuilding(houseID, stage) / startBuilding(houseID)Contrôle la phase de construction d’une maison.
registerHook(event, cb, options) → idEnregistre un hook côté serveur sur les événements des maisons. Renvoie un ID de hook.
local id = exports['origen_housing']:registerHook('onBuyHouse', function(payload, cancel)
-- payload: { source, houseID, price, owner }
-- cancel() to abort the action
end)Événements disponibles : onBuyHouse, onDeleteHouse, onBuyUpgrade, onBuyFurniture, onDeleteFurniture.
removeHooks(id)Supprime un hook enregistré précédemment.
exports['origen_housing']:removeHooks(id)AddTableData(table, columns) / checkTables()Utilitaires pour la gestion dynamique du schéma de la base de données. Utilisés en interne.
insideHouse() → number | nilRenvoie l’ID de la maison dans laquelle se trouve le joueur local, ou nil s’il est dehors.
local houseID = exports['origen_housing']:insideHouse()getNearbyHouse() → table | nilRenvoie les données de la maison la plus proche de la position actuelle du joueur.
local house = exports['origen_housing']:getNearbyHouse()getPlayerHouses() → table[]Renvoie les maisons appartenant au joueur local. Chaque entrée contient label, location, desc, entryCoords.
local houses = exports['origen_housing']:getPlayerHouses()getHouses() → tableRenvoie toutes les maisons chargées côté client.
local houses = exports['origen_housing']:getHouses()OpenHouseMenu() / CloseHouseMenu()Ouvre ou ferme par programmation le panneau de gestion à l’intérieur de la maison.
setHousePosition(houseID)Téléporte le joueur au point d’entrée d’une maison.
exports['origen_housing']:setHousePosition(houseID)toggleDoor(houseID)Bascule la porte principale d’une maison (verrouiller/déverrouiller).
exports['origen_housing']:toggleDoor(houseID)getHouseDoor(houseID) → table | nilRenvoie les données de la porte principale d’une maison.
addKeyHolder(houseID, target) / removeKeyHolder(houseID, identifier)Ajoute ou retire un détenteur de clé d’une maison.
exports['origen_housing']:addKeyHolder(houseID, targetServerId)
exports['origen_housing']:removeKeyHolder(houseID, citizenid)loadHouse(houseID, cb, options)Charge une maison manuellement et appelle cb une fois terminé.
exports['origen_housing']:loadHouse(houseID, function()
print('House loaded')
end, {})isBusy() → booleanRenvoie true si le système de maisons est en train de traiter une action (p. ex. entrée ou sortie).
if exports['origen_housing']:isBusy() then return end