Klartexter Geschrieben 16. November Geschrieben 16. November Eine Frage an @Neo: Warum funktioniert das Lua-Skript in V9 nicht mehr? local Tueren = {} local Zug = layout:getVehicleGroup(vehicle) for k, Waggon in ipairs(Zug) do table.insert(Tueren, Waggon.animations["Tür vorn"]) table.insert(Tueren, Waggon.animations["Tür hinten"]) table.insert(Tueren, Waggon.animations["Tür rechts vorne"]) table.insert(Tueren, Waggon.animations["Tür rechts hinten"]) end if not deferredCall then vehicle.deceleration = 2 vehicle.acceleration = 3 vehicle.targetSpeed = 0 defer(8, "Tür auf") elseif deferredCall == "Tür auf" then for k, Tuer in ipairs(Tueren) do Tuer:play(0, 1) end defer(10, "Tür zu") elseif deferredCall == "Tür zu" then for k, Tuer in ipairs(Tueren) do Tuer:play(1, -1) end defer(2, "Abfahrt") elseif deferredCall == "Abfahrt" then vehicle.targetSpeed = 50 end Ich habe es seit V7 im Einsatz, und bisher ohne Probleme. Walter
Neo Geschrieben 17. November Geschrieben 17. November Hallo Walter, ein wenig mehr Kontext benötige ich. Was funktioniert nicht, gibt es eine Fehlermeldung? Ich welcher Anlage kann ich den Fehler sehen? Viele Grüße, Neo
Klartexter Geschrieben 17. November Autor Geschrieben 17. November vor 2 Stunden schrieb Neo: Was funktioniert nicht, gibt es eine Fehlermeldung? Ich welcher Anlage kann ich den Fehler sehen? Hallo @Neo, eine Fehlermeldung gibt es nicht, aber ich kann die Anlage(n) auch nicht als Entwurf hochladen, weil mir V9 dann diese Meldung gibt: Aber die Haltestelle ist seit Jahren im Katalog, ich habe vor kurzem auch ein Update für V9 hochgeladen, welches aber noch nicht von Dir freigegeben wurde. Deshalb hänge ich die Anlagen hier mit an, das sind reine Testanlagen, damit ich Funktionen überprüfen kann. Wenn Du Dir die Anlage Combinotest ansiehst, dann fährt da ein Combino, welcher für V9 angepasst wurde. Das Ereignisprotokoll meldet mir zwar an der Haltestelle, dass die Tür aufginge, aber das macht sie eben nicht. Dass es aber bis V8.5 kein Problem gab, das siehst Du in der Anlage Testanlage. Da fahren drei Combino, welche noch nicht auf V9 angepasst wurden. Aber bei den Combinos habe ich an den bestehenden Animationen nichts geändert, nur die Schalter wurden hinzugefügt. Und die lassen ja eine vorhandene Animation abspielen, da öffnen sich auch die Türen. Warum aber Lua hier streikt, das verstehe ich nicht. Denn am Script wurde gar nichts geändert von mir. Abgesehen davon haben sich beim ersten Aufruf der V8-Testanlage in V9 die Haltestellen verschoben, aber das Problem der Verschiebung ist ja bereits angesprochen worden. Du bist ja der Experte, Du wirst sicher wissen, an was es liegt, dass Lua hier nicht will. Das hofft zumindest Walter combinotest.mbp Testanlage.mbp
Neo Geschrieben 17. November Geschrieben 17. November Hallo Walter, wenn ich "Testanlage.mbp" öffne und die Ereignisprotokollierung laufen lasse, erscheint sofort ein Fehler, wenn die Straßenbahn am Gleiskontakt ankommt. Im Ereignis "Zielwechsel 1" werden Beschriftungen angesprochen, die es nicht gibt. Um den Combino testen zu können, musst du das geänderte Modell erst hochladen. Viele Grüße, Neo
Klartexter Geschrieben 17. November Autor Geschrieben 17. November vor einer Stunde schrieb Neo: Um den Combino testen zu können, musst du das geänderte Modell erst hochladen. Das habe ich schon gestern gemacht, @Neo: Teil 1: 82A1C257-128C-4AE8-A9CF-1B0041D473EB Teil 2: 5EBCF028-13D5-47C4-8781-2BEF0447987B Teil 3: 13138133-6AA8-4C1B-B8B5-3BB1C6028653 Teil 4: 3EC13D60-E66F-40A1-AE35-2A1F0615737B Natürlich nur als Entwurf, damit ich eventuelle Fehler noch beseitigen kann, bevor es als Update hochgeladen wird. Die Testanlage.mbp ist eine Kopie einer anderen Testanlage in V8.5, sie sollte nur beweisen, dass das Script funktioniert und die Türen sich öffnen. Die Combinotest.mbp ist die Anlage, in welcher sich die Türen nicht öffnen, es aber auch keine Fehlermeldung gibt. Aber das Protokoll zeigt den Befehl an: Walter
Neo Geschrieben 17. November Geschrieben 17. November Hallo Walter, deine Entwürfe enthalten keine Tür-Animationen, nur Schalter. Wenn du Bestandsmodelle aktualisieren willst, darfst du diese nicht mit neuen Modellen überschreiben, sondern musst die vorhandenen Modelle direkt über "Bearbeiten" aktualisieren. Nur so bleiben die alten Animationen bestehen. Viele Grüße, Neo
Klartexter Geschrieben 17. November Autor Geschrieben 17. November Danke für die Info, @Neo. Ich habe aber keine neuen Modelle erstellt, ich habe nur die Namen der Teile gekürzt, damit ich die Teile als Entwurf hochladen konnte. Denn sonst wäre ja die Katalogdatei überschrieben worden. Aber die anim-Dateien sind die selben, auch der Animationszusatz in der X-Datei ist unverändert. Allerdings mit einer Ausnahme im Modul 1, da habe ich den Lichtschalter für das Fahrlicht bearbeitet, weil das Licht falsch rum geschaltet war. Leider geht das aber nur, wenn man dann alle Variationen entsprechend ändert. Ich habe zur Behebung von Fehlern auch die Original-Sketchup-Dateien verwendet, weil zwei Texturen fehlten und von mir aufgebracht wurden. Und die Variantennamen sind auch unverändert. Alle Dateien wurden dann in den persönlichen Katalog hochgeladen, aber nicht in den Ordner mit den Originaldateien für den Katalog. Denn ich wollte erst mal prüfen, ob jetzt alles ok ist. Warum jetzt keine Animationen da sind, das verstehe ich nun gar nicht. Denn nach meiner Kenntnis werden ja alle Dateien beim hochladen einer X-Datei mitgenommen, und sämtliche Teile wurden ja neu mit altem Inhalt hochgeladen. Es grüßt ein ratloser Walter
Neo Geschrieben 17. November Geschrieben 17. November Wenn du deine vorhandenen Modelle nicht überschrieben hast, hast du doch ein neues Modell im Katalog gespeichert. Animationen stehen nicht mehr in der EV zur Verfügung, wenn diese durch Aktionen gesteuert werden (dafür gibt es jetzt die neue EV-Aktion "Schalter betätigen (integriert)". Animationen gibt es nur noch bei alten Bestandsmodellen, damit vorhandene Anlagen weiter funktionieren. Wenn du ein bestehendes Modell aus <= V8.5 bearbeitest, musst du das Originalmodell bearbeiten und überschreiben, ansonsten gehen die Animationen verloren. Lösch bitte deine Combino-Testmodelle und aktualisiere direkt deine vorhandenen Modelle. Dann funktionieren auch deine Lua-Skripte und Anlagen wieder. Viele Grüße, Neo
Klartexter Geschrieben 17. November Autor Geschrieben 17. November vor 3 Stunden schrieb Neo: Lösch bitte deine Combino-Testmodelle und aktualisiere direkt deine vorhandenen Modelle. Dann funktionieren auch deine Lua-Skripte und Anlagen wieder. Das heißt also, dass ich die Texturfehler und die falsche Schaltung nicht mehr beheben kann, denn dazu muss ich zum einen das Sketchupmodell bearbeiten, und für die Lichtschaltung den Anhang in der X-Datei ändern. Oder soll ich das mit V8 ändern, denn da galten ja noch die Animationen? Walter
Neo Geschrieben 17. November Geschrieben 17. November Du kannst die Modelle auch in V9 jederzeit aktualisieren, aber nur, wenn du direkt die Originalmodelle im Katalog bearbeitest.
EASY Geschrieben 17. November Geschrieben 17. November (bearbeitet) Hallo @Neo, irgendwie habe ich das Gefühl, daß hier etwas unklar ist, was "bearbeiten" bedeutet. Wenn @Klartexter die Textur und die Animation korrigiert und das Originalmodell aus des Katalog unter "Bearbeiten" (Rechtsklick) -> "Variation bearbeiten" (Dialogfenster) das geänderte Modell auswählt und speichert, was passiert dann? Oder anders gefragt, wo sind die Grenzen von "Bearbeiten" damit das Modell nicht die Kompatibilität zu bestehenden Anlagen verliert? ... so langsam bin ich selber etwas verwirrt... Gruß EASY Bearbeitet 17. November von EASY
Neo Geschrieben 18. November Geschrieben 18. November Der Weg ist der gleiche wie früher: Rechte Maustaste im Katalog, Bearbeiten und die gleichen 3D-Daten verwenden. Hier hat sich nichts geändert. Es darf aber kein neues 3D-Modell erstellt und das alte einfach überschrieben werden (Katalog Neu, Speichern unter). Dann gehen alte Daten selbstverständlich verloren. Viele Grüße, Neo
Klartexter Geschrieben 18. November Autor Geschrieben 18. November vor einer Stunde schrieb Neo: Der Weg ist der gleiche wie früher: Rechte Maustaste im Katalog, Bearbeiten und die gleichen 3D-Daten verwenden. Hier hat sich nichts geändert. Es darf aber kein neues 3D-Modell erstellt und das alte einfach überschrieben werden (Katalog Neu, Speichern unter). Dann gehen alte Daten selbstverständlich verloren. Ist es denn ein neues Modell, @Neo, wenn ich einen Texturfehler im Modell behebe, und im Animationszusatz in der X-Datei einen Fehler korrigiere? Denn es wird sowohl die Sketchupdatei des Katalogmodells wie auch die Texturen und die anim-Datei verwendet. Lediglich die X-Datei wurde wegen des Lichts angepasst. Im Katalog sind die Teile als Combino-Modul 1 bezeichnet, wobei sich die Zahl auf das jeweilige Modulteil bezieht und entsprechend anders ist. Deswegen habe ich ja meinen Entwurf auch nur als Model 1 usw. bezeichnet, also quasi ein neues Modell erstellt. Das Originalmodell ist davon ja gar nicht betroffen, der Entwurf diente ausschließlich zu Testzwecken. Aber im quasi Neumodell funktioniert das Luascript für die Türöffnung nicht mehr. Ich darf also davon ausgehen, dass bei neuen Fahrzeugmodellen das Script nicht mehr funktioniert. Das finde ich nicht gut, offenbar muss jetzt jedes Fahrzeug extra mit der Funktion Schalter konfiguriert werden. Schade, bisher fand ich das Programm gut gelungen. Walter
Neo Geschrieben 18. November Geschrieben 18. November vor 8 Minuten schrieb Klartexter: offenbar muss jetzt jedes Fahrzeug extra mit der Funktion Schalter konfiguriert werden Das musst du nicht, wenn du Aktionen weglässt, arbeitet dein Modell auch weiterhin mit den Animationen. Es handelt sich dabei aber um eine veraltete Technologie, die nicht mehr empfohlen wird, weil Aktionen zugänglicher für Benutzer sind als Animationen. Was spricht dagegen, dein Lua-Skript an die neuen Möglichkeiten anzupassen?
EASY Geschrieben 18. November Geschrieben 18. November Hallo @Neo, Meine Interpretation wäre... @Klartexter hat den Datensatz "Combino-Modul 1" korrigiert und macht: Originalmodell aus des Katalog unter "Bearbeiten" (Rechtsklick) -> "Variation bearbeiten" (Dialogfenster) und wählt "Combino-Modul 1.x" aus und speichert. Dann ist das eine "gewöhnliche" Änderung und die Animationen bleiben erhalten. Wenn vor dem Speichern noch noch Aktionen definiert werden (z.B. "Tür auf"...) bleiben die Animationen bleiben trotzdem erhalten, da es sich um ein Bestandsmodell handelt (z.B. "Tür auf (veraltet)") Wenn man nun "Katalog Neu" -> "Variation bearbeiten" (Dialogfenster) macht und wählt "Combino-Modul 1.x" aus, dann erscheint beim Speichern ein Dialogfenster ob der bestehende Datensatz überschrieben werden soll. Wenn dies bestätigt wird, ist es kein "Bestandsmodell" mehr, sondern ein Modell im V9. Werden vor dem Speichern keine Aktionen festgelegt, dann bleiben die Animationen erhalten (ist von Dir nicht erwünscht, da Du langfristig gesehen von den Animationen wegkommen und nur noch mit Aktionen arbeiten möchtest) Werden Aktionen festgelegt (z.B. "Tür auf"...), dann gibt es keinen Zugriff mehr auf die entsprechenden Animationen. Ist diese Interpretation richtig? Gruß EASY
Neo Geschrieben 18. November Geschrieben 18. November Hallo EASY, deine Interpretation ist korrekt, solange eine Änderung immer vom bereits hochgeladenen Modell ausgeht, gibt es keine Probleme. Viele Grüße, Neo
EASY Geschrieben 18. November Geschrieben 18. November (bearbeitet) Hallo, vor 2 Stunden schrieb Klartexter: Ist es denn ein neues Modell, Neo, wenn ich einen Texturfehler im Modell behebe, und im Animationszusatz in der X-Datei einen Fehler korrigiere? ... nein, es ist eine Korrektur. Ich hoffe mein Beitrag der "Interpretation" hilft Die weiter, wie Du vorgehen solltest... Gruß EASY Bearbeitet 18. November von EASY
Little Geschrieben 18. November Geschrieben 18. November Hallo @Neo, ich bin jetzt auch leicht verwirrt. Gibt es schon eine neue Anleitung, wie ich nach der V9-Norm meine Modelle incl. Licht und Aktionen in Blender gestalten muss? Und was muss ich beim Exportieren beachten? Viele Grüße Frank
Neo Geschrieben 18. November Geschrieben 18. November Hallo Frank, alle Informationen findest du im Modellbau-Wiki. Hier geht es um ein spezielles Problem von Klartexter, der ein Lua-Skript verwendet, dass auf Animationen spezialisiert ist. Da in zukünftigen Modellen Animationen aber in den Hintergrund rücken und nicht mehr direkt per EV angesprochen werden, muss das Lua-Skript ebenfalls angepasst werden. Mit dem normalen Modellbau in V9 hat das nicht viel zu tun. Viele Grüße, Neo
Klartexter Geschrieben Montag um 13:17 Uhr Autor Geschrieben Montag um 13:17 Uhr vor 4 Stunden schrieb Neo: Was spricht dagegen, dein Lua-Skript an die neuen Möglichkeiten anzupassen? Zum einen die fehlenden Kenntnisse sowohl bei Lua wie auch bei den Neuerungen von V9. Bei letzterem fehlen einfach noch Tutorials, wie sie @Goetz immer sehr gut erstellt. Denn wenn ich die EV aufrufe, und etwas mit den Schaltern bewerkstelligen will, dann verstehe ich nur noch Bahnhof. Ein einfaches Beispiel: Beim Objekt werden mir alle Fahrzeugteile eines Combinos angeboten, aber das Augsburger Modell hat schon mal 7 Teile. Wenn ich 10 Combinos auf einer Anlage einsetze, dann wird das schon ein ganzer Roman. Bisher war es so, dass die Aktion Zug betritt ein Gleis das Luascript ausgelöst hat. Aber wenn jetzt mit Schalter gearbeitet wird, dann muss ich jedes Fahrzeugteil einzeln als Objekt eingeben und den entsprechenden Schalter dazu benennen. Wo da ein Vorteil liegen soll weiß ich nicht. WIKI hilft mir da auch nicht weiter, da die Schalter dort noch keine Rolle spielen. Ich bin mittlerweile 74, und meine berufliche Selbstständigkeit führt auch dazu, dass ich noch kein geruhsames Rentnerdasein lebe. Von daher fehlt mir auch die Zeit, mich beispielsweise intensiv mit Lua zu beschäftigen. Mein Motto für Tätigkeiten war immer: So einfach wie möglich. Ich bin nun mal kein IT-Freak, die Kenntnisse muss ich mir mehr oder weniger mühsam erarbeiten. Das nur zum besseren Verständnis. Walter
Goetz Geschrieben Montag um 14:19 Uhr Geschrieben Montag um 14:19 Uhr vor 57 Minuten schrieb Klartexter: dann muss ich jedes Fahrzeugteil einzeln als Objekt eingeben Du kannst in einer Wiederholung "Alle Fahrzeuge in einem Zugverband" ansprechen. Den Zugverband identifizierst du über das auslösende Fahrzeug: Viele Grüße Götz
Goetz Geschrieben Montag um 14:51 Uhr Geschrieben Montag um 14:51 Uhr Hallo @Klartexter Das folgende Beispiel soll dir verdeutlichen, wie es funktioniert: Alle Türen öffnen.mbp Die Aktion ist in Skriptform, weil ich per Bedingung prüfen muss, ob im jeweiligen Objekt die Tür existiert, die ich bedienen will. In der grafischen Bedingung kann ich meines Wissens derzeit nicht prüfen, ob ein bestimmter Schalter im Objekt vorhanden ist.
Neo Geschrieben Montag um 14:51 Uhr Geschrieben Montag um 14:51 Uhr vor einer Stunde schrieb Klartexter: Zum einen die fehlenden Kenntnisse sowohl bei Lua Ich bin bisher davon ausgegangen, dass das Lua-Skript von dir selber stammt. Wenn dem nicht so ist, erklärt das natürlich einiges. Schalter steuerst du genauso wie Animationen in der EV, dafür braucht es kein IT-Studium. Der Vorteil von Schaltern liegt darin, dass hinter einem Schalter mehrere Logiken liegen können, wie z.B. eine Animation, ein Licht, ein Geräusch oder ein Partikeleffekt. Der Nutzer muss sich darüber keine Gedanken mehr machen und kann die EV somit schlanker halten (anstatt alles einzeln anzusteuern). Viele Grüße, Neo
Phrontistes Geschrieben Montag um 15:52 Uhr Geschrieben Montag um 15:52 Uhr Hallo Walter @Klartexter, Ihr dreht Euch hier ziemlich im Kreis, deshalb zurück zu Deiner Ausgangsfrage Am 16.11.2024 um 22:07 schrieb Klartexter: Warum funktioniert das Lua-Skript in V9 nicht mehr? Antwort: Weil Du unbeabsichtigt ein reines V9-Modell des Combino erzeugt hast, was Du ja gar nicht wolltest. Wenn Du den Combino aktualisierst wie von Neo beschrieben wird auch das Skript funktionieren. Deshalb nur der Vollständigkeit halber: Bei einem reinen V9-Modell funktioniert das Skript wegen der Zeilen Tuer:play(0, 1) Tuer:play(1, -1) nicht, weil reine V9-Modelle keine Animationen haben, die man abspielen kann (play). Beste Grüße Phrontistes
Klartexter Geschrieben Montag um 16:15 Uhr Autor Geschrieben Montag um 16:15 Uhr Erst einmal danke an @Goetz und an @Neo. Das Luascript ist schon zum Teil von mir, @Neo, der andere Teil stammt aus der Umwandlung im MBS. Aber meine Kenntnisse sind da noch viel zu gering, um mich an größere Abläufe zu wagen. Ein besonderer Dank geht an @Goetz für das Beispiel, solche Dinge helfen mir zum besseren Verstehen, und da habe ich gleich noch eine Frage zu Lua: if Wdh.actions["Tür vorn"] ~= nil then Wdh.actions["Tür vorn"].state = 0 Wdh.actions["Tür vorn"].autoMode = "" end if Wdh.actions["Tür hinten"] ~= nil then Wdh.actions["Tür hinten"].state = 0 Wdh.actions["Tür hinten"].autoMode = "" end Die zweite Zeile beschreibt nach meinem Verständnis die Einstellung der Animation, also 0 für geschlossen. In der dritten Zeile ist bei autoMode kein Eintrag. Gehe ich da recht in der Annahme, dass es übersetzt bedeutet, dass dies die Standardeinstellung für den Schalter ist? Theoretisch könnte ich da also auch festlegen, dass sich die Tür nur am Tag öffnet - oder liege ich hier daneben? Mag vielleicht eine dumme Frage sein, aber ich versuche eben, Lua auch zu verstehen. Daher auch ein Dank an @Phrontistes für den Hinweis zu play. Walter
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