Frage zum Interior-Bau

  • Hallo Zusammen,


    ich habe ein Interior, schön mit Hebelchen und Schalterchen, die sich auch bewegen lassen, soweit so gut!


    Nun sollen diesen Schaltern ja auch Funktionen zukommen, also wird dafür ein Script benötigt, klar!
    Deshalb dachte ich mir, das CCG sollte hier weiterhelfen. Dort ist ja auch in einem Kapitel der Aufbau eines Interiors beispielhaft beschrieben (DD40-Interior), schön mit Config und Script zum angucken, wie man sich das wünscht.
    An diesem Leitfaden hängend habe ich mich dann daran gemacht eine Config und ein Script nach dieser Vorlage
    für mein Interior zu erstellen. Ergebnis: Keine Fehlermeldungen, aber auch keine Funktion.


    Gibt es eine ganz generelle Einstellung, die vorher zu tätigen ist, die ich übersehen haben könnte ?

  • Normalerweise nicht.


    Was ich natürlich nicht weiß ist wie du die Schalter benannt hast. Bei Führerständen mit Standardfunktionalität bruachen die Schalter die Namen, wie sie im CCG verzeichnet sind. Sonst geht es nicht.


    Bei erweiterten Funktionen müssen eigene Schalter natürlich mit von dir erdachten Namen benannt werden. Dann müssen aber die Systeme im Führerstand die Schalter anhand der Bezeichnungen wieder finden.


    Noch ein paar generelle Dinge für den professionellen Führerstandsbau zum Thema Implementierung:


    a. Es empfiehlt sich seperate Bordsysteme als seperate Objekte zu programmieren insofern man den Führerstand mit Bordsystemen (I60R, EbuLa, Sifa, ERTMS, ETCS, KVB, LZB etc. ) ausrüsten möchte.


    b. Außerdem epfiehlt es sich dann auch, die Systeme so zu realisieren, dass sie Schalter anhand von Standardbezeichnungen erkennen z.B. "pzbwachsam*" oder "sifataste*" etc. (das * steht hier für weitere Zeichen die folgend dürfen)


    c. Bei Systemen mit unterschiedlichen Ausgaben an den Nutzer empfiehlt es sich das System ohne Leuchtmeldersteuerung zu programmieren sondern lediglich eine Zustandsausgabe anzubieten, die die öffentlichen für den Führerstand einsehbaren Zustände angibt.


    d. Bei Schaltern empfiehlt es sich (insofern man die Schalter in einem eigenen Skript implementiert) die "limits" auf Werte zu setzen, die das Auslesen der Hebelstelungen vereinfachen z.B.:
    - "0,32" für einen Fahrschalter mit 1-32 Fahrstufen und einer Nullstellung
    - "-8,8" für einen Kombihebel mit acht Bremsstufen einer Nullstellung und acht Fahrstufen
    - "-1,1" für einen Schalter mit Stellungen Ein,Aus,Ein oder Aus,Ein,Aus


    e. darüber hinaus erlaubt Trainz auch die Implementierung tastender Schalter z.B. für die Indusi Tasten. Dazu lässt man die entsprechenden Notch einträge weg und prüft diese Stellungen innerhalb der Update() Methode.
    Bsp:


    Der Schalter hat nur einen Notch bei 0.5 d.H. er fällt immer in die Mittelstellung zurück, wenn man ihn betätigt hat.
    Solche Schalter sind allerdings nur für Steurungen des Nutzers geeignet. Muss ein Schalter über skript gesteuert werden, so müssen natürlich die enstsprechenden Notches vorhanden sein. In solchen Fällen kann man eine Rücksetz-Automatik über das Skript realisieren (wenn eine gebraucht wird).


    So. Das waren jetzt mal einige Infos zu dem Thema.


    Mit freundlichen Grüßen


    Ks-Vsig

    Einmal editiert, zuletzt von ()

  • Hallo Ks_Vorsignal,


    Danke für die Antwort!


    Ich werde meine Benennungen nochmals überprüfen und ggf. auf die "Standardwerte" abändern.



  • Gibt es eine Übersicht dieser Schalter für Standardfunktionalität? Das habe ich nicht gefunden.

  • Für einen Führerstand mit Standardfunktionen benötigt es keinen Script. Lasst euch vom *** nicht beiirren. Alles, was man dazu braucht steht in der CCG. Mit Scripten sollte man nach und nach anfangen, wenn man z. B. funktioniernde Scheibenwischersteuerung einbauen will (hierzu benötigt es auch einer Animation (für die normalen levers und needles brauchst du keine Animation). Was wichtig bei Cabs ist: Man muss die Wirkung des einfallenden Lichts statisch in die Texturen einarbeiten. Im Cab werden keine Lichter gerendert, wie es bei der Außenansicht der Fall ist. Dies kann man entweder per Hand im Grafikprogramm erzeugen (wobei man sich über die Richtung des Lichteinfalls Gedanken machen muß und dementsprechend helle und dunkle Flächen sowie Schatten in die Textur einarbeiten) oder mit Hilfe eines Renderprogramms die Texturen erstellen. (Dabei Lichter in die Fensteröffnungen stellen (am besten Flächenlichter - Richtungslichter erzeugen zu scharfe Schlagschatten).


    [at=Basti]Sowas muss nich sein...[/at]

    Einmal editiert, zuletzt von Basti ()

    • Offizieller Beitrag

    Wie Josef schon sagte,
    bau zuerst einmal einen Führerstand ohne Sonderfunktionen,
    danach kann man sich immernoch an das Thema herantasten.


    Solange es keine frei verfügbaren Signale, Spezifikationen und Dokumentationen sowie unterschiedliche Systeme zu PZB, LZB und Co (zB. von BSI als Payware) gibt, halte ich die Implementierung solcher Funktionen für wenig sinnvoll...

  • Tu ich auch nicht!


    Eine Scheibenwischersteuerung mit Kontrolllampe funktioniert schon.


    Mir ging es jetzt darum, ob es eine namentliche Auflistung der "Standard-Schalter" für die Standard-Funktionen gibt.
    Ich habe mir im CCG sehr wohl die Artikel zum Interior-Bau durchgelesen, aber so eine Aufstellung ist mir nicht (bewusst) untergekommen.



    Tante Edith:


    Nach dem Schreiben obiger Zeilen durchfuhr mir ein Gedankenblitz und ich wurde fündig:
    Im Scripting & API Guide gibt es z.B. die "DefaultLocomotiveCabin Member List",
    dort sind die verfügbaren Standards aufgelistet!


    :)

    Einmal editiert, zuletzt von Bumblebee ()

  • @Bumblebee


    Gut, dass du fündig wurdest.


    Noch ausführlicher sind alle Cab- Standardfunktionen im CCG (TC3) Seiten 147 - 151 beschrieben.

  • In den im CCG vorgestellten Interior (ich weiss die Mehrzahl grad nicht :winking_face: ) sind Brems- und Beschleunigungsanlagen ja immer getrennt.


    Wie realisiert man denn am Besten eine gemeinsame Steuerung per "Joystick" ?


    Wer kann da helfen ?

  • Ab TC gibt es einige Standardlever mehr, unter anderem "throttle_brake_lever". Das dürfte es sein was du suchst. Siehe Appendix D im CCG.


    Ein Problem ist es, sowas für 2006/2007 zu realisieren. Hier musst du skripten. Gutes Beispiel ist die Kabine der Strassenbahn KT8 von Bald/Skript Steler. Etwas kompliziertere Art benutzt coerni in der V6e Hamburger Strassenbahn.