Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5770
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. @raf.sonneville, may I suggest one improvement? When you enter a contact, the EV knows the train that triggered the event. It's preferable to say "set speed for this train that called" and not "set speed for a train on this contact". It's not always guaranteed that the vehicle on the contact has a motor. And when it doesn't, your command will fail. greets Goetz
  2. Das war schlau. Im Idealfall hast du dabei auch den passenden Maßstab TT gewählt? Falls nicht, kannst du das unter "Ansicht" - "Anlageneinstellungen" noch anpassen. Viele Grüße Götz
  3. erzähl!
  4. @EASY Ich habe gerade probehalber die Zeit mit tostring in eine Zeichenkette gewandelt. Das funktioniert. Nur für den Fall, dass man die Werte nicht direkt extrahieren kann ...
  5. Dann steht das Gleis auf beiden Modulen mit halber Gleisbreite über. Für die Verbindungen macht das keinen Unterschied.
  6. Das funktioniert praktisch ganz von selbst, Manuel. Wenn du Anlagenteile aneinander fügst, dann "finden" sich die offenen Gleisenden. Du kannst das sehr schön ausprobieren, indem du im Katalog unter "Landschaftselemente" die Module von @Roter Brummer suchst und aneinander reihst. So, wie du mit diesen Modulen hantieren kannst, geht es auch mit kompletten Anlagen. Durch Spielereien mit diesen Modulen kannst du sehr bequem herausfinden, wie viel Anlage du deinem Rechner zumuten kannst, bevor er in die Knie geht. Und du bekommst obendrein eine große Portion Inspiration für den Anlagenbau mit dem Studio. Jedes Modul ist eine (geschachtelte) Modellgruppe, die du nach Lust zerlegen, untersuchen und manipulieren kannst. Viele Grüße Götz
  7. Hallo Ralf, das geht. Aber wie du es genau bewerkstelligen musst, hängt von deinem Vorhaben ab. Variante 1: Du erstellst ein Ereignis "Signal schaltet", gibst als Auslöser das Schlagwort an und prüfst im Ereignis, ob die Stellung die gewünschte ist. Variante 2: Wenn etwas anderes das Ereignis auslösen soll, erstellst du eine Wiederholung über alle Objekte mit dem Schlagwort und prüfst in der Wiederholung die Signalstellung. Variante 3: Du prüfst in einer Mehrfachbedingung die Stellung des Signals und die Existenz des Schlagwortes. Vermutlich gibt es noch mehr Denkansätze. Viele Grüße Götz
  8. Hallo Spurwechsel, du verbesserst deine Chance, beim Konstrukteur Gehör zu finden ganz enorm, wenn du nachschaust, wer das Modell konstruiert hat diesen Konstrukteur mit vorangestelltem @ im Thread direkt ansprichst. Du darfst nicht davon ausgehen, dass jedes Mitglied hier das ganze Forum durchliest. Aber wenn du @FeuerFighter direkt ansprichst, dann wird er auf dein Posting aufmerksam gemacht, sobald er sich im Forum anmeldet. Viele Grüße Götz
  9. Hallo dahn.swiss, Weder sehe ich, was du machst. Noch sehe ich, was du vor deinem geistigen Auge siehst, sprich: Was du erwartest. Wenn du nur wissen willst, ob ich mehr Geschick für das Verlegen von Gleisen und die Schaltungslogik habe als für die Ausgestaltung? Ja, ist bei mir so. Mit Geometrie und Logik finde ich mich gut zurecht. Mein gestalterisches Talent ist vergleichsweise dürftig. Viele Grüße Götz Nachtrag: Meine alternative, sarkastische Antwort auf deine erste Frage wäre: Das sehe ich genauso. Sobald du Gelände über deine Anlage legst, gefällt sie mir auch nicht mehr. Und diese Antwort kann ich nur deshalb geben, weil ich deine Anlagen noch nie gesehen habe. Weil damit für jeden klar sein dürfte, dass ich mit dieser Antwort kein Urteil über deine Anlagen abgebe. Sondern nur scherzhaft darauf hindeute, wie absurd deine Frage eigentlich ist.
  10. Das kann auch nicht gehen, weil du in jedem Objekt nur ein Verknüpfungsziel angeben kannst. Du kannst mehrere Kontakte mit demselben Signal verknüpfen. Aber du kannst nicht denselben Kontakt mit mehreren Signalen koppeln. Deshalb musst du die Verbindung immer vom Slave zum Master herstellen.
  11. Von solchen Lösungen "von hinten durch die Brust ins Auge" halte ich nicht viel. Das macht Dinge nur unübersichtlich. Wenn Kontakt betreten wird, prüfe wer da auf den Kontakt gefahren ist und reagiere entsprechend. Das ist sauber strukturierte, lesbare Logik. Alles andere ist Kuddelmuddel. Ganz besonders Einschränkungen im Kontakt selbst oder separate Kontakte für jede Zuggattung. So zumindest meine Erfahrung ...
  12. Hier findest du eine Erläuterung im bewegten Bild:
  13. Hallo Walter, Du musst bitte zuerst den Kontakt anwählen und dann über "verbinden mit" der Ampel zuweisen. Dann kannst du anschließend den Kontakt für jede Ampelstellung individuell konfigurieren. Gruß Götz
  14. Hallo neuLich, genau das hat sich anderswo letztlich als unpraktisch erwiesen. Dort stolpern die User immer wieder darüber, dass die Auswirkungen und Einschränkungen bei Kontakten auf viele Eingabefelder verstreut sind. Es ist - so meine Erfahrung - viel sinnvoller, den Kontakt nur als Trigger zu nutzen und alle Logik zentral an einer Stelle zu verwalten. Viele Grüße Götz
  15. Hallo Jürgen, das war mir bei meinem Versuch auch aufgefallen. Ich hatte noch nicht die Zeit gefunden um genauer zu untersuchen, warum das nicht klappt. Ich hatte dann die Anlage mit vier Zügen befüllt und die blaue Taste funktionierte. Beim nächsten einzelnen Zug, den ich rausfahren ließ, klappte es auch. Danach hatte ich die Sache leider nicht weiter untersucht. Eventuell steigt die Wiederholung beim ersten leeren Platz aus (weil eine Tabelle für die in ipairs Methode beim ersten leeren Platz endet). Dann wirst du die Tabelle dynamisch bauen müssen. Aber ich habe gerade nicht den Kopf frei, um dir dafür einen Vorschlag zu entwerfen. Viele Grüße Götz
  16. Hallo Jürgen, du kannst prüfen, ob das Element aus der Liste eine Fahrzeugeigenschaft hat: Wenn die Eigenschaft existiert, handelt es sich um einen Zug. Viele Grüße Götz
  17. Goetz

    Modelle von Reinhard

    wow!
  18. Mit Lua kannst du alle Gleise ansprechen, die in einer Fahrstraße stecken. Dann schaust du, ob die Eigenschaft "locked" in dem Objekt gesetzt ist. Falls ja, setze sie auf "false". local t = layout:getRoutesByKeyword("Zurücksetzen") for i, route in ipairs(t) do for _, track in ipairs(route.tracks) do if track.locked then track.locked = false end end end viele Grüße Götz
  19. Hallo mo_bahn, Deine EV enthält ja auch nichts, was die Fahrstraße erneut aktivieren würde. Und wenn ich per Taster alle Fahrstraßen aktiviere, bleiben zwei auf "blockiert" weil jeweils die vorausliegende Weiche verriegelt ist. Die musst du bitte einmal entriegeln. (Schloss Symbol in den Eigenschaften der Weiche) Viele Grüße Götz
  20. Sie ist in Teilen aufgelöst, EASY, aber nicht vollständig. Die Auflösung am Signal findet schon in dem Augenblick statt, wenn die Zugmitte das Signal passiert. Jede Weiche innerhalb der Fahrstraße wird befreit, wenn der Zug sie verlässt. Du musst erstens die Tür gleich hinter dem Zug zumachen und ihn so vor Nachfolgern schützen. Und du willst zweitens zurückgelegte Abschnitte nicht länger reservieren. Aber den Restabschnitt vor dem Zug musst du unbedingt weiterhin beanspruchen, bis er am Ziel ist. Viele Grüße Götz
  21. Weil (wie ich durch deine Frage gerade selbst entdeckt habe), die Aktion "Zug von einem virtuellen Depot starten" schon die Prüfung enthält, ob das Depot überhaupt besetzt ist. Das wusste ich nicht. Meine eigene Prüfung ist damit überflüssig.
  22. Hallo Ralf, du benötigst für die Prüfung die erweiterte Variable. Gruß Götz
  23. Probiere mal bitte, ob das hier funktioniert: local liste = layout:getRoutesByKeyword("SBF Ausfahrt") local freie = {} for i, FS in ipairs(liste) do if FS:canActivate() then table.insert(freie, FS) end end if #freie > 0 then local zufall = math.random(#freie) freie[zufall].active = true end Ich habe jetzt gesehen, dass du prüfst, ob im Sbf an dieser Stelle überhaupt ein Zug wartet. Diese Prüfung hatte ich missverstanden als "ist der Weg frei?" und deshalb (nur) geprüft, ob die FS aktiviert werden kann. Mein Skript ist also (bis auf das Missverständnis) mit deinem identisch. Ich war wohl noch nicht richtig wach ... Hier ist eine Beispielanlage nach dem oben beschriebenen Prinzip: Sbf with random exit.mbp In diesem Beispiel nutze ich Magnetilos Prinzip um zu schauen, ob ein Zug für die Ausfahrt bereit steht.
  24. Hallo @Magnetilo, Eigentlich nicht. Eigentlich sprichst du Objekte über ihre Objektadressen an. Weil diese kryptisch und unleserlich sind, hat Neo diese spezielle Schreibweise mit dem vorangestellten $ Zeichen entworfen. Ändere mal bei einem Objekt, welches du so in der EV ansprichst, anschließend den Namen. Du wirst sehen, dass sich dieser Name dann automatisch auch in der EV ändert. In deinem Beispiel enthält deine Liste f.tracks die Objektadressen der Gleise, über die diese Fahrstraße führt. Deshalb kannst du mit f.tracks[1] direkt das erste Gleis aus dieser Liste ansprechen. Den Namen des Gleises benötigst du nur für deine print Ausgabe Weil beides für unterschiedliche Zwecke gedacht ist. Schlagworte kannst du bei allen Dingen benutzen, die du generisch ansprechen möchtest. Dieses System war schon gut etabliert, bevor die Fahrstraßen hinzu kamen. Kategorien sind hingegen nur eine optische Sortierhilfe für die Fahrstraßen. Viele Grüße Götz
  25. Aaahhh - danke EASY Jetzt erkenne ich das Problem. Der war einfach: Ich habe geschummelt Will sagen: Ich habe es mir zu einfach gemacht und nicht ausprobiert, ob es so geht. Sorry! Jetzt verstehe ich auch @Magnetilos Einwand: Den hatte ich falsch interpretiert. Sorry! @Magnetilo Und jetzt kapier ich auch eeendlich den ganzen Umstand, den du treibst um letztlich eine Fahrstraße per Namen anzusprechen. Erklär mir bitte, warum du sie namentlich ansprechen willst? Kannst du sie nicht als Objekt an die Funktion übergeben? Das würde die Sache viel einfacher machen. Zumal Namen eine sehr unzuverlässige Art der Adressierung sind. Wo bekommst du den Namen der Fahrstraße?
×
×
  • Neu erstellen...