OrigenNetwork
Docs

Configuration · origen_housing

Configuration is split across multiple files inside config/.


config/_main.lua — General

VariableDefaultDescription
Config.Language'en'UI language — 'en' | 'es' | 'fr' | 'it'
Config.DebugfalseEnable debug logging
Config.DatabaseStructureChecktrueValidate DB structure on start
Config.RenderDistance200Distance in meters to render buildings and exterior furniture
Config.DoorLimit10Max doors per house (MLO only). false = no limit
Config.LightsLimit.interior10Max interior lights per house
Config.LightsLimit.exterior10Max exterior lights per house
Config.SaveDoorStatustruePersist door open/closed state to DB
Config.StartBuildingOnBuytrueStart building immediately on purchase. false = start on house creation
Config.LoadFurnitureOnlyInPolyzonefalseOnly load furniture when player is inside the polyzone
Config.GarageNeedMainDoorUnlockedfalseGarage locks when main door is locked
Config.KeyHoldersNeedDoorUnlockedfalseKey holders can only enter if main door is unlocked
Config.LimitOfHouses10Max houses a player can own. false = no limit
Config.LimitOfKeyHolders15Max key holders per house. false = no limit
Config.CustomDrawTextfalseUse Custom.DrawText instead of framework draw text
Config.CustomNotifyfalseUse Custom.Notify instead of ox_lib notifications
Config.ExternalInteractionSystemfalseUse Custom.CreateCoordsInteraction for interaction points
Config.EnableStashesLimitfalseLimit stash count per house
Config.StashesLimit5Max stashes per house (when EnableStashesLimit = true)
Config.ShowHousePanelOnBuytrueShow the house panel immediately after purchase
Config.CustomInventoryfalseUse Custom.OpenStash instead of auto-detected inventory
Config.CustomClothingfalseUse Custom.Wardrobe instead of auto-detected clothing
Config.EnterHouseOnSpawntrueTeleport player to their last house on spawn
Config.UseNameInBlipInsteadOfIdfalseShow house name instead of ID in map blips
Config.UseHouseGaragesfalseEnable the built-in garage system
Config.ForceDisableRainfalseDisable rain inside shell interiors
Config.FurnitureEnable.interiortrueAllow placing interior furniture
Config.FurnitureEnable.exteriortrueAllow 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':

FieldQBCoreESX
players tableplayersusers
identifier columncitizenididentifier
vehicles tableplayer_vehiclesowned_vehicles
owner columncitizenidowner
mods columnmodsvehicle
state columnstatestored
garage columngarageparking

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

CommandDefault keyDescription
/housingOpen the admin/real estate management menu
/managementOOpen the house management menu (inside a house)
/furnitureKOpen 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:

KeyLabelPrice
alarmAlarm$10,000
camerasCameras$12,000
doorsDoors$15,000
sensorsSensors$10,000
storage_securityStorage Security$10,000
domoticDomotic$10,000

config/stashes.lua

Stash types available for house storage items:

KeyWeightSlots
small51
normal205
medium256
big5010
extrabig10030

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:

LabelModelSlots
Basic Garagebasic1
Medium Garagemedium4
Large Garagelarge10
Premium Garagepremium16 (3 floors)

Set Config.CustomGarage = true and implement Custom.OpenCustomGarage(houseID, garageType, coords) to use your own garage system.