Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    6148
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. Not a problem. I just figured that it helps to know the typical pitfalls ...
  2. The "Duplicate" command immediately places a copy on your layout. Unlike a classic "copy" which would hold the copy in a clipboard for later retrieval. ctrl + D = duplicate ctrl + C = copy to clipboard easy to mistype with C and D being adjacent characters on a keyboard.
  3. Goetz

    Lok erkennen

    Der Grund scheint mir zu sein, dass deine Lok (von früheren Versuchen?) noch eine Variable "Ankuppeln" hat, die ein Boolean (wahr/falsch) enthält. Deshalb scheitert die Zuweisung eines Schlagwortes mit demselben Namen. Wenn du die falsche Variable aus der Lok löscht, sollte es funktionieren.
  4. Indem du sie aus dem Katalog am unteren Bildrand auf deine Platte ziehst ... Aber eventuell habe ich deine Frage missverstanden? Meintest du mit "übernehmen" etwas anderes? Wenn ja, was?
  5. Goetz

    Lok erkennen

    So muss die Zuweisung des Schlagwortes aussehen: und so das Ereignis, welches auf eine Lok mit diesem Schlagwort reagiert sobald diese stoppt: Die Verzögerung ist nicht erforderlich. Ich fand es nur ansehnlicher, wenn die Lok nicht sofort wieder anfährt. Das Ereignis wird auch dann ausgelöst, wenn du die Lok selber bewegst, indem du z.B. den Tacho regelst. Wenn du die Lok händisch auf dem Gleis schiebst, wird das nicht als Fahrt angesehen und somit gibt es dann auch kein Ereignis "Lok stoppt". Aber das wirst du sicher nicht mit "händisch fahren" gemeint haben.
  6. Goetz

    Lok erkennen

    ... die Ursache dafür kann ich leider nicht erkennen, solange du mir das Ereignis nicht zeigst.
  7. Goetz

    Lok erkennen

    Da würde ich folgenden Weg empfehlen: Schmeiß beim Kontakt 5m alles raus, was die Lok beeinflusst! Die Lok stoppt selbständig, sobald sie die Waggons berührt. In der EV kannst du auf das Ereignis "Zug/Fahrzeug stoppt" reagieren. Damit das nur für die Rangierfahrt (einer beliebigen Lok!) gilt, gib im Ereignis ein, dass es für alle Loks mit einem Schlagwort (z.B. "Ankuppeln") gelten soll. Dieses Schlagwort kannst du der Lok im Ereignis "Gleiskontakt 5x wird betreten" (wie eine erweiterte Variable) zuweisen. Im Ereignis musst du nur sagen, dass die auslösende Lok mit negativer Geschwindigkeit relativ zur letzten Fahrtrichtung losfahren soll. Und dann natürlich das Schlagwort aus dieser Lok löschen, damit beim nächsten Stopp nichts ungewolltes passiert. In dieser Anlage habe ich die vorgeschlagenen Änderungen vorgenommen: t11 Korrekturen.mbp
  8. Goetz

    Lok erkennen

    Das tut sie, weil du ihr eine positive Geschwindigkeit zuweist und die Lok zum Signal S1 hin ausgerichtet ist. Wenn du die Option "Relativ zur Fahrtrichtung" aktivierst, behält eine Lok ihre letzte Fahrtrichtung bei, wenn du einen positiven Wert einträgst. Ein negativer Wert würde die Fahrtrichtung umkehren. Das erspart dir die Prüfung, ob du für die Fortsetzung der Fahrt eine positive oder negative Geschwindigkeit bräuchtest.
  9. Goetz

    Lok erkennen

    Sorry Mobb, so war das nicht gemeint. Ich tu mich nur schwer mit Menschen, die sich erst dann wieder melden, wenn sie eine neue Frage haben. Weil mir dann bis zu dem Tag die Rückmeldung fehlt, ob die letzte Antwort hilfreich war oder nicht. Viele Grüße Götz
  10. Wo siehst du bei den beiden von dir genannten Modellen eine Abhängigkeit von der Tageszeit? Hast du eventuell das Zahnrad hinter dem Schalter mit einer Sonne verwechselt? Wenn du auf dieses Zahnrad klickst siehst du, dass bei diesen Modellen der Automatikmodus deaktiviert ist. Viele Grüße Götz
  11. Ja, das ist mein Skript. Freut mich sehr, dass es dir gefällt, @RoniHB Den Trick für das Auffüllen mit Leerzeichen zwischen Zugnamen und Zuggattung habe ich mir bei @EASY abgeschaut. Ich habe es mir nur etwas leichter gemacht und eine starre Länge gewählt. EASY bestimmt den Abstand dynamisch.
  12. Sounds like you have two tracks ontop each other. With luck, your trains run on the same track that carrys the contacts. Next day chance may have it that the train enters the other track instead.
  13. Hallo Fred Schramme, wähle ein Gleisstück aus, drücke unten aufs Zahnrad (um das Fenster "Eigenschaften" zu öffnen) und klicke dann auf den Stift. Oder klick auf das blaue Dreieck am Ende eines Gleisstücks (wenn du nur Länge und Krümmung ändern möchtest.
  14. Nein, das ist gewollt. Denn oft genug vergeben User eigene Namen und die wollen sie auch beibehalten, wenn sie das Objekt ersetzen. Man kann es in diesem Fall nicht allen recht machen. Für andere ist es so, wie es ist genau richtig. Für deinen Zweck ist es leider falsch. Viele Grüße Götz
  15. Hello Daniel, I'd say start small. Do simple things, little throwaway layouts to get to grips with the various functions and controls. Maybe study some of the layouts which other users published for inspiration. The 3D Train Studio has all the tools that are required and no additional software is needed. Realistic and efficient comes later. Learn the ropes first. And when you're stuck, we're here to help. Kind regards Goetz
  16. Angeregt durch das Lua Skript von @Phrontistes für das Auflisten eines Depot Inhalts Lua kennt eine sehr schöne Methode, um Textbausteine aus einer Tabelle zu einem größeren Textblock zusammenzufügen. table.concat(Tabelle, "Trennzeichen") Damit könnte der Code von Phrontistes alternativ so aussehen: if $("Ost Depot").count > 0 then local Liste = {$("Ost Depot").entries[0].name} -- weil [0] von ipairs nicht berücksichtigt würde for k, v in ipairs($("Ost Depot").entries) do -- die folgende Plätze ab 1 aufwärts table.insert(Liste, v.name) end $("Text box").text = table.concat(Liste, "\n") else $("Text box").text = "kein Farzeug im Depot" end Und wenn die Ausgabe mehrfach benötigt wird, ist es ratsam sie in eine Funktion zu packen. Dann besteht keine Gefahr, bei eventuellen Änderungen später eine von mehreren Stellen im Code zu vergessen. Für solche zentralen Funktionen eignet sich das Skript unter Ereignisse sehr gut function DepotInhalt(Depot) if Depot.count > 0 then local Liste = {Depot.entries[0].name} -- weil [0] von ipairs nicht berücksichtigt würde for k, v in ipairs(Depot.entries) do -- die folgende Plätze ab 1 aufwärts table.insert(Liste, v.name) end return table.concat(Liste, "\n") else return "kein Fahrzeug im Depot" end end Im eigentlichen Ereignis "Depot wird betreten" weist man der Textbox dann nur noch den String zu, den die Funktion zurück gibt $("Text box").text = DepotInhalt($("Ost Depot")) Für den Zweck, den das Beispiel von Phrontistes erfüllen soll, macht das keinen Unterschied. Es soll auch bitte keine Kritik an seiner Herangehensweise sein! Sein Beispiel bot nur eine gute Vorlage, um table.concat() zu demonstrieren. Phrontistes Beispielanlage mit den vorgeschlagenen Änderungen: Alternative Inhalt Depot anzeigen.mbp Viele Grüße Götz
  17. Wenn die Ortsansässigen von dir wissen wollen, ob du ihren Ort schön findest, dann ist das "Fischen for compliments".
  18. Goetz

    Neue Beta-Version V9

    Dann hättest du mit der V9 einen Screenshot vom falschen Startpunkt machen und den richtigen Startpunkt darauf mit einem Kreuz oder Kreis markieren können. So sähe man sofort, was du meinst und müsste nicht erst eine Anlage laden oder gar ein Zip File öffnen und durchsuchen ...
  19. Goetz

    Neue Beta-Version V9

    Warum zeigst du es nicht mit zwei Screenshots, Jürgen? Dann erkennt man sofort, was du (zu recht!) kritisierst. Die Drehrichtung ist jetzt auch verkehrt herum. Ursprünglich drehte der Kran sich vom Bansen im Uhrzeigersinn zum Tender. Jetzt dreht er sich vom Boden vor der Eingangstür über den Bansen und die Lok hinweg bis zum Tender. Viele Grüße Götz sorry EASY, habe nicht gesehen dass du auch gerade geantwortet hast
  20. eine gespeicherte Kameraposition tut es natürlich auch. Deshalb findest du auf meinen kleinen Demos fast immer auf 0 meine "default" Kameraposition. Die ist erstens der Blickwinkel, zu dem ich gerne zurückkehren möchte, ohne die Kamera immer wieder neu ausrichten zu müssen. Und zweitens mein Reset.
  21. klick ins Leere (= wähle kein Objekt aus) und drücke dann die Return-Taste
  22. Ja, oder die Gruppe in der Strukturansicht anklicken.
  23. Goetz

    Lok erkennen

    Weil in den Eigenschaften des Kontakts 5x "Abbremsen auf 0 km/h" aktiviert ist. Außerdem hält die Lok vorher schon am Signal S1, weil dort für die Stellung Hp00 beide Fahrtrichtungen aktiviert sind. Wenn ich die Lok dann händisch weiterschicke und sie am Kontakt 5x ankommt, stoppt sie und fährt in umgekehrter Richtung wieder los. Sie koppelt nicht an den Waggons an. So weit kommt sie gar nicht. Nachdem ich diese beiden Punkte korrigiert habe, ändert die Lok am Kontakt 5x abrupt ihre Richtung und fährt gleich zurück ins Wartegleis. Angekuppelt wird auch jetzt noch nicht. Ich habe mich noch nicht mit deiner ganzen EV auseinandergesetzt. Aber folgender Punkt fiel mir da auf: Wenn du zwei Bedingungen mit einem oder verknüpfst, dann reicht die Erfüllung einer der beiden Bedingungen, damit das Ergebnis wahr ist. Das bedeutet für das untere Feld (= nicht erfüllt), dass weder die eine, noch die andere Bedingung erfüllt ist. Der Schalter steht auf true und beide Variablen enthalten dasselbe Gleis. Das ist genau der Zustand, den du direkt darunter noch einmal prüfst. Sehr wahrscheinlich, ja. Für diesen Zweck gibt es das "benutzerdefinierte Ereignis". Das ist im Grunde eine Funktion, die du an beliebiger anderer Stelle aufrufen kannst. Fahrstraßen lassen sich nicht aktivieren, wenn sie entweder mit einer anderen aktiven Fahrstraße im Konflikt stehen oder wenn sich irgendwo auf dem Weg Rollmaterial befindet. "Manches Mal" ist als Beschreibung zu dürftig um zu erkennen, was genau in deinem Fall der Grund ist. Du musst bitte genauer beobachten, welche Fahrstraße es ist und wie die aktuelle Konstellation auf der Anlage zu diesem Zeitpunkt aussieht. Du kannst in diesem Skript Funktionen anlegen, die du an anderer Stelle in der EV (wiederum in Lua) ausführst. Oder du nimmst stattdessen das erwähnte benutzerdefinierte Ereignis. Das lässt sich auch in der grafischen EV auslösen. Viele Grüße Götz P.S.: Ich würde mich freuen, wenn du mich nicht wieder 3 Wochen auf eine Reaktion warten lässt.
  24. Goetz

    Lok erkennen

    Bevor ich mich mit deiner Anlage auseinandersetze ... While und Until Schleifen eignen sich nur für Programme, die eigenständig und unabhängig laufen. Weil ein Programm in der Schleife verbleibt, bis die Bedingung erfüllt ist. Die EV soll Teilaufgaben erledigen, während der ganze Verkehr weiterläuft. Verkehr, der parallel vielleicht auch noch die Erledigung andere Teilaufgaben erfordert. Deshalb ist das für eine Steuerungslogik (wie sie hier benötigt wird) kein guter Ansatz. Doch. Es nennt sich Wiki und du findest es oben in der Kopfzeile, gleich rechts neben "Forum" Viele Grüße Götz
  25. Hallo Wolfgang,, bei mir laufen deine beiden Demoanlagen genau gleich, wenn ich sie in V9 betrachte. Die Lok schubst die Waggons über den Buckel, beide rollen auf der anderen Seite den kurzen Abhang runter und kommen am Ende zum Stehen die Lok fährt hinterher und schubst sie noch ein kleines Stück weiter. ein Ruckeln sehe ich nicht. Aber in V8.5 konnte ich das von dir beschriebene Verhalten sehen. Im Grunde ist das zufällig und hat nichts mit der Version zu tun. Wenn die Waggons nach dem Abkuppeln direkt hinter der Lok stehen, sich die Puffer also berühren, sieht das Studio die Gruppe noch als Zugverband und die Lok kann die Waggons schieben. Aber sobald eine kleine Lücke zwischen Waggons und Lok besteht, versucht das Studio bei deaktivierten Kupplungen die Lok in kurzem Abstand hinter den Waggons anzuhalten. So, wie auch Straßenfahrzeuge mit etwas Abstand zum Vordermann halten würden. Wenn du den Zug stoppst und gleichzeitig die Kupplungen löst, dann kann es sein, dass die Lok schneller stoppt als die Waggons. Und dann entsteht diese Lücke. Du musst also bitte entweder nach dem Befehl zum Anhalten kurz warten, bevor du die Kupplungen löst. Oder die Kupplungen lösen, während du die Waggons den Buckel rauf schiebst. Viele Grüße Götz angepasste Beispielanlage: Wolles Eselsrücken.mbp
×
×
  • Neu erstellen...