Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5763
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. 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
  2. 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.
  3. 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.
  4. 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 ...
  5. Hier findest du eine Erläuterung im bewegten Bild:
  6. 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
  7. 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
  8. 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
  9. 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
  10. Goetz

    Modelle von Reinhard

    wow!
  11. 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
  12. 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
  13. 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
  14. 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.
  15. Hallo Ralf, du benötigst für die Prüfung die erweiterte Variable. Gruß Götz
  16. 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.
  17. 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
  18. 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?
  19. Doch, tut es. Das Dollarzeichen bewirkt, dass ein Objekt mit dem Namen gesucht wird, der in den Klammern angegeben ist. Ich hatte in meinem Versuchsaufbau der Fahrstraße fest den Namen "meinTest" gegeben. Drum steht der so explizit in der Klammer. Im ersten Beispiel für dich habe ich dann den Inhalt der Variablen name in die Klammern gesetzt, weil du schriebst, dass du den Namen der Fahrstraße an diese Variable übergibst. Wenn du da etwas anderes an die Variable übergibst als den Namen, dann meldet die Prozedur einen Fehler. Leider kann ich nicht sehen, was du tust. Warum halten alle ständig mit ihrem Zeug hinter'm Berg und lassen mich rätseln??? Zeig mir, was du tust und ich kann dir sagen, warum es nicht klappt!!!
  20. Nein, leider nicht. Viel zu umständlich. Wenn du den Namen der Fahrstraße doch schon weißt, dann musst du nur noch prüfen, ob diese Fahrstraße das Schlagwort enthält. Du durchsuchst unnötig alle Fahrstraßen mit einem bestimmten Schlagwort und vergleichst, ob der Name übereinstimmt. Um zu überprüfen, ob die FS das erforderliche Schlagwort hat, schreib es zunächst mit der grafischen EV und lass es dann übersetzen. Das erspart dir viel Rätselraten: if $("meinTest").variables["Blockstrecke"] == keyword then -- tu hier, was zu tun ist end Viele Grüße Götz Nachtrag: in deinem Fall sähe das so aus function setRouteActive(name) local f = $(name) if f.variables["Blockstrecke"] == keyword then f.active = true end end aber besser wäre es, wenn du nicht den Namen, sondern das Objekt (= die Fahrstraße) an die Funktion übergibst: function setRouteActive(f) if f.variables["Blockstrecke"] == keyword then f.active = true end end
  21. Hallo @Magnetilo, Schlagworte nutzt du am Besten dann, wenn du auf mehrere Objekte denselben Code anwenden willst. Über das Schlagwort kannst du diese Objekte generisch ansprechen. Das heißt, dass Schlagworte vor allem in der Definition deiner Auslöser hilfreich sind. Beispiel: ein Kontakt mit dem Schlagwort "Einfahrt" wird betreten eine Fahrstraße mit dem Schlagwort "Blockabschnitt" schaltet Ein Fahrzeug mit dem Schlagwort "LKW" verlässt ein Depot ... Darüber hinaus kannst du Schlagworte in Wiederholungen verwenden. Damit kannst du innerhalb dieser Wiederholung alle Objekte mit dem angegebenen Schlagwort ansprechen, als stünden sie in einer Liste. Die Kategorien bei den Fahrstraßen sind für deine Organisation hilfreich. Sie sollen dir helfen, dich ein einer Liste mit sehr vielen Fahrstraßen schneller zurecht zu finden. Viele Grüße Götz
  22. Wo ist denn dein Problem, Klaus? Die beiden Fahrstraßen, welche du angelegt hast, funktionieren einwandfrei und sie lassen sich aktivieren. Natürlich gehen sie auf "blockiert", wenn sich gerade ein Zug in diesem Abschnitt befindet. Das ist ja der Sinn der Sache: Unfallverhütung. Aber sobald der Zug den Abschnitt verlässt, wird die Fahrstraße aktiv. Gruß Götz
  23. Wenn du jetzt wieder pampig wirst, bin ich raus! Das ist zum Beispiel eine Information, die ich zuvor noch nicht hatte. Aber ich lass mal anderen Spezialisten den Vortritt. Mir fehlt gerade die Lust, dir wieder jedes Detail einzeln aus der Nase zu ziehen.
  24. Das habe ich auch gelesen. Und verstanden. Aber das hilft mir nicht um zu erkennen, was du dabei falsch gemacht hast.
  25. Ich weiß beim besten Willen nicht, was ich dir sagen soll, Klaus. Weder weiß ich, was du ausprobiert hast. Noch kann ich abschätzen, warum es schief gegangen ist. Ich schaue dir bei deinen Versuchen nicht über die Schulter und habe wirklich keine Ahnung, was du tust. Den Screenshots kann man es nicht ansehen. Ich habe keine hellseherischen Fähigkeiten, so leid mir das auch tut ...
×
×
  • Neu erstellen...