Skip to content

Configuration

Toute la configuration de lo_mdtbf se trouve dans config/config.lua. Ce fichier reste éditable même sur les builds protégés par escrow : config/*.lua, locales/*.lua et sql/*.sql sont listés dans escrow_ignore.

Options principales

OptionDéfautDescription
Config.Locale"fr"Langue de l'interface. Valeurs : "fr", "en", "pt-br", "pt", "ru", "de".
Config.DevModetrueMode développement. true ignore la vérification on-duty côté serveur. À passer à false en production.
Config.GapWithRealYear124Décalage d'année RP pour les références auto des rapports (année réelle - décalage).
Config.Pagination(table)Nombre de lignes par page selon la vue (voir plus bas).
Config.AllowedJobs(liste)Jobs autorisés à ouvrir le MDT.
Config.AllowedJobsManage(liste)Jobs autorisés à créer / éditer / supprimer (sous-ensemble de AllowedJobs).
Config.CrossStationJobs(liste)Jobs qui voient tous les postes (contournent le filtre par poste).
Config.JobConfig(table)Grade minimum requis par job pour ouvrir le MDT (minGrade).
Config.OpenItem"mdt_bf"Objet d'inventaire qui ouvre le MDT.
Config.OpenCommand"mdtbf"Commande de secours pour ouvrir le MDT.
Config.MandatItem"official_warrant"Objet créé lors d'une copie de mandat.
Config.OrdonnanceItem"official_prescription"Objet créé lors d'une copie d'ordonnance.
Config.Stations(table)Registre des postes (bureaux) et des jobs qui leur sont rattachés.
Config.VersionCheck(table)Vérification de mise à jour au démarrage (console).

NOTE

Les trois objets (mdt_bf, official_warrant, official_prescription) doivent exister dans vorp_inventory.items. L'objet mdt_bf peut porter un metadata.station = "<id>" pour verrouiller le MDT sur un poste précis ; sans cette métadonnée, le serveur choisit le premier poste qui liste le job du joueur.

Accès & jobs

Le contrôle d'accès repose sur deux listes complémentaires :

  • Config.AllowedJobs — jobs pouvant ouvrir le MDT. C'est le niveau minimum (lecture seule).
  • Config.AllowedJobsManage — jobs pouvant créer, éditer et supprimer des enregistrements. Cette liste doit être un sous-ensemble de AllowedJobs.

Un job présent dans AllowedJobs mais absent de AllowedJobsManage est donc en lecture seule. C'est le cas voulu pour des rôles civils comme tresor (présent dans AllowedJobs, absent de AllowedJobsManage).

Jobs autorisés par défaut (Config.AllowedJobs) :

lua
Config.AllowedJobs = {
    "stdsheriff", "valsheriff", "annsheriff", "rhosheriff",
    "strsheriff", "blwsheriff", "marshal", "redeaglerangers",
    "armsheriff", "tribunal", "ssksheriff", "tblsheriff",
    "gouv", "avocat", "tresor", "procureur",
}

Jobs pouvant gérer les enregistrements (Config.AllowedJobsManage) — comme ci-dessus sans tresor.

Grade minimum par job

Config.JobConfig impose un grade minimum (minGrade) pour ouvrir le MDT, job par job. Tous les jobs sont à minGrade = 0 par défaut.

lua
Config.JobConfig = {
    stdsheriff = { minGrade = 0 },
    -- ...
}

TIP

Pour réserver le MDT à un certain rang, augmentez minGrade. Exemple : stdsheriff = { minGrade = 2 } exige un grade Adjoint (Deputy) ou supérieur.

Postes (stations) & partage

Config.Stations déclare les bureaux. Chaque poste possède un id, un name affiché et la liste des jobs qui lui appartiennent. Ce registre sert à :

  1. Filtrer les enregistrements visibles (citoyens, rapports, mandats… sont limités au poste actif du joueur).
  2. Déduire un poste par défaut depuis le job du joueur si l'objet MDT ne porte pas de metadata.station.
  3. Alimenter le sélecteur de poste affiché aux rôles inter-postes.

Config.CrossStationJobs (par défaut tribunal, procureur, gouv) liste les jobs régionaux qui contournent le filtre par poste : ils voient les enregistrements de tous les bureaux et disposent d'un sélecteur de poste.

Année RP (GapWithRealYear)

Les références de rapports auto-générées suivent le format STD-1902-1234. L'année est calculée ainsi :

lua
année RP = année réelle - Config.GapWithRealYear

Avec la valeur par défaut 124, en 2026 cela donne 2026 - 124 = 1902 (époque Red Dead Redemption). Ajustez ce décalage pour caler l'année RP sur la chronologie de votre serveur.

Pagination

Config.Pagination règle le nombre de lignes par page selon la vue :

lua
Config.Pagination = {
    citizens  = 9,   -- fiches avec vignette (plus hautes)
    effectifs = 10,  -- fiches avec vignette (plus serrées)
    reports   = 11,  -- lignes compactes (sans vignette)
}

NOTE

La valeur reports est réutilisée pour les vues mandats, ordonnances et enquêtes (même disposition compacte). Les valeurs par défaut sont calées sur la mise en page pour que la barre de pagination reste alignée en bas à droite.

DevMode

lua
Config.DevMode = true

WARNING

En DevMode = true, la vérification d'être en service (on-duty) est ignorée côté serveur — seul le job est validé. Passez impérativement Config.DevMode = false en production afin que seuls les agents en service puissent ouvrir le MDT.

Langues

Config.Locale définit la langue active parmi : fr, en, pt-br, pt, ru, de. Une langue inconnue retombe sur le français, puis l'anglais.

Les traductions vivent dans locales/*.lua (côté Lua) et web/src/i18n/ (côté UI, sources de développement). Pour ajouter votre propre langue, déposez un fichier dans ces deux emplacements, puis importez-le et enregistrez-le. Les fichiers locales/*.lua sont listés dans escrow_ignore, ils restent donc éditables sur les builds protégés.

Conseils

TIP

  • Passez Config.DevMode = false avant la mise en production.
  • Gardez AllowedJobsManage comme un sous-ensemble de AllowedJobs ; laissez les rôles purement consultatifs (ex. tresor) hors de AllowedJobsManage.
  • Adaptez Config.Stations aux postes réels de votre serveur, puis alignez AllowedJobs et CrossStationJobs en conséquence.
  • Pour distribuer le MDT verrouillé sur un poste, stampez l'objet mdt_bf avec metadata.station = "<id>" au moment de la remise.