Beiträge von Fried

    Das Update für Februar 2024 ist ab sofort unter Kostenfrei zum Download bereitgestellt.

    Darin sind alle bis zum 08. Februar 2024 erschienenen Modelle von Reisewaggons, Straßenbahnen und Bussen mit Türen enthalten.

    Die Eingabe in der Anlagen-Lua-Datei wurde folgendermaßen vereinfacht:

    Lua
    Ausfahrsignale = { }
    BushaltestellenSignale = {}
    require("FS2\\Zugtuersteuerung_FS2")

    Hierbei muss die require-Anweisung hinter den Signal-Tabellen stehen.

    Die alte Eingabe ist weiterhin gültig.

    Es wird dringend empfohlen die Dokumentation zu lesen.

    Viel Spaß beim Türen öffnen und schließen.

    New update for Zugtuersteuerung_FS2 released

    The update for February 2024 is now available for download at Kostenfrei.

    It contains all models of passenger cars, trams and buses with opening doors that were released until February 8th 2024

    The input in the layout lua file has been simplified as follows.

    Lua
    DepartureSignals = { }
    BusstopSignals = { }
    require("FS2\\Zugtuersteuerung_FS2")

    The require statement must be placed after the signal tables.

    The old input is still valid.

    It is strongly recommended that you read the documentation.

    Have fun opening and closing doors.

    Nouvelle mise à jour de la Zugtuersteuerung_FS2 disponible

    La mise à jour pour février 2024 peut être téléchargée dès maintenant sous Kostenfrei.

    Elle contient tous les modèles de wagons de voyageurs, de tramways et de bus avec portes qui s'ouvrent parus jusqu'au 8 février 2024.

    La saisie dans le fichier Lua de l'installation a été simplifiée comme suit.

    Lua
    SignauxDeDepart = { }
    SignauxDesArrêtsDeBus = { }
    require("FS2\\Zugtuersteuerung_FS2")

    La déclaration "require" doit être placée après les tableaux de signaux.

    Il est fortement recommandé de lire la documentation.

    Nous vous souhaitons beaucoup de plaisir à ouvrir et fermer les portes.

    Hallo Hans-Jürgen kallert ,

    bitte mach aus einem Zitat und der Antwort darauf nicht 2 Beiträge, sondern schreib unter das Zitat direkt die Antwort darauf.

    Und dann kann man darunter auch das 2. Zitat setzen und darunter die Antwort auf das 2. Zitat - auch wenn die Zitate von unterschiedlichen Personen stammen und die Antwort an unterschiedliche Personen gehen. Das würde das Forum nicht so aufblähen.
    Normalerweise müsste ich die Nur-Zitat-Beiträge jetzt löschen. Da du aber neu hier im Forum bist. lasse ich das ausnahmsweise mal. Beim nächsten Mal sind sie fott, wie der Kölner zu sagen pflegt.

    Und "last but not least", wenn du jemanden mit seinem Nicknamen anspricht, dann setze bitte direkt vor den Namen ein @ ohne Leerzeichen dazwischen. In dem Fall bekommt derjenige eine Nachricht, so wie du jetzt.

    Jens Lindau1965 ,

    nur ein Tipp, falls du es für die Cornberger Rampe nutzen möchtest, was ich vermute.
    Mach es dir mit den Prioritäten nicht zu einfach und denke nur an die Überholungen rampenaufwärts. Ein TEE oder ein F-Zug hat bei der Rampenabwärtsfahrt mit Sicherheit Priorität vor einem rampenaufwärts fahrenden Eilzug, der einen ebenfalls rampenaufwärts fahrenden Güterzug überholen möchte. Nur als Beispiel.

    Guten Morgen Ernst jaer ,

    vielen Dank für deinen Vorschlag. Meine Lösung ist ähnlich, nur nutze ich wahrscheinlich nicht 3 Signale (FS-Signal, Haltesignal, Ausfahrsignal) sondern nur 2. Das "Ausfahrsignal" ist ein Dummy, das über wenn ... dann ... mit dem Haltesignal in seinen Objekteigenschaften gekoppelt ist, aber nicht zur Steuerung benutzt wird. Eventuell als Speicherpltz, aber das ist noch nicht sicher. Im Prinzip ist es nur "zum Anschauen", weil es das beim großen Vorbild halt gibt.

    Auch der Rest ist ähnlich, nur muss ich natürlich Rücksicht auf eine Abwärtskompatibilität nehmen. Weiterhin muss ich die Türschaltung mit berücksichtigen und das ebenfalls abwärtskompatibel. Dazu kommt, dass bei Besitz des Plug-in 2 zu EEP 17.2 das ganze Geschwindigkeitsgedöns entfallen kann. D.h. die entsprechenden KPs sind nicht nötig, aber mein Skript muss beides berücksichtigen.

    Mein Lösungsweg steht im Prinzip. Ich muss "nur" noch einige Skriptanpassungen bzw. -einfügungen machen, die Dokumentationen für beide Module anpassen, eine Test-/Demoanlage bauen, testen und eine Anleitung dafür schreiben. Das geht aber nicht von heute auf morgen. Außerdem habe ich mich auch noch für andere EEP-Aufgaben verpflichtet UND (man soll's nicht glauben) es gibt auch noch ein Leben neben EEP. Also
    @ALL habt etwas Geduld, auch wenn's schwer fällt.

    Jens, dann noch eine Moderatorenbitte an dich: Füge bitte deine Computerkonfiguration und deine genutzte(n) EEP-Version(en) inkl. Plug-ins in deine nicht vorhandene Signatur (Klick auf deinen Avatar oben rechts und dann unter Benutzerkonto).

    Guten Morgen Jens Lindau1965 ,

    manchmal kommen einem im Bett beim Schäfchen zählen die besten Ideen. So auch mir letzte Nacht.

    Es ist natürlich Quatsch, dass die Idee mit den TagTexten die einfachere ist. Besser geht es mit Routen! Denn da benötigt man nur eine weitere Tabelle und die TagText-Eintragungen entfallen.

    Lua
    Routenprioritaeten = {
    	["Schnellzug"] = 1,
    	["Personenzug"] = 2,
    	["Gueterzug"] = 3,
    	["Kurzzug"] = 3,
    }

    Z.B. für die Cornberger Rampe.
    Die Speicher-Funktion ist dann

    Lua
    function SpeicherZug(zugname)
    	local ok, route = EEPGetTrainRoute(zugname)
    	local prioritaet = Routenprioritaeten[route]
    	table.insert(ZugWarteschlange[prioritaet], zugname)
    end

    Nun da haben sich unsere beiden Beiträge überschnitten. Aber die Idee dahinter ist dir ja klar, wie ich lese.
    Schönen Sonntag und viel Spaß beim Priorisieren.

    PS.: Nur um es (auch für Mitleser) zu erwähnen, das Ganze ist natürlich nicht auf 3 Prioritäten beschränkt.

    Hallo Jens Lindau1965 ,

    zunächst stellt sich mir die Frage, wie du die Priorität eines Zuges definieren bzw. speichern willst. Mir kommen da 2 Möglichkeiten in den Sinn: 1. nach Routen ( hierbei musst du festlegen, welche Routen zur höchsten, welche zur mittleren und welche zur niedrigsten Priorität gehören. 2. nach Zahlen 1, 2, 3 (Dabei hat 1 die höchste Priorität und 3 die niedrigste. Diese "Priorität" speicherst du im TagText des Fahrzeugs 0 eines jeden Zuges. Ich würde die 2. Möglichkeit nehmen, Erscheint mir einfacher zu bearbeiten.
    Das Folgende ruht auf dieser Annahme.

    Dann würde ich keine einfache Tabelle nehmen, sondern eine mit 3 Untertabellen: ZugWarteschlange = {{}, {}, {}}. Da hast du schon gleich deine Prioritäten. Ob die global sein muss oder local sein kann, hängt davon ab, wo du den Kram stehen hast. In einem mit require eingebundenen Skript local, im Hauptskript global (das musst du aber nicht deklarieren).

    In der Speicher-Funktion, liest du die Priorität aus dem TagText des Fahrzeugs 0 und wandelst sie in eine Zahl um.
    Danach fügst den Zugnamen ans Ende der jeweiligen Prioritätsuntertabelle ein. Dadurch hast du die zeitliche Reihenfolge.

    Lua
    function SpeicherZug(zugname)
    	local fahrzeug = EEPGetRollingstockItemName(zugname, 0)
    	local ok, prioritaet = EEPRollingstockGetTagText(fahrzeug)
    	prioritaet = tonumber(prioritaet)
    	table.insert(ZugWarteschlange[prioritaet], zugname)
    end

    Die Hole-Funktion besteht aus einer if-Verzweigung:

    Damit hast du den Zug mit der höchsten (vorhandenen) Priorität und der längsten Wartezeit. Gleichzeitig hast du ihn aus der Tabelle gelöscht.

    Um einen beliebigen Zug aus der Tabelle zu löschen, musst du 2 geschachtelte for-Schleifen durchlaufen und die Zugnamen vergleichen.

    So, ich hoffe in Anbetracht der späteren Stunde keinen Tipp- und/oder Gedankenfehler gemacht zu haben.

    Auf jeden Fall wünsche ich ein schönes Wochenende.

    Octavian ,

    dies war vor kurzem hier schon einmal ein Thema. Da hat Michael89 sogar mit Bildern dargestellt, wann wie wo abgekuppelt wird. Ich finde leider dieses Thema nicht auf die Schnelle.

    ABER, ob mit Zug-KP oder mit EEPTrainLooseCoupling ist das Problem gleich. Ich habe es damals mit Lua getestet und danach das Online-Lua-Handbuch bei der genannten Lua-Funktion in Kapitel 9.6 um einen Tipp erweitert. Den ich gerne hier in etwas abgewandelter Form wiedergebe.

    Unter "Neuer Zugname" kann man dem abgekuppelten Teil einen neuen Zugnamen geben. Tipp: Es empfiehlt sich also zuerst zu überlegen, welchem späteren Zugteil man einen neuen Namen geben will und dann diesen mit den Einstellungen "Kupplung lösen vorn/hinten" und "Rollmaterial-Nr." zu definieren.

    Nicci 53 , vielleicht wählst du mal den Feuerwehr-Notruf 112, dass ein solcher Tipp auch im EEP-Handbuch nützlich sein könnte. Zur Not kann ich das aber auch nochmal machen, wenn gewünscht.

    Moin JuergenSchm und Baden280

    Die Funktion ändert in jedem Waggon des Zuges die drei Beschriftungen.

    bis auf den, der angetrieben wird.

    Mein Vorschlag:

    Lua
    function AendereZugbeschriftung(Zugname,Text1,Text3,Text4)
      local Rolliname
      for i=0,EEPGetRollingstockItemsCount(Zugname) - 1 do
        Rolliname = EEPGetRollingstockItemName(Zugname,i)
        EEPRollingstockSetTextureText(Rolliname,1,Text1)
        EEPRollingstockSetTextureText(Rolliname,3,Text3)
        EEPRollingstockSetTextureText(Rolliname,4,Text4)
      end
    end