Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    4902
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. Das verstehst du wirklich falsch, Matthias Alle versuchen nur sicherzustellen, dass du (neu beim MBS) alles erfährst, was es "rund um deinen Wunsch" schon gibt. Denn niemand kennt deinen genauen Wissensstand. Was davon für dich inwiefern hilfreich ist, beurteilst du selbst. Manchmal kann ein Vorschlag dazu führen, dass man einen neuen Ansatz sieht, der vorher nicht präsent war. Es kann aber auch dazu führen, dass du (wie hier) deinen Wunsch weiter präzisierst. Deine Erklärungen, warum vorhandene Funktionen nicht genügen um dein Bedürfnis zu erfüllen, helfen dem Entwickler, die konkrete Lücke besser zu einzuschätzen. Niemand will dir deinen Wunsch ausreden. Kein einziger. Viele Grüße Götz
  2. Nein, so oder so werkelt im Betrieb der Anlage das Skript, welches du nach Umwandlung sehen würdest. Die grafischen Bausteine machen es dir nur bequemer, diese Skriptteile zusammenzusetzen. Im Betrieb spielt die grafische Darstellung keine Rolle.
  3. Ja. Du kannst es mit der Taste F12 öffnen. Oder unten in der Menüleiste auf den kleinen Haken rechts vom Symbol für die EV klicken: Viele Grüße Götz
  4. Das Titelthema, welches @Phrontistes und @EASY an anderer Stelle angesprochen haben, schien mir eine Tutorial Anlage wert. Der Thread von Phrontistes hat aber grundsätzlich ein anderes Thema. Deshalb habe ich hierfür einen neuen gestartet. Unter der Content-ID F1B12254-098F-433A-9B24-BA2FB89A0E59 findet ihr jetzt eine Anlage, die zwei mögliche Wege aufzeigt: "per Wiederholung" durchläuft alle Fahrzeuge im Zug und setzt jede Kupplung auf aktiv oder inaktiv, je nachdem ob ein Fahrzeug angekuppelt ist oder nicht. local t = layout:getVehicleGroup(vehicle) for k, v in ipairs(t) do v.couplers[0].enabled = v.couplers[0].connectedCoupler ~= nil v.couplers[1].enabled = v.couplers[1].connectedCoupler ~= nil end "gezielt" spricht nur die beiden äußeren Kupplungen an. Dazu nutzt es die Ausrichtung der beiden Fahrzeuge relativ zur Fahrtrichtung um zu unterscheiden ob jeweils die vordere oder hintere Kupplung außen liegt. Die mathematische Umwandlung der Ausrichtung in den Index für die richtige Kupplung erspart die if-Unterscheidungen. local t, t2 = layout:getVehicleGroup(vehicle) local ersterWagen = t[1] local letzterWagen = t[#t] local ersteKupplung = (1 - t2[1]) // 2 local letzteKupplung = (1 + t2[#t]) // 2 ersterWagen.couplers[ersteKupplung].enabled = false letzterWagen.couplers[letzteKupplung].enabled = false "local" hält die Variablen bis zum Ende der Berarbeitung im CPU-nahen Speicher und gibt den Bereich nach Ausführung der Funktion automatisch frei. Macht für den Ablauf keinen bemerkbaren Unterschied. Hat aber bei großen Programmen den zusätzlichen Nutzen, dass es gegen ungewollte Überschneidungen bei Variablennamen absichert. Beide Konzepte gehen auf Vorschläge von Phrontistes und EASY zurück. Und beide leisten dasselbe. (Deshalb ist nur eins der beiden Ereignisse aktiv.) Außerdem hat die Anlage einen Knopf, der auf dem gelben Gleisabschnitt alle Kupplungen aktiviert. Vielleicht möchtet ihr ja gerne eigene Konzepte ausprobieren und vergleichen. Viele Grüße Götz
  5. Dann möchte ich gerne auch noch etwas beisteuern, @Phrontistes. In der grafischen EV musst du leider den Umweg über die Wiederholung nehmen und alle Elemente im Zugverband durchlaufen. Aber wenn du das eh in Lua wandelst, kannst du die Wiederholung rauslassen und direkt die gewünschten Elemente in den Listen adressieren: local t, t2 = layout:getVehicleGroup(Vehicle) -- Fahrzeugliste, Ausrichtungen if t2[1] == 1 then -- Ausrichtung erstes Fahrzeug t[1].couplers[0].enabled = false -- vordere Kupplung erstes Fahrzeug else t[1].couplers[1].enabled = false -- hintere Kupplung erstes Fahrzeug end if t2[#t] == 1 then -- Ausrichtung letztes Fahrzeug t[#t].couplers[1].enabled = false -- hintere Kupplung letztes Fahrzeug else t[#t].couplers[0].enabled = false -- vordere Kupplung letztes Fahrzeug end Viele Grüße Götz
  6. Hallo @Wüstenfuchs Jetzt glaube ich den wahren Übeltäter gefunden zu haben. Das hier ist das Ereignis, zu dem mich die Fehlermeldung führt: Und in der markierten Bedingung prüfst du, ob eine Liste (Abladen Zug) größer ist als eine Zahl. Eigentlich möchtest du wissen, ob die Anzahl Elemente in dieser Liste größer als die angegebene Zahl ist. Das kannst du meines Wissens in der grafischen EV nicht angeben. Du müsstest stattdessen eine Skriptbedingung verwenden: local Liste = $("Kleiner Container-Brückenkran").variables["Abladen Zug"] return #Liste > 1 -- mit vorangestelltem # bekommt man die Anzahl Elemente in der Liste Dasselbe benötigst du in der Bedingung gleich darunter noch ein zweites Mal. Da vergleichst du genauso eine Liste mit einer Zahl. Viele Grüße Götz
  7. Ne, ist sie nicht. Ich hatte mich vertan. Bin wohl doch müder als ich dachte. Der wahre Verursacher muss an anderer Stelle sitzen. Ich hatte den Variablennamen mit einem Objektnamen verwechselt. Sorry!
  8. Als Operatoren bezeichnet man die Zeichen, die etwas verbinden. Beispielsweise Rechenzeichen Oder Zeichen, die Textbausteine zusammenfügen. Oder solche, die Wahrheitsgehalte logisch miteinander verknüpfen. Und nicht jeder Operator passt zu jeder Variablen. Beispiel: Textbausteine kann man nicht multiplizieren. Und du kannst leider auch nicht zu einem Namen eine Zahl hinzuaddieren. Sorry, ich hatte da nicht richtig hingeschaut! Diese Zuweisung ist in Ordnung! Viele Grüße Götz
  9. Da hakt noch mehr, Günter: In allen drei "_Abfahrt" Ereignissen weist du einem Gleiskontakt eine Geschwindigkeit zu. Da müsstest du stattdessen ein Fahrzeug ansprechen. Mit dem Eintrag "Böckstein_Abfahrt" steigt die EV beim Beenden der Pause (nach dem Zurücksetzen des Zuges) mit einer Fehlermeldung aus die besagt, dass das angesprochene Objekt (= der Kontakt) keinen Motor hat. Das siehst du, wenn du das Ereignisprotokoll öffnest. In den Einträgen für s7b und s 56cb weist du zuerst dem Kontakt GK Autozug eine neue Eigenschaft (Automatische Beschleunigung = 20 und true) zu. Gleich darauf setzt du in einer Wiederholung noch einmal bei allen Objekten mit dem Schlagwort "Autozug" die Automatische Beschleunigung auf 20. Es gibt genau ein Objekt mit diesem Schlagwort. Und das ist (wieder) der Kontakt GK Autozug. Der hat den Wert zwei Zeilen darüber schon bekommen. Die Wiederholung erfüllt hier keinen Zweck. Zwei Zeilen später setzt du im selben Ereignis die Automatische Verzögerung wieder auf false. Das ist der Grund, warum deine Autos nicht losfahren. Dein Kontakt schaltet um. Aber gleich mehrfach in schneller Folge. Die Automatische Beschleunigung ist schon wieder aus, bevor dein Auto davon Wind bekommt. Schau mal bitte, ob dir diese Hinweise weiterhelfen. Viele Grüße Götz
  10. Du bist schon halb am Ziel, Günter Du musst nur noch (zusätzlich, mit einer weiteren Befehlszeile) die Automatische Beschleunigung aktivieren. Viele Grüße Götz
  11. Hallo @efner52, darf ich dir folgenden Weg vorschlagen? Lade dir zuerst die kostenlose Standard Version von der Startseite herunter. Damit kannst du alles ausprobieren. Wenn dir das Programm gefällt, dann bezahlst du für die Professional Version. Du musst nichts neu installieren. Dein Account wird nach Bezahlung auf "Professional" umgestellt und mehr ist nicht nötig. Das Plus Paket brauchst du nicht gleich. Ob es später für dich interessant ist kannst du selbst entscheiden, wenn du mit dem 3DMS mehr Erfahrung gesammelt hast. Hola efner52, ¿puedo sugerirte lo siguiente? Primero descarga la versión estándar gratuita desde la página principal. Puedes usarla para probarlo todo. Si te gusta el programa, entonces paga por la versión profesional. No tienes que reinstalar nada. Tu cuenta se cambiará a "Profesional" después del pago y no es necesario nada más. No necesitas el paquete Plus de inmediato. Podrá decidir por sí mismo si le interesa más adelante, cuando haya adquirido más experiencia con el 3DMS. Traducción realizada con la versión gratuita del traductor DeepL.com Viele Grüße Götz
  12. Ja, du musst einfach nur beim Einrichten der Fahrstraße diesen Kontakt als Zwischenstation anklicken. Dann ist er in der Fahrstraße mit aufgelistet und du kannst die Stellung des verbundenen Signals genau so bestimmen wie die der übrigen Signale auch. 240107_FS Signal 3 eingebunden.mbp
  13. Das kann ich dir auch beantworten, wenn ich darf? Der default Zustand ist false und du musst ihn bei Bedarf explizit auf true setzen. .AutoActivate ist das, was in der grafischen EV "Anmeldung vormerken" heißt. Es hat nur dann eine Bedeutung, wenn die angeforderte Fahrstraße aktuell schon aktiv ist. In diesem Fall muss man unterscheiden, ob die Anforderung damit als erledigt gewertet werden kann oder ob die Fahrstraße nach Auflösung ein weiteres Mal aktiviert werden soll. Die automatische Aktivierung einer angeforderten Fahrstraße, die bei Anforderung noch blockiert war, ist Standardverhalten und bedarf keines Parameters. Viele Grüße Götz
  14. Ja, da hast du recht und ich hatte mich geirrt. Habe es selbst gerade ausprobiert und war dabei, mein Posting zu korrigieren (was hiermit nicht mehr nötig ist.) Tut mir leid!
  15. Ja, da musst du jedes Stück einzeln anfassen. Aber du kannst es an einer Stelle tun, die ebenerdig ist. Dann springt jedes Gleis beim Verschieben auf Höhe 0 (wenn du diesen Effekt eingeschaltet hast) und richtet sich beim Andocken ans vorherige Gleis auch waagerecht aus. Zum Schluss schiebst du den gesamten Abschnitt zurück an seine Stelle und hebst das hintere Ende an.
  16. Das geht eventuell, indem du sie zuerst (mit den verwendeten Stücken!) flach auslegst, dann alle diese Gleisstücke markierst und zuletzt das hintere Ende mit dem Gismo hoch ziehst, bis du oben den Anschluss wieder erreicht hast.
  17. Jetzt habe ich die Stelle gefunden. Ich glaube, RoniHB hatte sich da unglücklich ausgedrückt.
  18. Wer hat das wo empfohlen? Die "Ist-Geschwindigkeit" ist sinnvoll, wenn ein Depot verlassen wird. Da darf das Fahrzeug gerne sofort die Wunschgeschwindigkeit haben (als wäre es von weiter weg angekommen. In deinem Szenario ist sie (wie du beobachten konntest) nicht ratsam.
  19. "Ich verstehe" hätte ich lieber gelesen
  20. Du gibst als Objekt das auslösende Fahrzeug auf dem auslösenden Gleiskontakt an. Das Fahrzeug hat den Gleiskontakt aber gerade verlassen. Setzte bei bei "Gleis/Gleiskontakte" die Angabe zurück auf "Alle". Prinzipiell: Immer entweder das auslösende Fahrzeug auf allen Gleisen ansprechen, oder alle Fahrzeuge auf dem auslösenden Kontakt. Nie: "auslösendes Fahrzeug auf auslösendem Kontakt", weil eine von beiden Angaben völlig ausreicht. Viele Grüße Götz
  21. You didn't, Pete. Phrontistes' unjustified accusation had nothing to do with you.
  22. Das ist eine Fehlinterpretation deinerseits! Niemand hat dich deshalb angegriffen! Roter Brummer hat lediglich einen Screenshot mit deutschen Texten hinzugefügt, weil er der Meinung war, dass es dem Fragesteller so leichter fallen wird die Antworten zu verstehen. Er hat dich nicht angegriffen, sondern dein Posting ergänzt. Und ich hätte dir das lieber privat geschrieben. Aber ich stehe auf deiner Ignore Liste und muss es dir deshalb ganz öffentlich sagen. Denn deine Falschaussage werde ich gewiss nicht unkommentiert stehen lassen. Viele Grüße Götz
  23. Dann habe ich hier ein passendes Beispiel mit der oben beschriebenen Methode für dich: einfacher Pendelverkehr.mbp Viele Grüße Götz
  24. Setz einen zweiten Kontaktpunkt dorthin, wo der Zug anhält. Verknüpf den Kontakt mit dem Signal. Stell ihn so ein, dass er bei Fahrtstellung des Signals zum Signal zeigt und eine Beschleunigung angibt. (Ich würde den Zug langsam ans Signal ranfahren lassen, das Signal selbst gibt mit seinem Kontakt dann die Streckengeschwindigkeit vor.) Damit musst du den Zug in keiner Variablen speichern und ihm auch keine Geschwindigkeit zuweisen. Du musst nur bei Ankunft seine Fahrtrichtung in der EV umdrehen.
  25. Nicht möglich? Oder würdest du gerne und weißt nicht, wie?
×
×
  • Neu erstellen...