Inicio › Documentación › Configuración · origen_ilegalv2

Configuración · origen_ilegalv2

Todos los ajustes pensados para el usuario están en config/. Los ficheros no están protegidos por escrow, así que puedes editarlos libremente.


General (config/general.lua)

luaconfig/general.lua
Config.Debug    = false   -- print extra console output for troubleshooting
Config.Language = 'en'    -- 'en' | 'es'

Bandas (config/gangs.lua)

Controla los límites globales de bandas, el banco compartido, el sistema de XP/niveles, el item del CAD y la jerarquía de rangos por defecto.

luaconfig/gangs.lua
Config.Gang = {
    MaxMembers = 20,   -- max members per gang
    MaxGangs   = 50,   -- max concurrent gangs on the server
 
    Bank = {
        Enable     = true,
        StartMoney = 0,
        MaxMoney   = 10000000,
    },
 
    LevelSystem = {
        Enable      = true,
        ExpPerLevel = 1000,  -- used only with 'flat' formula
    },
 
    CAD = {
        ItemName   = 'ilegal_cad',
        Price      = 500,       -- cost per additional CAD unit
        PayAccount = 'cash',    -- 'cash' | 'bank'
    },
}

Permisos de rango por defecto

Cuando se crea una banda, se generan automáticamente cuatro rangos: Leader, Co-Leader, Member, Recruit. La lista completa de permisos por rango se define en Config.Gang.DefaultRanks. Flags de permiso disponibles:

Permiso Qué permite
invite Invitar a nuevos miembros
kick Expulsar miembros
promote / demote Cambiar el rango de un miembro
manage_bank Gestión completa del banco
withdraw / deposit Transacciones bancarias
access_stash Stash compartido de la banda
access_personal_stash Stash personal dentro de la UI de la banda
access_garage Garaje de vehículos de la banda
access_clothing Vestuario de la banda
manage_stash Crear / eliminar stashes
manage_vehicles Añadir / eliminar vehículos de la banda
manage_ranks Editar nombres y permisos de rangos
manage_locations Definir el HQ y las ubicaciones del mapa
view_logs Ver el registro de actividad de la banda
disband Disolver la banda
quick_search Búsqueda rápida con F6 de jugadores cercanos
quick_handcuff Atajo de esposar con F6
quick_vehicle Llamar con F6 al vehículo de la banda
quick_radio Abrir con F6 la pestaña de radio

Laboratorios (config/labs.lua)

luaconfig/labs.lua
Config.Labs = {
    Bucket = { Base = 42000 },    -- routing bucket base (base + lab_id per lab)
 
    Interactions = {
        EntryDistance  = 2.0,
        ExitDistance   = 2.0,
        LaptopDistance = 2.0,
    },
 
    RaidPoliceJobs = {
        ['police']  = true,
        ['sheriff'] = true,
    },
}

Tipos de laboratorio

Cada tipo de laboratorio corresponde a un interior único. Tipos disponibles de serie:

Clave Etiqueta
weed Weed Lab
coke Coke Lab
meth Meth Lab
bunker Bunker
counterfeit Counterfeit Cash

Las coordenadas de spawn y laptop del interior se definen por tipo en Config.LabTypes.


Crafteo (config/crafting.lua)

El módulo de crafteo tiene dos escalas independientes de nivel/XP: nivel del jugador y nivel de la banda.

luaconfig/crafting.lua
Config.Crafting = {
    PlayerLevel = {
        Formula           = 'linear',   -- 'flat' | 'linear' | 'exponential'
        BaseXP            = 500,
        IncrementPerLevel = 250,        -- only for 'linear'
        Multiplier        = 1.5,        -- only for 'exponential'
    },
 
    GangLevel = {
        Formula           = 'linear',
        BaseXP            = 1000,
        IncrementPerLevel = 500,
        Multiplier        = 1.6,
    },
}

Ejemplos de fórmula (valores por defecto de PlayerLevel)

Subida de nivel XP necesaria
1 → 2 750
5 → 6 1 750
9 → 10 2 750

Territorios (config/territories.lua)

Consulta la página de Territorios para ver el desglose completo del sistema de presencia, el decaimiento de reputación, los ingresos pasivos y las reglas de captura.


