Adding Building Interaction
What is building interactions?
Building interactions is functions that adds unique interactions to the building. These interactions can be anything you want.
info
Building interactions are enabled when the player enters the building and disabled when the player leaves the building. For this reason, a function should be returned that will deactive the interaction.
info
To be able to add interaction to the building, you need to add interactions to the building data.
Examples
no-housing/config/shared/buildings/ipl/meth.lua
local Interactions = {
function(building, ctx)
local stashCoords = {vector3(970.4816, -146.893, -49.0)}
local zoneId = "housing:stash:static"
local zones = {}
for k, coords in pairs(stashCoords) do
zones[#zones + 1] = CreateSphereZone(zoneId, {
id = zoneId .. ":" .. k,
coords = coords,
radius = 1.5,
data = k
})
end
local destroyListener = UsePolyHook(zoneId, {
label = "Stash",
icon = "box",
onPressed = function(stashId, stop)
local stash = "housing:static:stash:" .. ctx.id .. ":" .. stashId
TriggerEvent("inventory:open", stash, ctx.address)
end
})
return function()
destroyListener()
for _, destroy in pairs(zones) do
destroy()
end
end
end
}
Config.Buildings.Ipl.meth = {
interactions = Interactions,
coords = vector3(978.6258, -144.1735, -48.99),
doors = {
{coords = vector3(969.4758, -147.1619, -46.40), h = 271.15}
},
onEnter = function(ctx)
end,
onExit = function()
end
}