Koriander Geschrieben 16. April 2019 Geschrieben 16. April 2019 Hallo zusammen, mich gibt's auch noch - bzw. wieder. Nach längerer Pause hab ich mal wieder ein neues Projekt im Sinn. Aber gleich zu Anfang bin ich auf ein Problem gestoßen: Ich möchte lediglich, dass die Lok beim Betreten jedes Gleises den Schalter betätigt. Das hab ich über eine "Trigger-Variable" versucht. Nun ist es aber so, dass nur eines der Gleise diesen Effekt auslöst - obwohl alle Gleise den gleichen Variablennamen "Kreisgleis" haben. Mit "Triggerdingen" hab ich bislang keine Erfahrung. Meinen (offensichtlich falschen) Lösungsansatz seht Ihr in der Ereignisverwaltung der angehängten Anlage. Kann mir jemand weiterhelfen? Viele Grüße von Koriander Blinken.mbp
BahnLand Geschrieben 16. April 2019 Geschrieben 16. April 2019 Hallo Koriander, das Problem liegt hier in der Bedingung. "_Trigger2" repräsentiert stets jenes Gleis, das gerade "betreten" wurde. Und da nur eines dieser Gleise eine Objekt-Variable "2210.Kreisgleis" besitzt, wird der SChalter auch nur bei diesem einen Gleis umgelegt. Dass auch alle anderen Gleise denselben Namen "2210" besitzen, spielt hier keine Rolle, da sich die "_Trigger"-Variablen immer auf das jeweilige Objekt und nicht auf dessen Namen beziehen Auch die Variable "2210.Kreiskleis" ist nur diesem einen Gleisstück zugeordnet). Viele Grüße BahnLand
Andy Geschrieben 16. April 2019 Geschrieben 16. April 2019 Moin, eiei BahnLand - jedes der Gleise hat eine 'Kreisgleis'-OV. Insgesamt wird aber offensichtlich nur eine generiert (siehe Variablenliste) - insofern stimmt's mit der Objektbindung natürlich. Deshalb schaltet er jetzt auch nur auf einem Gleis (vermutlich das Erste, was ins Leben gerufen wurde). Das Heiße ist: löschst Du dem Gleis die OV, dann schaltet's gleich nirgendwo mehr, obwohl noch drei 'Kreisgleis' da sind und auch noch eine in der Variablenliste angezeigt wird. Aber - die aufgelöste Objektbindung wird offensichtlich nicht weitergereicht. Naja, man kann ja nicht erwarten, dass hinterlistige Tricks auch noch unterstützt werden. Also Koriander: einfach noch unterschiedliche Buchstaben an die 2210s dranhängen und alles lebt. Identische Objektnamen sind da tödlich. Gruß Andy
BahnLand Geschrieben 16. April 2019 Geschrieben 16. April 2019 Hallo Andy und Koriander, vor 40 Minuten schrieb Andy: eiei BahnLand - jedes der Gleise hat eine 'Kreisgleis'-OV ich habe natürlich "auf die Schnelle" nur in die "Variablenliste" der EV geschaut, und da steht - natürlich () - nur eine Variable drin, weil die Liste hier Objekte mit gleichem Namen nicht unterscheidet. Sorry für die Fehlinterpretation ! Zumindest für solche Objekte eindeutige Namen zu verwenden, die in der EV behandelt werden, ist eigentlich ein zwingendes Muss - was man hier an diesem Beispiel besonders gut nachvollziehen kann. Viele Grüße BahnLand
Koriander Geschrieben 16. April 2019 Autor Geschrieben 16. April 2019 Hallo BahnLand und Andy danke für die schnellen Rückmeldungen. Habt Ihr denn eine andere Idee, wie ich das lösen könnte? In dem Beispiel sind es ja nur 4 Gleise. In der geplanten Anlage wären es aber viel, viel mehr. Ein EV-Eintrag pro Gleis würde daher einen riesen Aufwand bedeuten. @Andy Du hast doch in Deiner schlauen Geschwindigkeitssteuerung () auch mehrere Gleise mit einem EV-Eintrag angesteuert - oder??? Viele Grüße Koriander
Andy Geschrieben 16. April 2019 Geschrieben 16. April 2019 Hallo Koriander, kleines Mißverständnis hier! Du mußt nur die Namen der Gleise unterschiedlich wählen und alles funktioniert. An der EV mußt Du nichts machen, die ist schon vollkommen richtig so! Und alle Ehre für das Verfahren gebührt BahnLand! Ich will nur darauf hinweisen, dass man das alles nicht zu ekzessiv nutzen sollte, denn natürlich muß die EV letztlich irgendwie alle Gleise daraufhin abklappern, auch wenn das nicht gerade offensichtlich ist. Wenn Fahrzeuge anfangen zu hüpfen, weiß man, dass man das etwas zu häufig genutzt hat. Das Problem habe ich leider ziemlich intensiv auf meiner Anlage - und kann da nicht mehr zurück, wegen dem 'Softwaredesign'. Da hat's mich schon ganz schön in den Hintern gekniffen. Die Rechenzeit knappt er von der Grafik ab und das hat nicht mal was mit der FPS zu tun. Grüße Andy
Koriander Geschrieben 16. April 2019 Autor Geschrieben 16. April 2019 Hallo Andy, genial!!! Es funktioniert!!! Danke!!! ...und so einfach... Viele Grüße von Koriander Blinken2.mbp
Koriander Geschrieben 17. April 2019 Autor Geschrieben 17. April 2019 Hallo zusammen, jetzt habe ich noch eine Variablen-Frage: Kann ich den Wert einer Variable durch den Wert einer anderen Variable teilen und das Ergebnis als dritte Variable ausgeben? Also in der folgenden Art:Name: Variable3 Wert: =$Variable1/$Variable2 (das geht allerdings nicht - ich hab schon ziemlich rumprobiert...) Sorry dafür: Viele Grüße von Koriander
Andy Geschrieben 17. April 2019 Geschrieben 17. April 2019 Hallo Koriander, eigentlich kannst Du es doch in zwei Aktionen so machen: Name: Variable3 Wert: $Variable1 Name: Variable3 Wert: /$Variable2 Du kannst auch eine Zwischenvariable nehmen, wenn Du Bedenken hast, dass - wie auch immer - für die Zuweisung an Variable3 zwei 'Variable wird gesetzt'-Ereignisse generiert werden. Variable: tmp Wert: $Variable1 Variable: tmp Wert: /$Variable2 Variable: Variable3 Wert: $tmp Da Du sicherlich kein Ereignis für tmp programmiert hast, dürfte das unproblematisch sein. Vergiß nicht, tmp in der Liste ins Leben zu rufen. Und paß auf, dass Variable2 nicht Null wird Gruß Andy
Koriander Geschrieben 18. April 2019 Autor Geschrieben 18. April 2019 (bearbeitet) Hallo Andy, nochmals vielen Dank - so gehts . Ich wollte die Rechenfunktion (excelmäßig) in einer Zeile unterbringen - aber da hatte ich wohl falsch gedacht. Jetzt habe ich noch ein drittes Problem (scheinbar übersteigt die Anlage meinen Horizont ): Gibt es eine Möglichkeit, das Ergebnis - also die Variable - zu runden? Auf oder ab wäre egal - es würde also genügen, einfach die Nachkommastellen wegzulassen. Viele Grüße Koriander Bearbeitet 18. April 2019 von Koriander
fzonk Geschrieben 18. April 2019 Geschrieben 18. April 2019 Hallo Koriander, was genau willst du damit bezwecken? Du könntest als Möglichkeit auch mit > (größer als) und < (kleiner als) als „Vorzeichen“ arbeiten. Damit werden alle unrunden Zahlen bearbeitet... Gruß Frank
Andy Geschrieben 18. April 2019 Geschrieben 18. April 2019 Moinmoin, Frank hat recht. Es kann sogar noch viel schlimmer kommen. Sowie Du rechnest, kannst Du selbst einer Null nicht trauen, dass sie wirklich eine runde Null ist. Denn sie wird dann bereits gerundet angezeigt. Tatsächlich kann sie irgendwas mit E(xponent) minus sonstwas sein, also sehr knapp an der Null. Wenn Du nun als Ereignis 'Variable wird gesetzt' Wert: 0, bzw. als Bedingung 'Variable besitzt den Wert' Wert: 0 verwendest, dann drück' mal die Daumen. Also, den Wert ggf. mit '>' und '<' eingrenzen. Außer +-*/ haben wir keine mathematische Funktion und Textwandler gar keine. Gruß Andy
Koriander Geschrieben 18. April 2019 Autor Geschrieben 18. April 2019 vor 8 Stunden schrieb fzonk: was genau willst du damit bezwecken? Hallo fzonk und Andy, erst mal vielen Dank für Eure Unterstützung. Gut, dass nun die Sinnfrage gestellt ist. Darauf hatte ich schon gehofft . Nun ja, oftmals entstehen Pläne ja aus den völlig verschlungenen Denkwindungen eines verwirrten MBS-Bauers. Manche völlig sinnlose Aufgabe mit viel Aufwand, Vernunft und Struktur zu lösen, ist wohl so eine Spezialität der MBS-Gemeinde. Dass einem dann auch noch liebe Menschen helfen, die wohl auch an den Sinn des Sinnlosen glauben, mag ich so an diesem Programm und der MBS-Gemeinde. Doch zurück zum Thema: Der "Zweck" des Rundungswunsches ist, dass eine gerade entstehende MBS-Spielbox den Wert des Glücksrades durch den Wert der Glückstrommel teilen muss, um damit den Gewinn in MBS-Mark zu errrechnen, der dann auch prompt ausgeschüttet wird. Meine Lösung ist nun: Ich addiere zum Ergebnis 0,001 dazu (damit vermeide ich gerade Beträge, die dann ohne Komma dargestellt würden) und decke alles, was hinter der zweiten Kommastelle ist, mit einem Grundkörper ab. So macht's der Grobmathematiker. Liebe Grüße von Koriander
fzonk Geschrieben 18. April 2019 Geschrieben 18. April 2019 Hört sich nach einem Interessanten Projekt an Du könntest aber auch mit „<“ & „>“ deine Ergebnis auswerten lassen und entsprechend dann eine weitere Variable mit vollen Zahlen das Ergeben wiedergeben lassen und dies dann auch in einem Textfeld ohne Bastelei anzeigen lassen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen.
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden