Jump to content

Phrontistes

Mitglieder
  • Gesamte Inhalte

    1605
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Phrontistes

  1. Aber ein beliebiges Fahrzeug, das sich auf einem Gleis/Gleiskontakt befindet durchaus und das hat er (insoweit korrekt) programmiert. Auslöser kann in einem benutzerdefinierten Ereignis nur das sein, was man dem benutzerdefinierten Ereignis übergibt. Ein Fahrzeug übergibt er aber nicht. Auf einem anderen Blatt steht, dass es aber vermutlich sinnvoll wäre, das Fahrzeug zu übergeben.
  2. Dann mach' das jetzt erst mal, bevor Du und bildreich zeigst, dass Du Deine Fehler, die man Dir erklärt hat, nicht behoben hast. Indem Du den Cursor an die gewünschte Stelle setzt und damit dort das Bild einfügst.
  3. weil Du die Ereignisse zweimal importiert hast! Das sieht man doch in Deiner EV. Grün erster Import, rot Import im Import.
  4. Nein, Du hast ihn nicht behoben. Du zeigst oben auch nur einen Teil Deiner (wirren) EV. Den Ereignisnamen "Gleiskontakt Tram 1 wird ausgelöst" gibt es mehrfach. An den im Bild bezeichneten Stellen werden Fehler ausgelöst, die man auch sofort findet, wenn man die Anlage mit geöffnetem Ereignisprotokoll startet. Du musst dann nur auf die rote Zeile doppelklicken, dann bist Du an der Stelle, die auch mein Bild zeigt.
  5. Doch es wird angesprochen (blaue Zeile), aber Du produzierst einen Fehler (rote Zeile), weil man eine Weiche nicht mit einem Text bezeichnen kann. Wenn Du die Ereignisverfolgung öffnest (F12) siehst Du den Fehler auch: Und wenn Du auf die rote Zeile doppelklickst, bist Du im Ereignis, das den Fehler verursacht (hier: Text- statt Objektvariable wie im vorigen Post beschrieben).
  6. Bevor Du Fragen stellst, gleich mal der Hinweis, dass Du Gleise, Signale, Weichen (und z.B. Fahrzeuge) als Typ Objekt definieren musst (nicht als Text). Du willst im benutzerdefinierten Ereignis diese Objekte ansprechen. Deinen Versuch, in GL NeuParken Re 1 die Namen der Objekte zu übergeben, habe ich gesehen. Über ihren Namen kannst Du die Objekte aber nicht ansprechen. Namen sind nur für die Oberfläche, d.h. für die leichtere Erkennbarkeit durch den User. Das kannst Du daran erkennen, dass Objektnamen nicht eindeutig sein müssen, die Objekte (genauer: die Objektreferenzen) sind es aber schon, ohne dass das an der Oberfläche zu sehen ist.
  7. Veröffentliche die Anlage, dann wird schon einer den Fehler finden.
  8. Einfaches Beispiel: Signale mit dem Schlagwort "Signal fall back by EM" sollen vier Sekunden nach dem Verlassen des Zuges auf '"rot" zurückfallen: Und hier eine Kombi von Schlagwort und "Wiederholung": Alle Fahrzeuge mit dem Schlagwort Auto sollen sich in Bewegung setzen: Autos bleiben bisweilen hängen, mit dieser Anweisung schubse ich sie alle an. Eine "Wiederholung" ist eine Schleife, was Du dem Lua-Code sofort ansiehst: local t = layout:getEntitiesByKeyword("Auto") for i, Iter in ipairs(t) do local v = Iter if v:hasEngine() then v.engine.active = true v.targetSpeed = 40 end end Du kannst Dir jederzeit mit dem "<>" anschauen, wie die Anweisungen aus der graphischen EV in Lua übersetzt werden.
  9. Aber dafür braucht es ja erst recht punktförmige (Rückmelde-)Kontakte. Dafür bietet sich der "klassische" Kontakt (E2A3CA8B-50A7-4247-9C02-4DC0306E1ED6) an oder der "Schaltkontakt" (A75D206F-AACD-4969-B575-458C9C8B8145). Letzterer ist MBS-technisch ein Signal ohne dass es ein sichtbares Signal gibt. Als Programmierer solltest Du Dich unbedingt noch mit dem benutzerdefinierten "Ereignis" befassen mit dem Du Funktionen schreiben kannst für Dinge, die sich wiederholen.
  10. Das merkt man. Auf die Idee, (1) Geschwindigkeiten von einem Label abzugreifen und in eine (2) Variable der Bodenplatte zu transferieren bisher noch keiner gekommen - jedenfalls sehe ich beides zu ersten mal. Aber ich habe noch einen Tipp für Dich: Es ist meist besser und übersichtlicher, mit (punktförmigen) Kontakten zu arbeiten statt mit Gleisen. Also "betritt/verlässt Kontakt" und nicht "betritt/verlässt Gleis". Und wenn Du dann mal richtige Signale (statt nur der GBS-Bausteine) aufstellst, dann bekommst Du einen (Signal-)Kontakt sowieso gratis dazu.
  11. Er steht aber nicht auf dem angegebenen Kontakt. Das kann ich nur wiederholen, nachdem ich jetzt Deine Anlage sehen konnte. Das fängt schon damit an, dass es völlig egal ist, ob der Hauptschalter auf Ein oder Aus gestellt wird. Da musst Du schon (durch eine Bedingung) unterscheiden. Nachdem das Modul A01 nach dem Laden der Anlage schon aktiv ist, bewirkt die Anweisung schlicht nichts. Du hast wohl nicht verstanden, wozu das (de)aktivieren von Ereignissen/Modulen gut ist. Es dient dem fortgeschrittenen Programmierer dazu diese bei Bedarf abschalten zu können. Durch bloßes (de)aktivieren von Ereignissen/Modulen passiert erst einmal gar nichts. Auch ansonsten finde ich so viele Fehler, dass ich Dir nur empfehlen kann, Dir mal funktionierende EV anderer User genau anzusehen, um zu sehen, wie man das macht. Und Du solltest schrittweise vorgehen und nicht versuchen, gleich eine komplette Steuerung zu schreiben.
  12. Nein, aber Du kannst nicht nur an den Eckpunkten ziehen, sondern auch an den Seitenlinien. Dann wird Dir angezeigt, wie lang die rechtwinklig dazu stehende Linie ist. Du musst nur an der gewünschten Position die Maus loslassen.
  13. Völlig anders. Alles was Du siehst, wird pixelweise auf dem Bildschirm gemalt. Da fließt kein Strom durch die gemalten Schienen. Du kannst auch eine Betonwand quer auf die Schienen stellen, der Zug wird einfach durchfahren. Spätestens wenn es mal aus dem Berg raucht, weil Du den Dampf nicht abgestellt hast, wirst Du sehen, was ich meine.
  14. Das hatte ich mir auch schon mal (bisher vergeblich) gewünscht. Auch ohne @gmds Ansatz wäre es nützlich, wenn man seine Library (die natürlich keine direkten Objektbezüge haben darf) einbinden könnte.
  15. Die jeweils einfach vorhandenen Objekte "Kies I" bis "Kies IV" hatte @streit_ross auf 0,544 skaliert. Du hast diese Objekte teils verdoppelt, teils verdreifacht und bei denen, die Du sichtbar machst eine Skalierung von 3,382 eingetragen.
  16. Natürlich nicht, denn es und zwar von Dir (um dem Passivsatz von @EASY ein Subjekt zu geben) händisch oder durch eine andere Stelle in der EV, denn in wird auch bei richtiger Formulierung (ohne "Leer") die Reaktion auf ein Ereignis behandelt. Das Ereignis selbst musst Du schon auslösen.
  17. Wieso eigentlich nicht? Woran scheitert das?
  18. Ja, mehrere: Weder ist es sinnvoll, Baggerbewegungen an ein Ereignis "Animation wird gestartet/gestoppt" zu knüpfen, noch hat es irgendeinen Sinn, das an die Animation "Leer" (also gar kleine) zu hängen. Klar passiert hier nichts.
  19. Ich wüsste nicht, wie das bei einer T-Kreuzung ohne Abbiegespuren anders gehen soll. Das habe ich auch mal gemacht und zwar so, dass die Dauer der Ampelphasen vom Verkehrsaufkommen abhängt --> FBAD92BF-D0D5-48E4-9B4D-A412437C4417 und 61F3BB89-118E-4D37-AAA2-FC1E202A887B
  20. Dieser Teil müsste eigentlich bewirken dass ein Zug losfährt, wenn Du den Schalter betätigst und wenn er auf dem angegeben Kontakt steht. Sinnvoll ist Dein Herangehen allerdings nicht. Warum sich nichts tut und welche Lösung zielführend wäre, kann Dir allerdings keiner sagen, wenn Du Deine Anlage nicht als Entwurf oder als Datei zur Verfügung stellst.
  21. Wenn ich es richtig verstanden habe, wird dort die Objektreferenz (d.h. eine GUID-Hexzahl) eines MBS-Objekts gespeichert. Das Typen-Durcheinander ist nicht gottgegeben, sondern eine merkwürdige Implementation von Lua ins MBS. Da ist vermutlich beim kastrieren von Lua etwas danebengegangen.
  22. Das ist schnell passiert, weshalb ich @Neo diesen Vorschlag gemacht habe: Neo wollte weiteres Feedback abwarten.
  23. Wieso soll das nicht gehen? In Anlage FBAD92BF-D0D5-48E4-9B4D-A412437C4417 findest Du drei Mast/Ampelgruppen, welche wiederum mit der junction gruppiert sind.
  24. Nein, falsch, jetzt lasse Dich doch nicht in die Irre führen! Die Combo ist ein Fake und hat nichts mit den Eigenschaften des Kontaktes zu tun! Es ist wie ich geschrieben hatte: Daraus konntest Du ersehen, dass ich die Combo aus Deinem Bild natürlich kenne. Es gibt keine Eigenschaft trackcontact.state, auch nicht wenn ein Signal verbunden ist. Diese wird richtigerweise deshalb auch weder in der graphischen EV noch in der Lua-Hilfe angeboten; siehe meine Bilder oben. und wie man sieht irreführend wenn selbst Leute darauf reinfallen, die sich gut mit der EV auskennen.
×
×
  • Neu erstellen...