Jump to content

Goetz

Mitglieder
  • Gesamte Inhalte

    5983
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Goetz

  1. Hello @Leslie, your code will work when the active camera is a camera object from the Online Catalog -> Extra Kind regards Goetz
  2. Hallo @Swen44, mit diesem kleinen Beispiel möchte ich dir verdeutlichen, wie sich eine Wartezeit im Benutzerdefinierten Ereignis auswirkt: Wartezeit im Benutzerdefiniertem Ereignis.mbp Auf Knopfdruck wird im Benutzerdefinierten Ereignis eine Liste mit vier Namen erzeugt. Gleich im Anschluss gibt ein Befehl im Ereignis "Schalter wird betätigt" den Inhalt der Liste in einem Textfeld aus. Weil der dritte und vierte Namen erst nach einer Verzögerung in die Liste eingefügt werden, siehst du im Textfeld nur die ersten beiden Namen. Schaust du dir die Liste anschließend im Ereignisprotokoll an, dann enthält sie alle vier Namen. Daraus kannst du ableiten: Alles, was vor der Verzögerung im Benutzerdefinierten Ereignis steht, wird ausgeführt, bevor die Textausgabe im Ereignis "Schalter wird betätigt" erledigt wird. Alles, was nach der Verzögerung im Benutzerdefinierten Ereignis steht, kommt für die Textausgabe zu spät. Auch dann, wenn die Verzögerungszeit (ein Parameter) = 0 ist! Denn auch eine Verzögerung der Dauer 0 bewirkt einen erneuten Aufruf des Ereignisses. Und dieser zweite Aufruf folgt erst, wenn alles im aufrufenden Ereignis bis zur eigenen Verzögerung (für die Rücksetzung des Tasters) erledigt ist. Viele Grüße Götz
  3. Hallo Swen! Hier aber nicht: (das Bild ist aus deinem ersten Beitrag) Im Benutzerdefinierten Ereignis "Kopfbahnhof" ist zwar eine Wartezeit eingetragen. Aber die verzögert nicht den nachfolgenden Befehl "Fahrtrichtung setzen" im gezeigten Ereignis. Sondern nur die nachfolgenden Befehle im Benutzerdefinierten Ereignis. Du kannst das besser durchschauen, wenn du das Benutzerdefinierte Ereignis in Lua umwandelst. Dann siehst du, dass dieses Ereignis nach Ablauf der Wartezeit ein weiteres Mal aufgerufen wird. Das hat aber keine Auswirkung auf die nachfolgende Aktion in dem Ereignis, welches das Benutzerdefinierte Ereignis triggert. Du musst das Fahrzeug als weiteres Argument an das Benutzerdefinierte Ereignis übergeben. Das hat @Phrontistes dir weiter oben erläutert. Da ist in deinem Code etwas unsauber. Denn das geht eigentlich problemlos. Eventuell hast du die Verzögerungszeit nicht als Zahl übergeben? Das wirst du verwechselt haben. In Wiederholungen sind keine Verzögerungen zugelassen. Viele Grüße Götz
  4. Das ist korrekt, Swen Und auch das ist soweit richtig. Aber in diesem Zusammenhang ist folgendes wichtig: Die EV sendet eine Reihe von Befehlen aus. Aber sie wartet nicht auf das Ende der Ausführung! Wenn du also einem Fahrzeug zuerst die Geschwindigkeit 0 zuweist und dann gleich im Anschluss mit dem nächsten Befehl die Fahrtrichtung umkehrst, dann geschieht diese Umkehr nicht dann, wenn das Fahrzeug zum Stillstand gekommen ist, sondern sofort. Damit geht die neue Sollgeschwindigkeit 0 gleich wieder verloren. Stattdessen ist die neue Sollgeschwindigkeit jetzt der negative Wert der aktuellen Ist-Geschwindigkeit. Viele Grüße Götz
  5. The reason why you misunderstand this behaviour is this: "Vehicle enters track" actually means "crossing the beginning of a track piece", i.e coming in from another track piece . When you place a new vehicle on a track piece, that action doesn't trigger "vehicle enters track" either, because the vehicle doesn't run over the threshold. It's placed somewhere on the track and then connected to it. And that is a completely different type of event, in spite of the outcome looking quite similar. Most users seem to understand that difference, which is why I'm not sure if a warning is really required. But that's not up to me to decide.
  6. I think not, @Leslie You have an event "vehicle exits depot" which is sufficient for all purposes. The "enter track" event isn't triggered in this instance, because this event requires for a vehicle to drive over the threshhold (i.e. the beginning of a track). Which doesn't happen when the depot places the vehicle on the track. I understand that the language barrier makes it a little harder for you to get to grips with the 3D Train Studio. But may I suggest you spend a little more time with it, before you flood the forum with requests? Get a feel for it. It is well structured. Events like "vehicle enters track" are events which happen anyway, with or with out the event manager involved. To make vehicles follow tracks, they need to be passed on from one track object to the next each time they cross a threshold. To animate a signal, the change of its state is an event which the studio responds to. The change of a switching point is an event that makes the studio activate one track while deactivating another. The event manager is an extra that lets users list additional commands to be executed in such events. Kind regards Goetz
  7. Dann wirst du entweder das Gebäude oder die Platte verschoben haben. Oder du hattest zwei Bodenplatten übereinander, ohne es zu merken. Dir sind beim Import ja auch andere Missgeschicke passiert. Von alleine passiert sowas definitiv nicht, Rotti.
  8. Goetz

    Rangieren

    Hier habe ich eine kleine Beispielanlage für dich, @Leihe V7 Ladungswechsel für Leihe.mbp Viele Grüße Götz
  9. Goetz

    Rangieren

    Hallo @Leihe, gestern Nacht hatte ich noch Lust mir deine Anlage anzuschauen. Aber für eine Antwort war ich schon zu müde. Du kannst das viel schlanker aufbauen! Erstens könntest du alle Einträge für die Waggons 1 - 15 hintereinander in ein Ereignis schreiben. denn deine 15 Ereignisse werden ja alle zugleich in dem Moment ausgelöst, wenn der Zug (nicht der jeweilige Waggon!) den Kontakt betritt. Und zweitens könntest du in einer Wiederholung "für alle Fahrzeuge in einem Zug/Fahrzeugverbund" sämtliche Waggons mit nur einem Befehl ansprechen. Dazu musst du in jedem der Waggons die Ladung in einer Objekt-Variablen speichern, damit der Befehl zu jedem Waggon die zugehörige Ladung ansprechen kann. Weil du in jedem Waggon zwei unterschiedliche Ladungen hast, würde ich dir für die Variable eine Liste empfehlen. In der Liste legst du auf Platz 1 die zugehörigen Holzschnitzel und auf Platz 2 die zugehörigen Holz-Pellets. Ich schau mal, ob ich dir im Laufe des Tages dazu ein Beispiel bauen kann. Ich muss nur erst V7 wieder installieren. Viele Grüße Götz
  10. Hallo Walter, und auf dem offiziellen YouTube Kanal zum MBS gibt es zwei Videos zum Thema. Dieses hier würde ich dir für den Einstieg empfehlen: Das Video wurde damals mit V7 erstellt. daher sehen die Menüs noch etwas anders aus. Aber das Prinzip ist noch immer dasselbe. Die Anlage zu diesem Video gibt es unter den Tutorial Anlagen: 54CA9DCE-EBA4-4104-82E4-937F71DCB56F Sie enthält auch eine kleine EV mit rudimentärer Steuerung der Fahrstraßen. Damit hast du zumindest eine Grundlage. Bei Fragen können wir dir dann weiterhelfen. Viele Grüße Götz
  11. Sorry to disappoint you yet again, Leslie, but there isn't.
  12. The desire for standardised, for switches and animations are a known issue, Leslie.
  13. Dann hole das jetzt bitte nach, bevor wir weiter beraten ... Sonst reden wir eventuell aneinander vorbei.
  14. mit "Einfügen". Setz vorher den Cursor an die gewünschte Stelle im Text.
  15. Das passiert dann, wenn zwei Objekte mit unterschiedlichen Texturen auf gleicher Höhe liegen. Der Parkplatz an der Bushaltestelle ist ein gutes Beispiel. Da flackert die Straße daneben, wenn man die Kamera bewegt. Weil man manchmal die Straße und manchmal den Parkplatz darunter sieht. Wenn du den Parkplatz um 0,01 mm weiter absenkst, ist der Spuk vorbei.
  16. Eventuell hat sich die Reihenfolge geändert, in der diese Ereignisse abgearbeitet werden. Du hast ja mehrere Ereignisse, die alle ausgelöst werden, wenn der Kontakt betreten wird. Und dann hast du keine Kontrolle darüber, in welcher Reihenfolge das geschieht. Das hängt von Faktoren ab, die du nicht beeinflussen kannst. Mit Glück wird also zuerst die Schranke erledigt, bevor die EV auf eines der unsinnigen Ereignisse trifft. Aber wenn du Pech hast (so, wie jetzt) läuft es anders herum. Du musst also diese unsinnigen Events mindestens deaktivieren (wenn du sie für später aufheben willst.) Noch besser wäre, du würdest aufräumen. Viele Grüße Götz
  17. I see! Okay, that is relatively easy. Either you mark and copy the entire script, then switch to graphic mode, insert a "script" command and paste your code in there. Or place your graphic command in another event and then drag and drop it from there into the script event.
  18. Honestly, I recommend that you don't do it. The Studio isn't well suited for this sort of animation and the result will never really satisfy. Nevertheless, there are multiple ways to achieve this to some extend: One would be that you attach the tracks inside the bus to the bus itself. (Use the chain link icon from the top menu.) Stop the bus with a contact, to ensure it stops at the same place every time. And drive the bus to that contact (with inside tracks attached), let it stop automatically, then connect the outside tracks. Chances are that on it's next round the tracks inside the bus will connect to the tracks outside again, like before. Another would be that you build the entire path into the bus (and out again) at the station and leave it there. Again, stop the bus with a contact to ensure that the track meets the doors. When the bus leaves, attach the passengers to the bus (which frees them from the track.) The tricky bit here would be to re-attach them to the track, when they are supposed to leave. A third and probably the simplest method would be to again build the entire path at the station and make passengers invisible once they are inside the bus. (They can't sit down anyway.) Kind regards Goetz
  19. it is impossible, unfortunately. That's why you have to build your graphic script from scratch when you made any changes to the Lua script (or wrote one yourself) Building a Lua script from predefined graphic blocks is (relatively) easy. Guessing what a script is meant to accomplish and translating that into suitable graphic blocks is neigh impossible. I'm sorry to disappoint. Goetz
  20. Goetz

    Rangieren

    Ja, das geht ganz bestimmt einfacher. Aber ohne deine EV ist es schwer, dich da gezielt und richtig zu beraten.
  21. I'm sorry, Leslie, bust this time I really don't understand what you are trying to achieve. Can you maybe write it in your own language first and then use a translation program to convert it to English? Kind regards Goetz
  22. Da gibt es einen ganz einfachen Trick, Rotti: Öffne das Ereignisprotokoll. Dort siehst du detailliert, was wann passiert. Schritt für Schritt. Und in diesem Fall sah man eine Fehlermeldung, hervorgehoben in rot. Ein Doppelklick auf diese Fehlermeldung öffnet dann das Ereignis, in dem der Fehler verursacht wurde. Wenn solche Fehler bei geöffnetem Protokoll stattfinden, wird außerdem die Anlage sofort pausiert. So sieht man genau den Zustand der Anlage in dem Augenblick, als der Fehler auftrat. Das hilft enorm bei der Fehlersuche. Du findest das Ereignisprotokoll unten im selben Menü, wo auch die Ereignisverwaltung steht (Klick auf den kleinen Pfeil neben dem Symbol) Oder drücke einfach die Taste F12, um es zu öffnen. Jetzt weißt du, wie du die nächsten "Bösewichter" selbst finden kannst. Denn ich wette, da gibt es noch mehr Ereignisse, die auf alle Gleiskontakte reagieren, aber nichts (sinnvolles) tun und somit Fehler verursachen. Viele Grüße Götz
  23. Hello @Leslie I may have found a solution for your request to hold back any train that passes through a couple of portals. See how you like it (and if you can figure out how it was done.) portal delay.mbp Kind regards Goetz
  24. It can't, Leslie, because it would require storage. And more importantly, waggons that are pushed (rather than pulled) by an engine have no push, when after a delay they come out at the other end, while the engine is still held back. Waggons have no motor and don't move without an engine pushing or pulling them. (Except on a slope, where gravity is the pulling force.) There is no "move" command that can be delayed. When reaching the end of one track, vehicles are position at the beginning of the next piece. That is what happens at every track joint. The portal allows this behaviour over a distance, pretending that the two track ends meet. The important issue here is, that the complete train is unbroken. But the depots act as storage, which is mandatory for any form of delay. If you want to hold something back, you need to keep it somewhere for the duration. Kind regards Goetz
×
×
  • Neu erstellen...