Início › Documentação › Configuração · origen_housing

Configuração · origen_housing

A configuração está dividida em vários ficheiros dentro de config/.


config/_main.lua — Geral

Variável Por omissão Descrição
Config.Language 'en' Idioma da interface — 'en' | 'es' | 'fr' | 'it'
Config.Debug false Ativa o registo de depuração
Config.DatabaseStructureCheck true Valida a estrutura da base de dados ao arrancar
Config.RenderDistance 200 Distância em metros para renderizar edifícios e mobiliário exterior
Config.DoorLimit 10 Máximo de portas por casa (apenas MLO). false = sem limite
Config.LightsLimit.interior 10 Máximo de luzes interiores por casa
Config.LightsLimit.exterior 10 Máximo de luzes exteriores por casa
Config.SaveDoorStatus true Guarda na base de dados o estado aberto/fechado das portas
Config.StartBuildingOnBuy true Inicia a construção imediatamente ao comprar. false = inicia-se ao criar a casa
Config.LoadFurnitureOnlyInPolyzone false Carrega o mobiliário apenas quando o jogador está dentro da polyzone
Config.GarageNeedMainDoorUnlocked false A garagem fica trancada quando a porta principal está trancada
Config.KeyHoldersNeedDoorUnlocked false Os detentores de chave só podem entrar se a porta principal estiver destrancada
Config.LimitOfHouses 10 Máximo de casas que um jogador pode ter. false = sem limite
Config.LimitOfKeyHolders 15 Máximo de detentores de chave por casa. false = sem limite
Config.CustomDrawText false Usa Custom.DrawText em vez do texto no ecrã da framework
Config.CustomNotify false Usa Custom.Notify em vez das notificações do ox_lib
Config.ExternalInteractionSystem false Usa Custom.CreateCoordsInteraction para os pontos de interação
Config.EnableStashesLimit false Limita o número de arrecadações por casa
Config.StashesLimit 5 Máximo de arrecadações por casa (quando EnableStashesLimit = true)
Config.ShowHousePanelOnBuy true Mostra o painel da casa logo após a compra
Config.CustomInventory false Usa Custom.OpenStash em vez do inventário detetado automaticamente
Config.CustomClothing false Usa Custom.Wardrobe em vez do sistema de roupa detetado automaticamente
Config.EnterHouseOnSpawn true Teletransporta o jogador para a sua última casa ao aparecer
Config.UseNameInBlipInsteadOfId false Mostra o nome da casa em vez do ID nos blips do mapa
Config.UseHouseGarages false Ativa o sistema de garagens integrado
Config.ForceDisableRain false Desativa a chuva dentro dos interiores shell
Config.FurnitureEnable.interior true Permite colocar mobiliário interior
Config.FurnitureEnable.exterior true Permite colocar mobiliário exterior

Blip

lua
Config.Blip = {
    sprite              = 350,
    scale               = 0.6,
    color               = 0,
    buyedSprite         = 40,        -- sprite for owned houses
    showBlipInDistance  = false,     -- short range blip
}

Marcadores

lua
Config.Markers = {
    ['general'] = { type = 20, color = {0, 0, 0, 200}, ... },  -- entry/exit points
    ['garage']  = { type = 36, color = {0, 0, 0, 200}, ... },  -- garage points
}

Pagamento

lua
Config.DefaultPaymentMethod = 'cash'
 
Config.PaymentMethods = {
    ['cash'] = true,
    ['bank'] = true,
}

Distâncias das portas

lua
Config.DoorDistances = {
    ['normal'] = 2.0,
    ['double'] = 2.0,
    ['garage'] = 3.5,
}

Correspondência de colunas da base de dados

Relaciona os nomes internos de campo com as colunas das tabelas da tua framework. Usa valores 'custom' quando usares Config.Framework = 'custom':

Campo QBCore ESX
tabela players players users
coluna identifier citizenid identifier
tabela vehicles player_vehicles owned_vehicles
coluna owner citizenid owner
coluna mods mods vehicle
coluna state state stored
coluna garage garage parking

config/permissions.lua

Grupos de administração que podem criar, eliminar ou editar casas:

lua
Config.Permissions = {
    ['create'] = {'god', 'admin'},
    ['delete'] = {'god', 'admin'},
    ['edit']   = {'god', 'admin'},
}

Permissões por trabalho (agente imobiliário)

lua
Config.Job = {
    active = true,
    allowed = {
        ['realestate'] = {
            minGrade = 1,
            create   = true,
            delete   = false,
            edit     = false,
        },
    }
}

config/commands.lua

Comando Tecla por omissão Descrição
/housing — Abre o menu de administração / gestão imobiliária
/management O Abre o menu de gestão da casa (dentro de uma casa)
/furniture K Abre o menu de colocação de mobiliário (dentro de uma casa)

config/logs.lua — Webhooks do Discord

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

Melhorias que se podem comprar e respetivos preços:

Chave Nome Preço
alarm Alarme $10,000
cameras Câmaras $12,000
doors Portas $15,000
sensors Sensores $10,000
storage_security Segurança da arrecadação $10,000
domotic Domótica $10,000

config/stashes.lua

Tipos de arrecadação disponíveis para guardar itens na casa:

Chave Peso Lugares
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

Ativa a garagem integrada definindo Config.UseHouseGarages = true.

Tipos de garagem disponíveis:

Nome Modelo Lugares
Garagem básica basic 1
Garagem média medium 4
Garagem grande large 10
Garagem premium premium 16 (3 pisos)

Define Config.CustomGarage = true e implementa Custom.OpenCustomGarage(houseID, garageType, coords) para usares o teu próprio sistema de garagens.