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 dansserver.cfgavecset 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éfaut2.0) : portée des options de visée, en mètres.Config.JobRestriction(défautfalse) : active la restriction par métier (ignorée en standalone).Config.RequireOnDuty(défauttrue) : 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éfautnil) : votre propre fonction de permission, qui remplace la restriction par métier. Elle reçoitsource, l'action (deploy,enter,control,lock,locker) et le nom de l'échelle. Retournerfalserefuse 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éfauttrue) :falsedé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éfaut1.0) : taille, de0.6à1.6.Config.DefaultUiCompact(défautfalse) : mode compact (relevés et voyants seulement).Config.DefaultUiVolume(défaut0.6) : volume des sons du pupitre, de0à1.Config.ShowKeyHints(défauttrue) : aide aux touches en bas d'écran pendant la manœuvre.Config.UiRefreshRate(défaut100) : 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éfaut35/34, D / Q)raise/lower(défaut32/33, Z / S)extend/retract(défaut131/132, Maj / Ctrl)armUp/armDown(défaut38/44, E / A)lightRight,lightLeft,lightUp,lightDown(défaut flèches)exitLeft/exitRight(défaut174/175) : maintenir pour sortir de la nacelle sur le côtéclimbUp/climbDown(défaut32/33, Z / S) : monter / descendre l'échelleinteract(défaut51, E) : coffres et écran arrière sans target
6. Gameplay & mouvement
Vitesses maximales
Config.RotationSpeed(défaut2.25) : m/s en bout d'échelle (la vitesse de rotation s'adapte à la longueur sortie).Config.ElevationSpeed(défaut1.5) : m/s en bout d'échelle.Config.ExtendSpeed(défaut1.5) : m/s.Config.ArmSpeed(défaut19.36) : °/s, bras de nacelle.Config.LightSpeed(défaut5.73) : °/s, projecteur.
Inertie et butées
Config.EnableInertia(défauttrue) : démarrage et arrêt progressifs.Config.AccelerationTime(défaut0.35) /Config.BrakingTime(défaut0.25) : secondes pour atteindre la vitesse maximale / pour s'arrêter.Config.SlowDownNearLimits(défauttrue) : ralentit à l'approche des butées.Config.SlowDownZone: distance avant la butée où le ralentissement commence (° ou m) pourrotation,elevation,length,arm,light.Config.SlowDownMinSpeed(défaut0.15) : vitesse minimale dans cette zone (fraction de la vitesse max).
Nacelle
Config.BasketLockedOnDeploy(défauttrue) : 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éfaut0.2) /Config.GroundClearanceExtend(défaut0.1) : garde au sol minimale de la nacelle (m) pour descendre / sortir l'échelle.
Montée par l'échelle
Config.EnableLadderClimb(défauttrue) : active la montée à pied.Config.MaxClimbers(défaut2) : personnes sur l'échelle en même temps (1 ou 2).Config.ClimbSpeed(défaut0.6) : m/s le long de l'échelle.Config.BlockLadderWhileClimbing(défauttrue) : 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 de0.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 = trues'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éfaut7.0),Config.CameraMinDistance(3.0),Config.CameraMaxDistance(18.0) : distance de la caméra (m), réglable à la molette.Config.CameraSensitivity(défaut4.0).
7. Audio
Config.EnablePanelSounds(défauttrue) : sons du pupitre (moteur hydraulique, bip de butée, déclic du verrou).Config.LockerSoundDistance(défaut10.0) : portée du son des coffres (m).Config.LockerSoundVolume(défaut0.45).Config.InVehicleSoundFactor(défaut0.4) : atténuation quand le joueur est dans un véhicule.
8. Rendu & réseau
Config.LadderDrawDistance(défaut250.0) : distance d'affichage des échelles déployées (m).Config.PropLodDistance(défaut300) : 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éfaut100) : ms entre deux envois de position par l'opérateur.Config.InterpolationDelay(défaut160) : ms de retard d'affichage chez les autres joueurs, pour un mouvement parfaitement lisse.Config.PropHierarchy(défauttrue) : sections attachées à la tourelle.false= placement individuel (solution de repli).Config.LocalAttachOthers(défauttrue) : les autres occupants sont attachés localement (supprime leurs tremblements).
9. Distances
Côté joueur
Config.PanelDistance(défaut2.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éfautfalse) : journal complet dans la console serveur et dans F8. Voir En cas d'erreur.Config.DebugCategories(défautnil= tout) : limite le journal à certaines catégories, par exemple{ "license", "deny" }.
⚠️ Laissez Config.Debug = false en production : le journal est très bavard.