Venta de drogas (config/drug_sales.lua)

Consulta la página de Venta de drogas para el comportamiento de los clientes NPC, la configuración de precios, las zonas en lista negra y las animaciones.


Radio (config/radio.lua)

luaconfig/radio.lua
Config.Radio = {
    ItemName = 'radio',      -- item required to use gang radio
 
    Frequencies = {          -- channel names shown in the F6 radio tab
        "Frequency 1",
        "Frequency 2",
        -- up to any number of channels
    },
 
    Voice = {
        Enabled         = true,
        Resource        = 'pma-voice',
        TalkKey         = 'LMENU',
        MuteToggleKey   = 'R',
        UseAnimation    = true,
        DefaultAnim     = 1,
    },
}

Logs (config_sv_logs.lua)

Este fichero es solo del servidor: nunca se expone al cliente. Es seguro poner aquí URLs de webhook reales.

Cada evento tiene su propio webhook de Discord. Deja cualquier entrada como "" para omitir ese evento en silencio. Establece Enabled = false para desactivar todo el sistema de una vez.

luaconfig_sv_logs.lua
BridgeConfig.Logs = {
 
    Enabled      = true,
 
    -- Embed appearance
    Username     = "Origen Ilegal | Logs",
    AvatarUrl    = "",           -- image URL for the webhook avatar (optional)
    DefaultColor = 0x2F3136,     -- default embed color
    Footer       = "Origen Network • %s",
 
    Webhooks = {
 
        -- BASIC — system operational events
        ["basic.stash_opened"]          = "",
        ["basic.armory_opened"]         = "",
        ["basic.garage_opened"]         = "",
        ["basic.wardrobe_opened"]       = "",
        ["basic.personal_stash_opened"] = "",
 
        -- USER — player actions inside the gang
        ["user.gang_created"]           = "",
        ["user.territory_assigned"]     = "",
        ["user.member_joined"]          = "",
        ["user.member_kicked"]          = "",
        ["user.member_promoted"]        = "",
        ["user.member_demoted"]         = "",
        ["user.member_rank_changed"]    = "",
        ["user.money_deposit"]          = "",
        ["user.money_withdraw"]         = "",
        ["user.location_set"]           = "",
        ["user.location_removed"]       = "",
        ["user.rank_created"]           = "",
        ["user.rank_updated"]           = "",
        ["user.rank_deleted"]           = "",
        ["user.rank_migrated"]          = "",
        ["user.vehicle_purchased"]      = "",
        ["user.vehicle_taken_out"]      = "",
        ["user.vehicle_stored"]         = "",
        ["user.vehicle_deleted"]        = "",
        ["user.vehicle_recovered"]      = "",
        ["user.cad_purchased"]          = "",
        ["user.quick_action"]           = "",
        ["user.store_buy"]              = "",
        ["user.store_sell"]             = "",
        ["user.craft_claim"]            = "",
        ["user.lab_cycle_complete"]     = "",
        ["user.lab_buy_storage"]        = "",
        ["user.lab_buy_table"]          = "",
        ["user.lab_buy_upgrade"]        = "",
 
        -- ADMIN — server administrator actions
        ["admin.create_gang"]           = "",
        ["admin.update_gang"]           = "",
        ["admin.delete_gang"]           = "",
        ["admin.set_gang_money"]        = "",
        ["admin.set_gang_level"]        = "",
        ["admin.set_gang_points"]       = "",
        ["admin.set_gang_status"]       = "",
        ["admin.update_gang_config"]    = "",
        ["admin.apply_sanction"]        = "",
        ["admin.remove_sanction"]       = "",
        ["admin.extend_sanction"]       = "",
        ["admin.grant_create_perm"]     = "",
        ["admin.revoke_create_perm"]    = "",
        ["admin.add_member"]            = "",
        ["admin.remove_member"]         = "",
        ["admin.create_announcement"]   = "",
        ["admin.delete_announcement"]   = "",
        -- ... (stores, labs, crafting, territories — see the file for the full list)
    },
}
Categoría Prefijo Descripción
Basic basic.* Eventos operativos del sistema (stashes, garajes, vestuario)
User user.* Acciones de los jugadores dentro del panel de banda
Admin admin.* Acciones de los administradores del servidor desde el panel de administración

