Hooks
Event hooks let third-party resources add new behavior to the housing system without modifying its core code, ensuring flexibility and maintainability. They are for server-side use only.
RegisterHook
exports.origen_housing:registerHook(eventName, function(payload)
end, options)eventName:
stringpayload:
tableoptions?:
tableprint?:
booleanPrint to the console when triggering the event.
ownerFilter?:
{ [string]: true }The event will only trigger for owners defined as keys in a set.
houseFilter?:
{ [number]: true }The event will only trigger for houses defined as keys in a set.
zoneFilter?:
{ [string]: true }The event will only trigger for zone defined as keys in a set.
propFilter?:
{ [string]: true }The event will only trigger for props defined as keys in a set.
userFilter?:
{ [string]: true }The event will only trigger for identifiers defined as keys in a set.
Return:
hookId:
number
RemoveHooks
exports.origen_housing:removeHooks(id)id?: number
Hooks events
BuyHouse
This event is triggered when a house is purchased or the setHouseOwner export is used.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numbercount:
number: Number of player's housespayMethod:
stringprice:
numberisSetOwner:
boolean
Example:
local hookId = exports.origen_housing:registerHook('buyHouse', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
houseFilter = { [101] = true, [202] = true },
})AddHolder
This event is executed when an attempt is made to add a keyholder to the house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberidentifier:
stringpayMethod:
stringname:
stringisSetOwner:
booleanowner:
string
Example:
local hookId = exports.origen_housing:registerHook('addHolder', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
userFilter = { ['identifier1'] = true, ['identifier2'] = true },
ownerFilter = { ['ownerIdentifier'] = true },
houseFilter = { [101] = true, [202] = true },
})RemoveHolder
This event is executed when an attempt is made to remove a keyholder from the house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberowner:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('removeHolder', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
userFilter = { ['identifier1'] = true, ['identifier2'] = true },
ownerFilter = { ['ownerIdentifier'] = true },
houseFilter = { [101] = true, [202] = true },
})CreateDoor
This hook is triggered when an attempt is made to create a new door in a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numbername:
stringtype:
stringowner:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('createDoor', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
userFilter = { ['identifier1'] = true, ['identifier2'] = true },
houseFilter = { [101] = true, [202] = true },
})DeleteDoor
This hook is triggered when an attempt is made to delete a door from a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberid:
numberowner:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('deleteDoor', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
userFilter = { ['identifier1'] = true, ['identifier2'] = true },
houseFilter = { [101] = true, [202] = true },
})OpenDoor
This hook is triggered when an attempt is made to open a door in a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberid:
numberowner:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('openDoor', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
userFilter = { ['identifier1'] = true, ['identifier2'] = true },
houseFilter = { [101] = true, [202] = true },
})UpdateLight
This hook is triggered when an attempt is made to update a house's lighting.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberpropId:
stringzone:
stringowner:
stringpropModel:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('updateLight', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
zoneFilter = { ['exterior'] = true },
propFilter = { ['lamp_model'] = true },
})UpdateBoard
This hook is triggered when an attempt is made to update a board within the house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberpropId:
stringurl:
stringzone:
stringowner:
stringpropModel:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('updateBoard', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
zoneFilter = { ['interior'] = true, ['exterior'] = true },
propFilter = { ['board_model'] = true },
})BuyFurniture
This hook is triggered when an attempt is made to purchase furniture for a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberpropId:
stringzone:
stringowner:
stringpropModel:
stringprice:
numberidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('buyFurniture', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
ownerFilter = { ['owner123'] = true },
propFilter = { ['sofa_model'] = true, ['table_model'] = true },
})UpdateFurniture
This hook is triggered when an attempt is made to update existing furniture in a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberpropId:
stringzone:
stringowner:
stringpropModel:
stringidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('updateFurniture', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
houseFilter = { [505] = true, [606] = true },
propFilter = { ['bed_model'] = true },
})DeleteFurniture
This hook is triggered when an attempt is made to remove furniture from a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberpropId:
stringzone:
stringowner:
stringpropModel:
stringprice:
numberidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('deleteFurniture', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
ownerFilter = { ['owner456'] = true },
zoneFilter = { ['interior'] = true },
propFilter = { ['chair_model'] = true },
})BuyUpgrade
This hook is triggered when an attempt is made to purchase an upgrade for a house.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberupgrade:
stringzone:
stringowner:
stringprice:
numberidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('buyUpgrade', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
houseFilter = { [101] = true, [202] = true },
})BuyHouseUpgrade
This hook is triggered when an attempt is made to purchase a house style upgrade.
By returning false, you can cancel the action.
payload
source:
numberhouseID:
numberstyle:
stringowner:
stringprice:
numberidentifier:
string
Example:
local hookId = exports.origen_housing:registerHook('buyHouseUpgrade', function(payload)
print(json.encode(payload, { indent = true }))
return false
end, {
print = true,
houseFilter = { [303] = true, [404] = true },
})Last updated