Skip to main content

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 : durée totale de la mise en station et du repli (ms). 0 = durées réalistes de Config.Stabilization.timing (environ 9 s) ; une autre valeur ramène toute la séquence à cette durée.
  • maxSlope (défaut 8.0) : pente et dévers maximaux du véhicule (°) pour caler. Ils sont corrigés par la mise à niveau.

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).

Logements des stabilisateurs

  • stabilizers (défaut { front = 1.5, rear = -2.3, side = 0.02, height = -0.2 }) : emplacement des stabilisateurs rentrés, dans le repère du véhicule (m). C'est leur position au repos (Config.StowedStabilizers) et le point de départ du déploiement.
    • front / rear : position le long du véhicule (+ vers l'avant, - vers l'arrière)
    • side : écart latéral rentré
    • height : hauteur (négatif = plus bas)

💡 Réglage en direct : Config.Debug = true, approchez-vous du véhicule replié et tapez par exemple /mlstab front 1.9 (valeur absolue), /mlstab out +0.02 (sortir un peu plus) ou /mlstab rear -0.05 rel (relatif). Les stabilisateurs se replacent immédiatement et la console F8 affiche la ligne stabilizers = { … } à copier dans config/ladders.lua.

Abaque

  • abaque : déport maximal de la nacelle (m), c'est-à-dire la distance horizontale entre l'axe de la tourelle et la nacelle.
    • enabled (défaut true)
    • persons (défaut { 23.0, 20.0, 17.0, 14.0 }) : nacelle vide, 1, 2, 3 personnes, en calage complet.
    • reduced (défaut { 15.0, 13.0, 11.0, 9.0 }) : les mêmes en calage réduit.
    • monitor (défaut 3.0) : mètres retirés quand la lance débite.
    • Calage asymétrique : la courbe reduced s'applique par le travers du côté réduit ; au-dessus de l'avant et de l'arrière du camion, la courbe persons reste valable, avec une transition progressive entre les deux.
    • reducedWidth (défaut 1.0) : sortie latérale des stabilisateurs en calage réduit (m ; calage complet : 2,02 m).

Les valeurs doivent aller du plus grand (nacelle vide) au plus petit (3 personnes). Elles sont dessinées sur le pupitre sous forme de courbes.

Lance canon

  • monitor
    • enabled (défaut true) : lance présente sur cette échelle.
    • offset (défaut { side = 0.0, forward = 0.85, height = 1.05 }) : position de la lance par rapport au centre de la nacelle (m ; forward = vers l'avant de l'échelle).
    • yaw (défaut 60.0) : débattement en degrés de part et d'autre de l'axe de l'échelle.
    • pitch (défaut { down = -60.0, up = 45.0 }) : débattement vertical (°).

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

  1. Vérifiez que la ressource du véhicule stream bien le véhicule et les 8 props de l'échelle.
  2. Copiez une entrée existante et renommez la clé avec le nom de spawn du véhicule.
  3. Renseignez label et props.
  4. Ajustez les numéros d'extras du modèle (extras) et l'état de spawn (spawnExtras).
  5. 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.