Accueil › Documentation › 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.
config/general.lua)Config.Debug = false -- print extra console output for troubleshooting
Config.Language = 'en' -- 'en' | 'es'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.
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'
},
}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 |
config/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,
},
}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.
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.
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 |
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.
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.
config/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,
},
}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.
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 |
config/admin.lua)Contrôle quels joueurs peuvent ouvrir le panneau d’administration et exécuter des commandes d’administrateur.
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 IsFrameworkAdminLorsque Enabled = true, la ressource évalue, dans l’ordre :
Config.AdminAccess.AcePermissions (s’applique à tous les frameworks)Config.AdminAccess.Ranks[framework]IsFrameworkAdmin (uniquement si UseBridgeFallback = true)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() |
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.
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.
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.
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.
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.