-
Gesamte Inhalte
5506 -
Benutzer seit
-
Letzter Besuch
Alle erstellten Inhalte von Andy
-
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
*schluck* ... geht SBF auch durch? -
Ralf, stell doch mal an einem Ende der Anlage eine Kamera auf. Die hält für immer die Position! Und da machst Du am Ende jeder Sitzung ein Photo. Und am Ende machst Du aus allen Photos ein Video zeitraffende Grüße Andy
-
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
Meine Anlage ist ein Nachbau einer 'Showanlage'. Die hat zwar von irgendwem den Titel 'Lehrbahn' oder so bekommen, aber was da die Kriterien für waren und von wem, wissen die Götter. Jedenfalls hat sie bei mir als Kind soviel Eindruck hinterlassen, dass ich die nachbauen wollte und keine andere. Aber leider ist es wie immer, sowie man durch Dinge durchblickt, ist die Magie verloren. Sie hat jetzt ein paar pros, ein paar contras und die verteilt dann auch jeder anders. Ich denke, die Standardtippgeber hier drin erzählen keinen Blödsinn und - da diese noch relativ warm ist - könntest Du mit dem ausführlichen Werdegang von Ralf's Anlage ganz gut beraten sein. Der Spur könnte man folgen. Austoben hat Nachteile. Am Ende steht soviel auf dem Brett (in Tunneln haben sie mir's ja untersagt! ), da kommt die Grafik nicht hinterher. Bin so froh, dass mit V5 jetzt die hüpfenden Züge Vergangenheit sind, weil die EV der Idee jetzt hinterherkommt. Also - in Maßen! -
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
damit wäre man bei einer normalen Anlage im Nebenzimmer. Claudia, hau die Vorsignale irgendwo hin, die Abstände können sowieso nicht der Realität entsprechen. Gibt keinen Bahnübergang auf meiner Anlage, wo ich die 3-Baken-Schilder vor dem Andreaskreuz in halbwegs richtiger Entfernung aufstellen könnte. Da brauchen Dioramen ein paar Freiheiten. Da ist's mit maßstabsgetreu zuende. -
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
Haha, vielleicht sollte ich da in meiner Anlage in der Automatik die Signale nicht schalten. Das muß der Herr Fahrdienstleiter dann anhand der Schaltpultdaten selbst machen. Die Automatik sagt dann nur noch 'geht' oder 'geht nicht'. Denn wenn er pennt, kann sich die Situation gravierend zu seinem Nachteil verändern. Wer 24 Stunden durchhält und dafür sorgt, dass die Ausgangsstellung wieder da ist, kriegt 'nen Keks ps: Ihr bringt mich da auf Ideen. Wenn das mit dem Aufsetzen eines Szenarioskripts klappt, mach ich das sogar! -
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
Moin, mich wundert's, dass es da überhaupt sowas wie Vorfahrtsrechte gibt. Ist doch überall signalgesteuert, oder? Und wenn die Automatiken ausfallen und der Fahrdienstleiter muß ran, wird der schon wissen, wie er seine Sorgenkinder durchschleift. Ich gehe eigentlich nicht davon aus, dass da irgendwelche Züge wild durch die Gegend fahren. Das also nur mal wieder so ganz naiv gesehen. Gruß Andy -
Guten Morgen Neo, heute früh ist einfach mal nix. Montag ist ja schlimm genug.
-
Dann eben gefrorene Orangenlimonade. Habe gestern nach 40 Jahren mal wieder ein Capri-Eis gelutscht. Wenn ich sonst schon keinen Capri kriege
-
Ich glaube Brummi meint, dass er gedanklich schon in der Schaukel sitzt, einen Longdrink in der Hand und selig in den Mond schauend.
-
Der ist schon Geschmackssache. Es ehrt Dich umso mehr, wenn Du trotzdem nach Vorlagen gesucht hast. Bleib bei den Dingen, die Dir Spaß machen! viele Grüße Andy
-
Danke! Ich hatte da irgendwie immer Name* drin. Ich teste das mal. Bei dem dann entstandenen Ausdruck mit GetEntityByName war es merkwürdig. In einem Ereignis (Ankunft am Signal) hat er es geschafft. Im anderen Ereignis, Ankunft am Prellbock, stand genau das Gleiche drin, da kam nil-Fehler im Protokoll. Unterschied nur das Schlagwort des Gleises und andere Funktionen. Mit dem Lua-Ausdruck von oben ging's dann in beiden Fällen gut.
-
Ich meine eine Lücke gefunden zu haben: vehicle.variables["Fahrplan"].variables["Status"] = "Ankunft" Die Lok hat gerade ein Gleis betreten, hat eine OV namens "Fahrplan", die vom Typ Objekt ist! Das dort eingetragene Objekt hat eine Text-OV "Status". Dieser soll "Ankunft" zugewiesen werden. Jetzt versuche das mal mit den Zahnrädchen einzustellen! Ich hab's nicht geschafft. Er geht irgendwie immer über Name und endet mit layout:GetEntityByName, aber dann gibt's ein Peng. Gruß Andy
-
Unter der eben genannten Content-ID habe ich ein Update hochgeladen. Die einzelnen Themen-Blöcke finden sich mehr und mehr zusammen. Die Hauptmodule sind nun fast alle in Lua gewandelt. Stammdaten, wie Animation und Fahrpläne finden sich in leicht editierbaren Tabellen wieder. Als nächstes sind hier die 'Aufträge' dran. Werden diese Tables ausgetauscht, entsteht ein neues Szenario. Blockkomponenten, Start/Stop-Logik, Fahrplanbehandlung, Auftragsbehandlung und Zielsteuerung sind bereits portabel, d.h. könnten bei Beachtung des OV-Designs für Objekte bereits in anderen Anlagen eingesetzt werden. ps: sind auch zwei Fehlerchen drin. Die Rangierlok koppelt nicht ab und fährt dann mit der BR-05 mit und der Staplerfahrer kriegt's nicht gebacken und nimmt den Container einfach mit. Sehr interessant, denn bei dem habe ich garantiert nichts verändert. Ab 13:00 gibt's dann Fehler, aber egal. Wichtig ist: es funktioniert grundlegend und die Züge hüpfen nicht mehr!!!
-
Also, das mit der Table-Initialisierung ist so noch nicht schön. Ich gehe auf Automatik, was das Skript auslöst, das den Table mit den $ fertig initialisiert. Der Table steht nun wunderbar zur Verfügung. Ich halte die Animation an, weil ich noch etwas ändern möchte, mache das, starte die Animation wieder weiter - und peng, weil ihn die Recompilierung wieder zerstört hat und keiner die Reinitialisierung gerufen hat. Möglicherweise könnte es Sinn machen, print und $ nach Kompilierung scharf zu machen, aber das rekursive Verhalten (was ja offensichtlich das Risiko darstellt) für Modulskripte noch abgeschaltet zu lassen und es erst nach Abarbeitung der Modulskripte zu aktivieren. Vielleicht würde es sogar Sinn machen, dass beim Aufrufen von Funktionen, die in Modulskripten liegen, das rekursive Verhalten ebenfalls ausgesetzt wird, bzw. das es sogar ein Flag gibt, das der Nutzer toggeln kann. Aber, da habe ich jetzt überhaupt keine Vorstellung, ob das überhaupt realisierbar ist. Gruß Andy
-
BahnLand ist Großprojekte gewohnt
-
Aufbau einer ersten Anlage mit Hang zur Weiterentwicklung
Andy antwortete auf CC.SDLs Thema in Fragen zur Planung
In all diesen Anlagen ist aber kein Hang drin, den man weiterentwickeln kann -
iwo. Ralf, wo ein Manta ist, muß auch ein Ford Capri sein.
-
Beim blauen Wagen konnte ich ja noch sagen, meine S3/6 ist aber grün. Aber so gilt die Ausrede nicht mehr. Und wo hänge ich dann die Pullmanns dran? *grübel*
-
Jener Table hat einen großen Vorteil: Fahrplan = { ..., { Obj = $("Fahrplan14"), Data = { { $("A Abs4-Umsetz"), 813, "Abstellgl.4", "Werkstatt" }, { $("A Umsetz-LS1"), 0, "", "" }, { $("A LS1-Umsetz"), 1605, "Werkstatt", "Abstellgl.4" }, { $("A Umsetz-Abs4"), 0, "", "" }, { "end" } }}, ... } function init_fahrplaene() -- wird gerufen beim Einschalten der Automatik local i = 1 while Fahrplan[i] ~= nil do Fahrplan[i].Obj.idx = i Fahrplan[i].Obj.variables["Auftrag"] = "" Fahrplan[i].Obj.variables["von"] = "" Fahrplan[i].Obj.variables["nach"] = "" Fahrplan[i].Obj.variables["delayed"] = 0 Fahrplan[i].Obj.variables["Fehler"] = 0 Fahrplan[i].Obj.variables["Starttick"] = 3000 Fahrplan[i].Obj.variables["skip"] = 0 Fahrplan[i].Obj.variables["xtick"] = 0 Fahrplan[i].Obj.variables["Counter"] = 1 Fahrplan[i].Obj.variables["Status"] = "Ankunft" Fahrplan[i].Obj.state = (Fahrplan[i].Obj.state + 1) % Fahrplan[i].Obj.stateCount i = i + 1 end end da diese 17 Fahrpläne alle einen Rückverweis idx besitzen, kann ich auf ihnen als Objekte trotzdem indiziert operieren, als wären sie ein Array. Warum ich das nun eigentlich gerne im Modulskript des Ereignismoduls Fahrpläne gehabt hätte? Weil damit ein komplett neues Szenario der Anlage aufsetzbar ist und ich zur Anlage noch Skripte zur Verfügung hätte stellen können, bei denen ich dem Nutzer sage, leg' das in Fahrpläne Skript! Naja, jetzt muß er's halt in einem 'versteckteren' Platz unterbringen.
-
Bei mir sind ist es (bislang) ein Table mit den 'Stammdaten' meiner Fahrpläne. Ich habe da die Read-Only-OV der zugehörigen Objekte herausgezogen, damit alles übersichtlicher und editierbarer wird. Die brauchen natürlich einen Bezug zu ihrem Objekt, oder anderen beteiligten Objekten. Da möchte ich natürlich mit $ arbeiten, damit ggf. bei Namensänderungen alles mitgeändert wird. Wenn es jetzt aber so ist, dass ich mich drauf verlassen kann, dass diese Tables global bleiben, ihre Namen also auch überall bekannt sind, dann lege ich die mitsamt der Initialisierungsfunktion, die die variablen Teile, die noch in den OV der angekoppelten Objekte liegen, presetted, einfach in das Ereignis, das jene Funktion aufruft. Ich wollte es halt so organisieren, dass meine Daten (hier Fahrpläne) eines Ereignismodul zusammen bleiben, dafür in das Modulskript legen und auch die init_funktion, damit eine gewisse Ordnung in allem ist! Und dann gibt es da ein Ereignis Variable 'Automatik' wird gesetzt mit Inhalt Skript ausführen init_fahrplaene(). So wie Du es schreibst, lege ich das jetzige Modulskript einfach genau in dieses initialisierende Ereignis und meine $ leben. Test. Funktioniert! Damit bin ich doch zufrieden. Ich hoffe Du verstehst aber, dass diese Frage ohne jene Hintergrundkenntnisse kommen mußte und nun sind wir alle ein Stück schlauer. Gruß Andy
-
Guten Morgen Neo, mir sind heute nacht wieder ein paar Fragen bezüglich der EV aufgekommen: 1. eine table, die ich in einem Ereignis anlege, wird die global, oder ist die immer automatisch lokal und wird immer neu angelegt, wenn ich in das Ereignis komme? Wenn ich sie in ein Modulskript lege, findet er $-Einträge nicht. Wann werden die da initalisiert? 2. Ist ein Modulskript ausführbar? Oder dient es nur als Ablage von tables und Funktionen? Wie rufe ich die Ausführung auf? Das 'Hauptskript' in "Ereignisse" läuft beim Einschalten der Ereignisprotokollierung ab. Ist es einfach so, dass alle Modulskripte nacheinander ablaufen, wenn auf '>' (play) gedrückt wird? 3. Beim Umbenennen von Modulvariablen hatten wir das Thema, dass Du sagst, dass es nicht so einfach ist, die Umbenennung auch in Skripten durchzuführen. Wäre es dann nicht doch sinnvoll, so etwas wie einen Sammelexport für Skripte in eine txt-Datei zu ermöglichen, damit man wenigstens checken kann, wo entsprechende Stellen sind? Zumal im Skripteditor Strg-F für Finden und Strg-H für Ersetzen ja auch nicht gehen. Gruß Andy
-
Hallo Neo, erstmal Danke für das Update. Als ich die neuen Features gesehen habe, habe ich mich riesig gefreut, dass nun die dritte Dimension in den Modelleditor eingezogen ist. Leider nicht so, wie ich es mir eigentlich erhofft habe. Ich hätte mir gewünscht, dass wir da was bekommen können, das die Verwindung einer Kurve in einer Steigung rausrechnet. Sodaß der Anfang des Gleises plan auf der Ebene liegt und das Ende ebenfalls plan auf der höheren Ebene. So wie es nun ist, ist immer noch das Gleis selbst in einer Ebene, liegt halt rotiert in der Landschaft. Das wird wohl nur ausnahmsweise gebraucht werden. Habe ein Bild angehängt, wie ich's mir gewünscht hätte. Und dann ... habe ich mal drüber nachgedacht, wie denn ein Zug auf so einem Gleis stehen würde, wenn das nicht wirklich ziemlich lang und mit relativ geringer Steigung ist. Ach, irgendwas ist immer. beste Grüße Andy
-
Kleiner Tip noch, habe ich auch gerade eingesetzt, sind richtig toll: Unsichtbare Gleise gehören der Vergangenheit an. Schau mal im Ordner Verkehrswege/virtuell Die bringen Farbvariationen gleich mit! Kannst Weichen mit bauen, geht alles. Gruß Andy
-
Objektvariablenarrays kann ich nur unterstützen. Die bräuchte ich für meine Weichenlisten in den Fahraufträgen und natürlich auch in den Fahrplänen für die Aufträge. Eigentlich könnte man die ja oft in echte Lua-Arrays auslagern. Aber dann haben sie einen entscheidenden Nachteil: man kann ihren Wert nicht einsehen. Oder doch? Und wenn ja, wie? Gruß Andy