Acceso de administración (config/admin.lua)

Controla qué jugadores pueden abrir el panel de administración y ejecutar comandos de administrador.

luaconfig/admin.lua
Config.AdminAccess.Enabled          = false  -- true = use rank system below; false = bridge-only (original behaviour)
Config.AdminAccess.UseBridgeFallback = true   -- if no rank matches, fall back to IsFrameworkAdmin

Cuando Enabled = true, el recurso evalúa, por orden:

  1. Permisos ACE — Config.AdminAccess.AcePermissions (se aplica a todos los frameworks)
  2. Rangos del framework — Config.AdminAccess.Ranks[framework]
  3. Alternativa del bridge — IsFrameworkAdmin (solo si UseBridgeFallback = true)

Rangos del framework

luaconfig/admin.lua
Config.AdminAccess.Ranks = {
    ['qb-core']  = { 'admin', 'mod', 'god' },
    ['qbx_core'] = { 'admin', 'mod', 'god' },
    ['esx']      = { 'admin', 'mod', 'superadmin' },
}
Framework Método de comprobación
qb-core QBCore.Functions.HasPermission(source, perm)
qbx_core IsPlayerAceAllowed(source, perm)
esx Comparación de cadenas con xPlayer.getGroup()

Permisos ACE

luaconfig/admin.lua
Config.AdminAccess.AcePermissions = {
    'group.admin',
    -- 'origen_ilegal.admin',
}

Cualquier jugador al que se le permita el nodo ACE listado obtiene acceso de administrador, sea cual sea el framework. Útil para las asignaciones de ace en server.cfg.

Para añadir lógica personalizada (roles de Discord, flags en la base de datos, grupos de ox_lib) sin editar los ficheros del núcleo, sobrescribe CustomAdminAccess.HasAccess en custom/server/admin_permissions.lua. Consulta la página Custom para más detalles.


Solicitudes de robo (config/robbery_request.lua)

Controla el módulo de solicitudes de robo: el sistema de handshake entre el panel de banda y origen_police.

luaconfig/robbery_request.lua
Config.RobberyRequest.Enabled               = true   -- enable/disable the entire module
Config.RobberyRequest.Permission            = 'request_robbery'
Config.RobberyRequest.Anonymous             = true
Config.RobberyRequest.PendingExpireMinutes  = 5
Config.RobberyRequest.ApprovedExpireMinutes = 15
Clave Tipo Descripción
Enabled boolean Activa o desactiva el módulo. La pestaña se oculta si origen_police no está arrancado, sea cual sea este valor.
Permission string Permiso de rango necesario para enviar y cancelar solicitudes. Los líderes siempre lo tienen.
Anonymous boolean Si es true, el panel de policía ve "Anonymous" en lugar del nombre real de la banda y del solicitante.
PendingExpireMinutes number Minutos tras los cuales una solicitud pending caduca automáticamente. 0 = sin caducidad.
ApprovedExpireMinutes number Minutos tras los cuales una solicitud approved caduca automáticamente si no se inicia el robo. 0 = sin caducidad.

Cada tipo de robo se define en Config.RobberyRequest.Requests. Consulta el desglose completo en la página de Solicitudes de robo.


Comandos (config/commands.lua)

Comando Nombre por defecto Configurable Restringido
Abrir el panel de banda /gangorg Sí No
Crear una banda /creategang Sí No
Abrir el panel de administración /gangadmin No Sí — requiere acceso de administrador

Los nombres de /gangorg y /creategang son totalmente configurables en config/commands.lua. /gangadmin está fijado en el código y siempre usa ese nombre; el acceso se controla en el servidor con las reglas definidas en config/admin.lua.

luaconfig/commands.lua
Config.Commands = {
    Gang = {
        name       = 'gangorg',      -- rename freely
        help       = 'commands.gang.help',
        restricted = false,
    },
    CreateGang = {
        name       = 'creategang',   -- rename freely
        help       = 'commands.creategang.help',
        restricted = false,
    },
}

/gangadmin ignora por completo Config.Commands: se registra directamente en client/admin.lua y se valida contra config/admin.lua en el lado servidor.