Skip to main content

Configuration générale

Ce chapitre détaille toutes les options de config/config.lua. C'est ici que vous adaptez MasterLadder à votre serveur : framework, permissions, interface, touches, vitesses, sons et distances. Les échelles elles-mêmes se règlent dans config/ladders.lua (voir Configuration des échelles).

💡 Toute option absente ou invalide reprend sa valeur par défaut, avec un avertissement dans la console : une faute de frappe ne fait jamais planter le script.

1. Licence

  • Config.MasterModsKey : votre MasterKey ("MM-XXXXXXXX"). Une clé mise dans server.cfg avec set mastermods_key "…" est prioritaire. Voir Installation.

2. Langue

  • Config.Locale (défaut "fr") : langue des messages et de l'interface.
    • "fr" : français
    • "en" : anglais

3. Framework & permissions

  • Config.FrameworkMetier (défaut "standalone") : framework utilisé pour lire le métier des joueurs.
    • "esx", "qb", "qbx", "ox", "standalone"
  • Config.NotifySystem (défaut "gta") : système de notifications.
    • "ox", "esx", "qb", "okok", "gta"
  • Config.TargetSystem (défaut "ox") : système de visée (œil ALT).
    • "ox" : ox_target
    • "qb" : qb-target
    • "none" : touches et aide à l'écran
    • Si la ressource choisie n'est pas démarrée, le script passe automatiquement aux touches.
  • Config.TargetDistance (défaut 2.0) : portée des options de visée, en mètres.
  • Config.JobRestriction (défaut false) : active la restriction par métier (ignorée en standalone).
  • Config.RequireOnDuty (défaut true) : le joueur doit être en service (QBCore / QBox uniquement).
  • Config.AuthorizedJobs : grade minimum par métier et par action. Un métier absent de la liste n'a accès à rien.
Config.AuthorizedJobs = {
    ['pompier'] = {
        deploy  = 1, -- déployer / replier
        enter   = 0, -- monter au poste ou dans la nacelle
        control = 1, -- manœuvrer l'échelle
        lock    = 0, -- verrouiller les portes
        locker  = 0, -- coffres et écran arrière
    },
}

Le chiffre correspond au grade minimum requis.

  • Config.CustomPermission (défaut nil) : votre propre fonction de permission, qui remplace la restriction par métier. Elle reçoit source, l'action (deploy, enter, control, lock, locker) et le nom de l'échelle. Retourner false refuse l'action.
Config.CustomPermission = function(source, action, ladder)
    return IsPlayerAceAllowed(source, 'masterladder.use')
end

4. Interface

  • Config.DefaultInterface (défaut "modern") : pupitre par défaut.
    • "modern" : écran tactile
    • "retro" : pupitre années 2000
  • Config.AvailableInterfaces (défaut { modern = true, retro = true }) : interfaces que les joueurs peuvent choisir.
  • Config.AllowPlayerUiSettings (défaut true) : false désactive /mlui, tout le monde garde les réglages ci-dessous.
  • Config.DefaultUiCorner (défaut "br") : position du pupitre ("br" bas droite, "bl" bas gauche, "tr" haut droite, "tl" haut gauche).
  • Config.DefaultUiScale (défaut 1.0) : taille, de 0.6 à 1.6.
  • Config.DefaultUiCompact (défaut false) : mode compact (relevés et voyants seulement).
  • Config.DefaultUiVolume (défaut 0.6) : volume des sons du pupitre, de 0 à 1.
  • Config.ShowKeyHints (défaut true) : aide aux touches en bas d'écran pendant la manœuvre.
  • Config.UiRefreshRate (défaut 100) : millisecondes entre deux mises à jour du pupitre.

Une échelle peut aussi imposer son interface : voir interface dans Configuration des échelles.

5. Commandes & touches

  • Config.Commands : noms des commandes du chat (sans le /).
Clé Défaut Action
set mlset Déployer / replier (verrou nacelle pendant la manœuvre)
enter mlenter Monter / descendre / changer de place
control mlcontrol Prendre / lâcher les commandes
light mllight Projecteur
lock mllock Verrouiller les portes
camera mlcam Caméra opérateur
ui mlui Réglages de l'interface
climb mlclimb Gravir / redescendre l'échelle
exit mlexit Dépannage : se détacher de l'échelle
admin mladmin Administration
  • Config.DefaultKeys : touches par défaut des commandes (set = 'U', enter = 'F', control = 'R', light = 'Y', camera = 'H', climb = 'G'). Chaque joueur peut les changer dans Paramètres > Raccourcis > FiveM.

⚠️ FiveM lie les touches au nom de la commande : si vous renommez une commande, les touches personnalisées des joueurs reviennent à la valeur par défaut.

  • Config.ManeuverControls : contrôles GTA utilisés pendant la manœuvre (liste des contrôles).
    • rotateRight / rotateLeft (défaut 35 / 34, D / Q)
    • raise / lower (défaut 32 / 33, Z / S)
    • extend / retract (défaut 131 / 132, Maj / Ctrl)
    • armUp / armDown (défaut 38 / 44, E / A)
    • lightRight, lightLeft, lightUp, lightDown (défaut flèches)
    • exitLeft / exitRight (défaut 174 / 175) : maintenir pour sortir de la nacelle sur le côté
    • climbUp / climbDown (défaut 32 / 33, Z / S) : monter / descendre l'échelle
    • interact (défaut 51, E) : coffres et écran arrière sans target

6. Gameplay & mouvement

