Configuration · origen_housing
Configuration is split across multiple files inside config/.
config/_main.lua — General
| Variable | Default | Description |
|---|---|---|
Config.Language | 'en' | UI language — 'en' | 'es' | 'fr' | 'it' |
Config.Debug | false | Enable debug logging |
Config.DatabaseStructureCheck | true | Validate DB structure on start |
Config.RenderDistance | 200 | Distance in meters to render buildings and exterior furniture |
Config.DoorLimit | 10 | Max doors per house (MLO only). false = no limit |
Config.LightsLimit.interior | 10 | Max interior lights per house |
Config.LightsLimit.exterior | 10 | Max exterior lights per house |
Config.SaveDoorStatus | true | Persist door open/closed state to DB |
Config.StartBuildingOnBuy | true | Start building immediately on purchase. false = start on house creation |
Config.LoadFurnitureOnlyInPolyzone | false | Only load furniture when player is inside the polyzone |
Config.GarageNeedMainDoorUnlocked | false | Garage locks when main door is locked |
Config.KeyHoldersNeedDoorUnlocked | false | Key holders can only enter if main door is unlocked |
Config.LimitOfHouses | 10 | Max houses a player can own. false = no limit |
Config.LimitOfKeyHolders | 15 | Max key holders per house. false = no limit |
Config.CustomDrawText | false | Use Custom.DrawText instead of framework draw text |
Config.CustomNotify | false | Use Custom.Notify instead of ox_lib notifications |
Config.ExternalInteractionSystem | false | Use Custom.CreateCoordsInteraction for interaction points |
Config.EnableStashesLimit | false | Limit stash count per house |
Config.StashesLimit | 5 | Max stashes per house (when EnableStashesLimit = true) |
Config.ShowHousePanelOnBuy | true | Show the house panel immediately after purchase |
Config.CustomInventory | false | Use Custom.OpenStash instead of auto-detected inventory |
Config.CustomClothing | false | Use Custom.Wardrobe instead of auto-detected clothing |
Config.EnterHouseOnSpawn | true | Teleport player to their last house on spawn |
Config.UseNameInBlipInsteadOfId | false | Show house name instead of ID in map blips |
Config.UseHouseGarages | false | Enable the built-in garage system |
Config.ForceDisableRain | false | Disable rain inside shell interiors |
Config.FurnitureEnable.interior | true | Allow placing interior furniture |
Config.FurnitureEnable.exterior | true | Allow placing exterior furniture |
Blip
lua
Config.Blip = {
sprite = 350,
scale = 0.6,
color = 0,
buyedSprite = 40, -- sprite for owned houses
showBlipInDistance = false, -- short range blip
}Markers
lua
Config.Markers = {
['general'] = { type = 20, color = {0, 0, 0, 200}, ... }, -- entry/exit points
['garage'] = { type = 36, color = {0, 0, 0, 200}, ... }, -- garage points
}Payment
lua
Config.DefaultPaymentMethod = 'cash'
Config.PaymentMethods = {
['cash'] = true,
['bank'] = true,
}Door distances
lua
Config.DoorDistances = {
['normal'] = 2.0,
['double'] = 2.0,
['garage'] = 3.5,
}DB column mapping
Maps internal field names to your framework's table columns. Set 'custom' values when using Config.Framework = 'custom':
| Field | QBCore | ESX |
|---|---|---|
players table | players | users |
identifier column | citizenid | identifier |
vehicles table | player_vehicles | owned_vehicles |
owner column | citizenid | owner |
mods column | mods | vehicle |
state column | state | stored |
garage column | garage | parking |
config/permissions.lua
Admin groups that can create, delete, or edit houses:
lua
Config.Permissions = {
['create'] = {'god', 'admin'},
['delete'] = {'god', 'admin'},
['edit'] = {'god', 'admin'},
}Job-based permissions (real estate agent)
lua
Config.Job = {
active = true,
allowed = {
['realestate'] = {
minGrade = 1,
create = true,
delete = false,
edit = false,
},
}
}config/commands.lua
| Command | Default key | Description |
|---|---|---|
/housing | — | Open the admin/real estate management menu |
/management | O | Open the house management menu (inside a house) |
/furniture | K | Open the furniture placement menu (inside a house) |
config/logs.lua — Discord webhooks
lua
ServerConfig.UseIdentifiers = true -- include player identifiers in logs
ServerConfig.Logs = {
CreateHouse = 'YOUR_DISCORD_WEBHOOK',
DeleteHouse = 'YOUR_DISCORD_WEBHOOK',
BuyHouse = 'YOUR_DISCORD_WEBHOOK',
BuyUpgrade = 'YOUR_DISCORD_WEBHOOK',
CreateDoor = 'YOUR_DISCORD_WEBHOOK',
}config/upgrades.lua
Purchasable upgrades and their prices:
| Key | Label | Price |
|---|---|---|
alarm | Alarm | $10,000 |
cameras | Cameras | $12,000 |
doors | Doors | $15,000 |
sensors | Sensors | $10,000 |
storage_security | Storage Security | $10,000 |
domotic | Domotic | $10,000 |
config/stashes.lua
Stash types available for house storage items:
| Key | Weight | Slots |
|---|---|---|
small | 5 | 1 |
normal | 20 | 5 |
medium | 25 | 6 |
big | 50 | 10 |
extrabig | 100 | 30 |
config/raid.lua
lua
Config.Raid = {
enabled = true,
item = 'stormram',
allowedJobs = { ['police'] = true, ['sheriff'] = true, ['fib'] = true },
triggerAlarm = true,
skillcheck = true,
animation = { dict = 'melee@unarmed@streamed_core', anim = 'kick_close_a' },
}config/robbery.lua
lua
Config.Lockpick = {
enabled = true,
customLockpickMinigame = false, -- use Custom.LockpickMinigame if true
policeNeed = 2,
maxTry = 3,
item = 'lockpick',
advancedItem = 'advancedlockpick',
alertOwner = true,
}
Config.AlarmDuration = 5 -- alarm duration in minutes
Config.Dispatch = 'origen_police' -- 'origen_police' | 'custom'
Config.PoliceJob = 'police'config/garages.lua
Enable the built-in garage by setting Config.UseHouseGarages = true.
Available garage types:
| Label | Model | Slots |
|---|---|---|
| Basic Garage | basic | 1 |
| Medium Garage | medium | 4 |
| Large Garage | large | 10 |
| Premium Garage | premium | 16 (3 floors) |
Set Config.CustomGarage = true and implement Custom.OpenCustomGarage(houseID, garageType, coords) to use your own garage system.