Accueil › Documentation › Configuration · origen_ilegalv2

Configuration · origen_ilegalv2

Tous les réglages destinés à l’utilisateur se trouvent dans config/. Les fichiers ne sont pas protégés par escrow : modifie-les librement.


Général (config/general.lua)

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

Gangs (config/gangs.lua)

Contrôle les limites globales des gangs, la banque partagée, le système d’XP/niveaux, l’item du CAD et la hiérarchie de grades par défaut.

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'
    },
}

Permissions de grade par défaut

Lorsqu’un gang est créé, quatre grades sont générés automatiquement : Leader, Co-Leader, Member, Recruit. La liste complète des permissions par grade est définie dans Config.Gang.DefaultRanks. Flags de permission disponibles :

Permission Ce qu’elle autorise
invite Inviter de nouveaux membres
kick Exclure des membres
promote / demote Changer le grade d’un membre
manage_bank Gestion complète de la banque
withdraw / deposit Transactions bancaires
access_stash Stash partagé du gang
access_personal_stash Stash personnel dans l’UI du gang
access_garage Garage de véhicules du gang
access_clothing Vestiaire du gang
manage_stash Créer / supprimer des stashes
manage_vehicles Ajouter / retirer des véhicules du gang
manage_ranks Modifier les noms et permissions des grades
manage_locations Définir le QG et les emplacements sur la carte
view_logs Voir le journal d’activité du gang
disband Dissoudre le gang
quick_search Fouille rapide F6 des joueurs à proximité
quick_handcuff Raccourci F6 pour menotter
quick_vehicle Appeler avec F6 le véhicule du gang
quick_radio Ouvrir avec F6 l’onglet radio

Labos (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,
    },
}

Types de labo

Chaque type de labo correspond à un intérieur unique. Types disponibles de base :

Clé Libellé
weed Weed Lab
coke Coke Lab
meth Meth Lab
bunker Bunker
counterfeit Counterfeit Cash

Les coordonnées spawn et laptop de l’intérieur sont définies par type dans Config.LabTypes.


Craft (config/crafting.lua)

Le module de craft possède deux échelles de niveau/XP indépendantes : le niveau du joueur et le niveau du gang.

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,
    },
}

Exemples de formule (valeurs par défaut de PlayerLevel)

Passage de niveau XP requise
1 → 2 750
5 → 6 1 750
9 → 10 2 750

Territoires (config/territories.lua)

Consulte la page Territoires pour le détail complet du système de présence, de la décroissance de réputation, du revenu passif et des règles de capture.


Vente de drogue (config/drug_sales.lua)

Consulte la page Vente de drogue pour le comportement des clients PNJ, la configuration des prix, les zones sur liste noire et les animations.


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)

Ce fichier est réservé au serveur : il n’est jamais exposé au client. Tu peux y mettre sans risque de vraies URL de webhook.

Chaque événement a son propre webhook Discord. Laisse n’importe quelle entrée à "" pour ignorer cet événement en silence. Définis Enabled = false pour désactiver tout le système d’un coup.

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)
    },
}
Catégorie Préfixe Description
Basic basic.* Événements opérationnels du système (stashes, garages, vestiaire)
User user.* Actions des joueurs dans le panneau de gang
Admin admin.* Actions des administrateurs du serveur depuis le panneau d’administration

Accès administrateur (config/admin.lua)

Contrôle quels joueurs peuvent ouvrir le panneau d’administration et exécuter des commandes d’administrateur.

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

Lorsque Enabled = true, la ressource évalue, dans l’ordre :

  1. Permissions ACE — Config.AdminAccess.AcePermissions (s’applique à tous les frameworks)
  2. Grades du framework — Config.AdminAccess.Ranks[framework]
  3. Repli du bridge — IsFrameworkAdmin (uniquement si UseBridgeFallback = true)

Grades du framework

luaconfig/admin.lua
Config.AdminAccess.Ranks = {
    ['qb-core']  = { 'admin', 'mod', 'god' },
    ['qbx_core'] = { 'admin', 'mod', 'god' },
    ['esx']      = { 'admin', 'mod', 'superadmin' },
}
Framework Méthode de vérification
qb-core QBCore.Functions.HasPermission(source, perm)
qbx_core IsPlayerAceAllowed(source, perm)
esx Comparaison de chaînes avec xPlayer.getGroup()

Permissions ACE

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

Tout joueur autorisé sur le nœud ACE listé obtient l’accès administrateur, quel que soit le framework. Utile pour les attributions d’ace dans server.cfg.

Pour ajouter une logique personnalisée (rôles Discord, flags en base de données, groupes ox_lib) sans modifier les fichiers du cœur, surcharge CustomAdminAccess.HasAccess dans custom/server/admin_permissions.lua. Consulte la page Custom pour plus de détails.


Demandes de braquage (config/robbery_request.lua)

Contrôle le module de demandes de braquage : le système de handshake entre le panneau de gang et 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
Clé Type Description
Enabled boolean Active ou désactive le module. L’onglet se masque si origen_police n’est pas démarré, quelle que soit cette valeur.
Permission string Permission de grade requise pour envoyer et annuler des demandes. Les leaders l’ont toujours.
Anonymous boolean Si true, le panneau de la police voit "Anonymous" à la place du vrai nom du gang et du demandeur.
PendingExpireMinutes number Minutes après lesquelles une demande pending expire automatiquement. 0 = pas d’expiration.
ApprovedExpireMinutes number Minutes après lesquelles une demande approved expire automatiquement si le braquage n’est pas lancé. 0 = pas d’expiration.

Chaque type de braquage est défini dans Config.RobberyRequest.Requests. Consulte le détail complet sur la page Demandes de braquage.


Commandes (config/commands.lua)

Commande Nom par défaut Configurable Restreinte
Ouvrir le panneau de gang /gangorg Oui Non
Créer un gang /creategang Oui Non
Ouvrir le panneau d’administration /gangadmin Non Oui — accès administrateur requis

Les noms de /gangorg et /creategang sont entièrement configurables dans config/commands.lua. /gangadmin est codé en dur et utilise toujours ce nom ; l’accès est contrôlé côté serveur avec les règles définies dans 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 ignore complètement Config.Commands : il est enregistré directement dans client/admin.lua et validé par rapport à config/admin.lua côté serveur.