Accueil › Documentation › Exports · origen_housing

Exports · origen_housing

Tous les exports sont enregistrés sous le nom de ressource origen_housing.


Exports serveur

getAllHouses() → table

Renvoie toutes les maisons de la base de données.

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

getOwnedHouses(identifier) → table

Renvoie toutes les maisons appartenant à un joueur.

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

getHouse(id) → table | nil

Renvoie les données de la maison correspondant à l’ID donné.

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

setHouseOwner(id, source)

Définit le joueur donné comme propriétaire d’une maison (source = ID serveur).

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

hasKey(_, citizenid, houseID) → boolean

Vérifie si un joueur possède une clé d’une maison.

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

lockpick(source, isAdvanced)

Déclenche l’action de crochetage sur une maison pour un joueur.

lua
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) → id

Enregistre un hook côté serveur sur les événements des maisons. Renvoie un ID de hook.

lua
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.

lua
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.


Exports client

insideHouse() → number | nil

Renvoie l’ID de la maison dans laquelle se trouve le joueur local, ou nil s’il est dehors.

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

getNearbyHouse() → table | nil

Renvoie les données de la maison la plus proche de la position actuelle du joueur.

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

getPlayerHouses() → table[]

Renvoie les maisons appartenant au joueur local. Chaque entrée contient label, location, desc, entryCoords.

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

getHouses() → table

Renvoie toutes les maisons chargées côté client.

lua
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.

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

toggleDoor(houseID)

Bascule la porte principale d’une maison (verrouiller/déverrouiller).

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

getHouseDoor(houseID) → table | nil

Renvoie 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.

lua
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é.

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

isBusy() → boolean

Renvoie true si le système de maisons est en train de traiter une action (p. ex. entrée ou sortie).

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