Ich habe auch eher einen c#/c++ Grundstock im Kopf, bin aber auch hier ein Amateur und kein Profi.
1.Verwirrung(hoffentlich)
Du kannst schon mit lokalen Funktionen arbeiten, die habe ich in Deiner Throttle LUA Datei erhalten und nur namentlich angepasst. Du kannst sicher auch mit deinem Grundansatz weiter kommen, und den Funktionsnamen direkt aufrufen. aber ich habe Dir gezeigt, was für mich funktioniert.
Dadurch dass ich einen Teil der TSC-"Boilerplate" in jedem Skript mitliefere, habe ich bestimmt auch Nachteile, kann aber wie Du beschrieben hast, die Systeme voneinander getrennt halten.
2.Verwirrung:
Ich habe schon einmal die These hier im Forum aufgestellt, dass diese zentrale LUA auch immer die Werte der Controls "durchreichen" muss und bislang hat niemand, der es besser beschreiben kann, widersprochen.
Allgemeine und geteilte Verwirrung😉:
Viel ist nicht wirklich LUA abhängig, sondern soweit wie ich es verstehe, der Art geschuldet, wie das Skripting im TSC funktioniert oder besser welche eingebauten Werte manipuliert werden müssen.
Mein PZB Skript ist sehr ähnlich aufgebaut, aber inzwischen mit richtiger StateMachine und lokalen Funktionen, um auch alle überlagernde Beeinflussungen korrekt darzustellen und den ausgewählten Führerstand zu berücksichtigen. Da wird es demnächst ein Update für das V200 Paket geben.
Aber ich habe zB meine G320b immer noch nicht fertig, weil ich nicht glücklich mit der Steuerung und insbesondere der Bremssimulation bin. Scheitert am Zeitmangel im Moment.
Lösungsansatz für Profis und Amateure mit etwas Zeit:
Was sehr empfehlenswert ist und ich von Spikee1975 erfahren habe: Guck Dir die Skripte von Armstrong Powerhouse an.
Eine Empfehlung direkt von mir:
ist sehr aufschlussreich.
4. Verwirrung
Das ist eine Art von Vererbung, soweit ich es verstehe. LUA bietet das nativ nicht und so umgeht man diese native Einschränkung, soweit mir bekannt.