Vitesses maximales

  • Config.RotationSpeed (défaut 2.25) : m/s en bout d'échelle (la vitesse de rotation s'adapte à la longueur sortie).
  • Config.ElevationSpeed (défaut 1.5) : m/s en bout d'échelle.
  • Config.ExtendSpeed (défaut 1.5) : m/s.
  • Config.ArmSpeed (défaut 19.36) : °/s, bras de nacelle.
  • Config.LightSpeed (défaut 5.73) : °/s, projecteur.

Inertie et butées

  • Config.EnableInertia (défaut true) : démarrage et arrêt progressifs.
  • Config.AccelerationTime (défaut 0.35) / Config.BrakingTime (défaut 0.25) : secondes pour atteindre la vitesse maximale / pour s'arrêter.
  • Config.SlowDownNearLimits (défaut true) : ralentit à l'approche des butées.
  • Config.SlowDownZone : distance avant la butée où le ralentissement commence (° ou m) pour rotation, elevation, length, arm, light.
  • Config.SlowDownMinSpeed (défaut 0.15) : vitesse minimale dans cette zone (fraction de la vitesse max).

Nacelle

  • Config.BasketLockedOnDeploy (défaut true) : nacelle verrouillée à la fin du calage ; l'opérateur la déverrouille pendant la manœuvre (U). false = accessible dès la fin du calage.
  • Config.GroundClearanceLower (défaut 0.2) / Config.GroundClearanceExtend (défaut 0.1) : garde au sol minimale de la nacelle (m) pour descendre / sortir l'échelle.

Montée par l'échelle

  • Config.EnableLadderClimb (défaut true) : active la montée à pied.
  • Config.MaxClimbers (défaut 2) : personnes sur l'échelle en même temps (1 ou 2).
  • Config.ClimbSpeed (défaut 0.6) : m/s le long de l'échelle.
  • Config.BlockLadderWhileClimbing (défaut true) : l'échelle ne peut pas être manœuvrée quand quelqu'un y grimpe (le projecteur reste libre).
  • Config.ClimbAnimation (défaut { dict = "laddersbase", clip = "climb_up", cycle = 0.6 }) : animation d'escalade ; cycle = mètres parcourus par cycle d'animation. Augmentez-le si les mains « patinent » sur les barreaux.
  • Config.ClimbOffset (défaut { normal = 0.70, height = 0.95 }) : position du joueur sur l'échelle.
    • normal : distance aux barreaux. Joueur dans ou sous l'échelle → augmenter (pas de 0.05).
    • height : décalage le long de l'échelle (position des mains sur les barreaux).
  • Config.ClimbTilt (défaut { axis = "x", invert = false }) : inclinaison du joueur comme l'échelle. invert = true s'il se penche en arrière ; axis = "y" s'il part sur le côté.
  • Config.ClimbHelperModel (défaut "prop_golf_ball") : petit prop invisible servant d'ancrage au joueur.
  • Config.ClimbDownTarget (défaut { distance = 0.6, height = 1.1, reach = 3.0, model = "prop_cs_cardbox_01" }) : point de visée « Redescendre par l'échelle » dans la nacelle (écart au centre, hauteur, portée, prop invisible qui sert de surface à viser).

Caméra opérateur

  • Config.CameraDistance (défaut 7.0), Config.CameraMinDistance (3.0), Config.CameraMaxDistance (18.0) : distance de la caméra (m), réglable à la molette.
  • Config.CameraSensitivity (défaut 4.0).

7. Audio

  • Config.EnablePanelSounds (défaut true) : sons du pupitre (moteur hydraulique, bip de butée, déclic du verrou).
  • Config.LockerSoundDistance (défaut 10.0) : portée du son des coffres (m).
  • Config.LockerSoundVolume (défaut 0.45).
  • Config.InVehicleSoundFactor (défaut 0.4) : atténuation quand le joueur est dans un véhicule.

8. Rendu & réseau

  • Config.LadderDrawDistance (défaut 250.0) : distance d'affichage des échelles déployées (m).
  • Config.PropLodDistance (défaut 300) : distance de détail des props (m).
  • Projecteur : Config.SpotlightDistance (150.0), Config.SpotlightColor ({ 255, 255, 255 }), Config.SpotlightBrightness (80.0), Config.SpotlightRadius (25.0).
  • Config.NetworkRate (défaut 100) : ms entre deux envois de position par l'opérateur.
  • Config.InterpolationDelay (défaut 160) : ms de retard d'affichage chez les autres joueurs, pour un mouvement parfaitement lisse.
  • Config.PropHierarchy (défaut true) : sections attachées à la tourelle. false = placement individuel (solution de repli).
  • Config.LocalAttachOthers (défaut true) : les autres occupants sont attachés localement (supprime leurs tremblements).

9. Distances

Côté joueur

  • Config.PanelDistance (défaut 2.0) : distance à l'écran arrière pour déployer.
  • Config.EnterHelpDistance (3.0) / Config.EnterDistance (4.0) : affichage de l'aide / portée de la commande « monter ».
  • Config.LockerDistance (1.0) / Config.LockerHelpDistance (1.75) : ouverture / aide des coffres.
  • Config.NearVehicleDistance (7.0) : véhicule considéré à proximité.

Côté serveur (anti-triche) : distances maximales tolérées, un peu plus larges que côté joueur.

  • Config.MaxPanelDistance (3.0), Config.MaxEnterDistance (5.0), Config.MaxInteractionDistance (7.0).

10. Debug

  • Config.Debug (défaut false) : journal complet dans la console serveur et dans F8. Voir En cas d'erreur.
  • Config.DebugCategories (défaut nil = tout) : limite le journal à certaines catégories, par exemple { "license", "deny" }.

⚠️ Laissez Config.Debug = false en production : le journal est très bavard.