[vR] Türproblem mit vR BR 111 (S-Bahn)


Abonniere unseren Kanal auf WhatsApp (klicke hier zum abonnieren).
  • Hallo,


    erstmal großes Lob für die wunderbaren Lokomotiven, die ihr da kreiert habt. Grandios! Bisher lief es auch wunderbar.


    Allerdings habe ich jetzt auf der Köblitzer Bergland-Strecke ( meine Problemstrecke, fürwahr... hier geht irgendwie auch alles schief ;) ) bei dem Download-Szenario aus eurem Shop ein Problem mit den Türen: Gleich beim ersten Halt (Altenburg Bach) kann ich die Türen nicht wieder verschließen (Strg + t hilft nicht ) und da die ganze Geschichte mit Fahrplan läuft, kann ich auch gleich wieder aufhören.
    Ich würde aber sehr gerne das Szenario spielen, daher meine Frage: Muss ich irgendetwas beachten, was den Türmechanismus "verwirrt" oder so?

  • Es ist wichtig die Tastenkombination "richtig" zu benutzen.


    -STRG drücken und halten
    - T drücken und wieder loslassen
    - STRG wieder loslassen


    Andere Reihenfolgen bringen Probleme. Etwa STRG halten, T drücken und STRG loslassen wärend T noch gedrückt ist. Was dann passiert ist dass der "Controller increase" Befehl nicht mehr gestoppt wird und der Taster festhängt.

  • Darauf werde ich das nächset Mal genauer achten;
    allerdings bin ich schon 4 Szenarien mit der Lok gefahren, ohne bewusst etwas anderes gemacht zu haben, und die Türsteuerung hat immer funktioniert. Dass ich plötzlich dauernd falsch drücke, hätte ich nicht gedacht *blöd*

  • Achte mal auf deine Framerate. Ist diese sehr niedrig, musst du die Tastenkombi länger drücken, da es dann länger dauert bis der Schalter in seine Endposition gelangt. Das ist ein Umstand dem man leider nicht entgegnen kann als Entwickler. Wenn man weit unter 20 fps hat werden alle Schalter und Hebel, die etwas langsamer eingestellt, sind sehr träge.

  • Danke für den weiteren Hinweis; allerdings war die Framrate gefühlt gut, alle anderen Schalter gingen sehr flüssig und nichts ruckelte.


    Es lag wohl wirklich an dem Problem oben. Jetzt habe ich bewusst erst Strg, dann kurz t und erst danach Strg losgelassen und siehe da: Alles läuft super!


    Manchmal kann die Lösung doch so einfach sein ^^


    Ihr seid wirklich super, ein wunderbarer, fixer Support hier!


    :vR:

  • Ich habe das gerade nochmal genau provoziert und mir die ganzen Werte dabei ausgeben lassen. Also es passiert folgendes. Lässt man die STRG Taste los bevor die Taste T ihren Kontakt verloren hat (Key Up), wertet der TS die Taste doppelt aus (einmal als STRG+T und einmal als T) und öffnet die Türen wieder. Das passiert deswegen, weil die Türen direkt nach dem Pfiff für den TS schon zu sind, lediglich die Animation wird separat und verzögert angestoßen. Das geht leider nicht anders da man keinerlei Einfluss auf die Türkontrolle des TS hat. Die Türen lassen sich auch nur mit dem Druck auf T oder im HUD öffnen, nicht mit einem Taster im Cab. Das bedeutet dass in den nächsten Fahrzeugen mit Türsteuerung der Schließbefehl auf eine andere Taste wandern muss um diese provozierbaren Probleme zu vermeiden.

  • Ergänzung:
    Die Strg-, AltGr- und die Umschalt-Taste sind keine echten Tasten im Sinne von "es entsteht ein Zeichen" sondern sie variieren die mit ihr in Verbindung gedrückte Taste und funktionieren auch nur mit dieser.
    Das ist wie damals bei der Schreibmaschine. Dort musste man die "Hochstelltaste" herunterdrücken (die Mechanik veränderte sich dann), dann die gewünschte Taste drücken (es entsteht ein Großbuchstabe), dann die "Hochstelltaste" wieder loslassen (die Mechanik geht in ihre Ausgangsposition).
    Genauso funktioniert das hier auch.
    Wenn man einen Großbuchstaben möchte, drückt man erst "Umschalt" herunter, und lässt sie auch erst nach dem eigentlichen Tastendruck wieder los.
    Strg und AltGr funktionieren entsprechend.



    Maik: Kann man eine Tasten-Entprellung einbauen?

    Egal, wie weit Draußen man die Wahrheit über Bord wirft, irgendwann wird sie irgendwo an Land gespült.

  • Tasten entprellen.. den find ich gut. Ich entprelle auch bald.


    Aber das Problem ist ja eingebaut in den TS. Sobald man die STRG Taste loslässt, aber die T Taste noch Kontakt hat, interpretiert er die als gerade eben gedrückt. Der Prüft also nicht ob die Taste vor dem Drücken auch in Ruheposition war oder gar mit einer anderen Taste in Kombination gedrück wurde, nein, er jongliert mit allen Tasteneingaben sofort rum. Eigentlich müsste er die Eingabe sperren bis die Taste T in Ausgangsstellung ist wenn sie vorher mit STRG betätigt wurde. Tuts aber nich. Da kann man auch nichts löten.

  • Ja Maik, tut mir leid, aber der Terminus dafür ist halt "Entprellen" :D
    Kann ich ja auch nichts dafür :ugly:
    Jedenfalls hab ich das so gelernt :P


    Ok, wenn der TS da keinen Raum lässt, kann man natürlich nichts machen.
    Bei der Behandlung von Maus- und Tastatureingaben war das mit das Erste, was ich lernte, was man unbedingt berücksichtigen muss.

    Egal, wie weit Draußen man die Wahrheit über Bord wirft, irgendwann wird sie irgendwo an Land gespült.

  • nee, Prelli ;) ... entprellen ist gegen Mehrfach-Kontakt. Hier gehts aber nicht um mehrfach drücken, sondern um gedrückt halten.
    Wenn du bei der Schreibmaschine die "Hochstelltaste" loslässt, während die Buchstabentaste noch gedrückt ist, gibts Schmiere ...

  • Ja Nobsi, Schmiere ist das passende Wort für das User I/O des TS2013. Besonders hübsch wenn man mit der Maus im Wackelcab versucht einen "schmierenden" Schalter mit mehreren Positionen zu bedienen. Einfach nicht wirklich möglich. Man bräuchte so einen mechanischen Raildriver, den man einfach auf die Tastatur stellt und der dann statt Befehle zu senden, bestimmte Tasten drückt. Quasi so ne Enigma auf TS :D

  • Ein Fahrpult aus Modulen wäre natürlich schon ein Traum... mit seperat zuschaltbaren Schalter/Hebelgruppen, die die einzelnen Lokomotiven brauchen (PZB - Bedienfläche, AFB, Bremsen etc.) Das wäre dann ein Simulator, der seinen Namen verdient...


    Aber das ist eben Utopie :D

  • hat der TS eine Raildriverschnittstelle? für Zusi haben ja einige bereits Fahrpulte gebaut, wieso sollte das für RW nicht möglich sein.



    stelle ich mir aber schwer vor, bei Lok / Zug tausch. den Führerstand zutauschen.

  • nee, Prelli ;) ... entprellen ist gegen Mehrfach-Kontakt. Hier gehts aber nicht um mehrfach drücken, sondern um gedrückt halten.

    Was passiert denn, wenn du eine taste festhältst?


    Drück mal a und halte fest. Dann passiert nämlich folgendes:
    aaaaaaaaaaaaaaaaaaaaaaaaaaa...
    Das IST mehrfach drücken. Und das kann man mit einer while-Schleife abfangen.


    Ich hab's jedenfalls so gelernt.
    Das ist zwar ein Begriff aus der Elektro- bzw- Signaltechnik (z.B. Schalter), aber der wurde analog zur Funktion bei uns vor 20 jahren genauso benutzt beim Programmieren. Mag sein, dass dieser begriff inzwischen "unmodern" ist und das ein Anglizismus Einzug hielt und er nicht mehr geläufig ist. Das ändert aber nichts an seiner prinzipiellen Richtigkeit :)

    Egal, wie weit Draußen man die Wahrheit über Bord wirft, irgendwann wird sie irgendwo an Land gespült.

  • Drück mal a und halte fest. Dann passiert nämlich folgendes:
    aaaaaaaaaaaaaaaaaaaaaaaaaaa...
    Das IST mehrfach drücken. Und das kann man mit einer while-Schleife abfangen.

    Das macht ja die Software viel später aus einer gedrückt gehaltenen Taste - wird also erst mit ner while Schleife erzeugt.


    Klar weiss ich was entprellen ist, hab ja auch vor ewigen Zeiten mit TTL Gattern Taster auf Einplatinen-Computern entprellt.

  • Der Tastaturtreiber macht das. Da hat aber unser hypothetisches Programm keine Ahnung von. Daher funktioniert sowas sogar im BIOS.


    Wie nennst du es denn, wenn ich eine gedrückte Taste des Anwenders abfangen muss und sicherstellen muss, dass er nichts mehr drückt, bevor ich im Programm weiter fortfahre, um zu verhindern, dass er mir mit dem Drücken dieser Taste den nächsten gleichen Eventhook anspringt aus dem wir gerade kamen?
    Irgendeinen Namen wird es ja geben dafür.

    Egal, wie weit Draußen man die Wahrheit über Bord wirft, irgendwann wird sie irgendwo an Land gespült.

    Einmal editiert, zuletzt von Prelli ()