Configuration des échelles Ce chapitre explique config/ladders.lua : la liste des véhicules à échelle reconnus par le script, avec leurs props, leurs butées, leurs extras et leurs places. C'est le chapitre le plus technique, mais c'est lui qui permet d'utiliser MasterLadder avec n'importe quel véhicule à échelle. Principe Une entrée par véhicule. La clé est le nom de spawn du véhicule (ex. ['epan']). Tout réglage absent d'une entrée reprend celui de Config.LadderDefaults (en bas du fichier). Une entrée peut donc se limiter à son nom, ses props et ce qui diffère. Unités : angles en degrés, distances en mètres, durées en millisecondes. Repère de rotation : 0° = échelle vers l'avant (au-dessus de la cabine), sens horaire vu de dessus. Config.Ladders = { ['epabspp'] = { label = "EPA BSPP", props = { turntable = "prop_tl2_base", D = "prop_tl2_ladder1", C = "prop_tl2_ladder2", B = "prop_tl2_ladder3", A = "prop_tl2_ladder4", S = "prop_tl2_ladder5", basket = "prop_tl2_cage", stab = "prop_tl2_outriggers", }, interface = { theme = nil, forced = false, model = "ML 32", serial = "N° de série 2004-1187" }, seat = { angle = 143.24, distance = 1.3, height = 0.24 }, -- le reste reprend Config.LadderDefaults }, } Identité et props label : nom affiché (pupitre, messages). props : noms des modèles de l'échelle, streamés par la ressource du véhicule. Les 8 sont obligatoires ; une entrée incomplète est ignorée, avec un avertissement dans la console. turntable : tourelle D : plan fixe C, B, A : plans coulissants S : bras de nacelle basket : nacelle stab : stabilisateur (utilisé 4 fois) Déploiement deployTime (défaut 7000) : durée du calage et du repli (ms). maxSlope (défaut 8.0) : pente maximale du véhicule pour déployer (°). Butées elevation (défaut { min = -15.0, max = 75.0 }) : inclinaison de l'échelle (°). length (défaut { min = 0.0, max = 23.0 }) : longueur sortie (m), en plus de la longueur repliée. arm (défaut { min = -90.0, max = 0.0, floor = -50.0 }) : bras de nacelle (°). floor : le bras ne descend jamais sous floor moins l'inclinaison de l'échelle (la nacelle reste horizontale). light (défaut { left = -90.0, right = 90.0, down = -85.0, up = 85.0 }) : débattement du projecteur (°). rotation : zone interdite à l'arrière du véhicule. stopRight / stopLeft : butées en tournant à droite / à gauche. resumeRight / resumeLeft : au-delà, la rotation est de nouveau possible (pour ressortir de la zone). cabZone (défaut { from = 324.0, to = 34.0 }) : secteur au-dessus de la cabine où l'échelle ne peut pas descendre sous l'horizontale. Extras du véhicule extras : numéros des extras du modèle. ladder (défaut { 5, 10 }) : extras de l'échelle repliée, masqués quand elle est déployée. left / right (défaut { open = 6, closed = 7 } / { open = 12, closed = 11 }) : coffres gauche / droite. screen (défaut { on = 9, off = 8 }) : écran de commande arrière. spawnExtras : état du véhicule à sa première apparition. left, right : "open" ou "closed" screen : "on" ou "off" others : autres extras, [numéro] = true (visible) ou false (masqué). Ex. { [1] = true, [3] = false }. 💡 Les extras sont appliqués sans réparer le véhicule : les dégâts et les portes ouvertes sont conservés. Places seat (défaut { angle = 131.78, distance = 1.0, height = -0.28 }) : position du poste de commande autour de la tourelle (angle en °, distance et hauteur en m). basketPlaces (défaut 3) : nombre de places dans la nacelle (1 à 3). basketSpots : position de chaque place autour du centre de la nacelle ( angle en °, distance en m). Collisions des props collisions (défaut { sections = false, basket = true, stabs = true }) : active les collisions des sections, de la nacelle et des stabilisateurs. À n'activer que si les modèles en possèdent. Interface interface theme : nil (choix du joueur), "modern" ou "retro" (interface suggérée pour cette échelle). forced : true impose theme à tous les joueurs pour cette échelle. model, serial : textes de la plaque constructeur du pupitre années 2000. Ajouter un véhicule Vérifiez que la ressource du véhicule stream bien le véhicule et les 8 props de l'échelle. Copiez une entrée existante et renommez la clé avec le nom de spawn du véhicule. Renseignez label et props. Ajustez les numéros d'extras du modèle ( extras) et l'état de spawn ( spawnExtras). Redémarrez la ressource, déployez, puis ajustez en jeu seat, basketSpots et les butées. 💡 Avec Config.Debug = true, la console signale les props introuvables par leur nom, et /mldebug affiche au-dessus de l'échelle son état complet.