Jump to content

Kai Brendel

Mitglieder
  • Gesamte Inhalte

    23
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Kai Brendel

  1. Moin... früher, auf den realen Platten hatten wir immer so kleine Sockel mit einer Glühlampe in die Häuser gestellt, um diese zu beleuchten. Es gibt zwar diese Straßenlaternen, mit einem Lichtkegel nach unten, und auch diese Leuchtwürfel, die aber kein Licht abstrahlen, aber etwas das man in ein Haus stellt und leuchtet habe ich nicht gefunden. (Voraus gesetzt das Haus/Gebäude hat Fenster) Jemand da eine Idee ob es sowas gibt? Gruß, Kai
  2. Also macht es doch Sinn, Schattenbahnhöfe in Depots umzuwandeln, da damit die Züge ja von der Anlage verschwinden? Genauso wie lange Tunnelstrecken durch Depots zu ersetzen, wo die Züge nach der ansonsten benötigten Fahrdauer wieder hinten rauskommen? Um zumindest einen Teil der Züge im Nirvana verschwinden zu lassen? Weißt du was da seeeehr hilfreiche wäre? Wenn die Portale einen Zeitfaktor bekämen. Also: Wenn Zeit > 0 dann erst komplett einfahren und nach Zeit wieder rauskommen? Damit könnte man an langen Strecken mal ebend die Gleise löschen und durch zwei Portale verbinden, mit der Zeitverzögerung ein Mini-Schattenbahnhof ohne Programmieraufwand :-)
  3. Die Struktur-Ansicht ist Aktiv! Ist genau wie bei Shift+Pfeil-Runter greifen beide, Struktur und 3D-View (Auch 2D etc etc), die Tastendrücke ab. Umgekehrt aber nicht, hat die 3D-View den Fokus wird ein Shift-Arrow nicht an die Struktur weiter gegeben. Könnte mir vorstellen das das jedem PopUp passiert, je nach Art des Ermitteln des Key-Hits passiert. Die Combox-Box für die Variation gibt die Tastendrücke nicht weiter, aber weiss welche eswürden? Btw: Wenn man sich mit Shift-Arrow in der aufgeklappten ComboBox bewegt ist das schnarchig langsam, da er die Variation an alle markierten Objekte sofort weiter gibt, da lohnt es sich mal das Event "OnCloseUp" anzusehen, also erst übernehmen wenn die ComboBox sich wieder schließt :-) Gruß, Kai
  4. Also, Gedanke ist alle Gleise vom Typ "XYZ" die Textur zu ändern. "Info zum Gleis" > ContentId kopiert und in der Struktur als Suchbegriff eingegeben, es werden 514/1156 Objekte angezeigt, das erste angeklickt, "Eigenschaften" zeigt korrekt an, Strg-Klick ein zweites, die Eigenschaften zeigen nur noch Variation und Tauschtextur an, dito bei 3.. 4.. 5.. soweit so gut... Bug 1: Strg+A für alle Objekte. Es werden scheinbar ALLE Objekte ausgewählt, auch die nicht im Filter sind, es bekommt zumindest alles in der Ansicht einen Markierungsrahmen, aber in der Struktur zeigt er 514 Objekte (883 ausgewählt) ???? Eigenschaften zeigt das keine Verfügbar sind. Bug 2: Da Strg+A nicht geht, erstes Objekt markiert und mit Umsch+Pfeil-Runter die Objekte in der Ansicht markieren, klappt gut, die Eigenschaften bleiben erhalten und die Anzahl der Ausgewählten steigt. ABER, alle Gleise werden parallel zum Markieren bei jedem Tastaturklick auch auf der Anlage verschoben :-( Bis ich das vorhin merkte, konnte ich meine Anlage nur durch "Nicht Speichern" retten. Gruß, Kai
  5. Guten Morgen, im Grunde tendiere ich dazu die Pinsel im Studio zu haben, sie sind mein Gedankengut und meine Art & Weise etwas zu bemalen, und die Dinger hätte ich gerne in jeder meiner Anlagen schnell und unkompliziert zur Verfügung. Und wer durch einen Crash alle MBS-Daten verloren hat, der hat auch seine Anlagen verloren :-) Dazu gibt es den Punkt Datensicherung, ich habe z.B. meinen MBS-Order ins OneDrive verschoben, nutze ihn gerade im Urlaub auf dem Notebook. Allerdings finde ich den Weg über die Community auch sehr reizvoll, gerade in Bezug auf Fragen "Wie hast du dies oder das angemalt?". Aber als Antwort "Lade Anlage XY und kopiere dir Pinsel AB heraus", nicht angenehm. Zumal dabei sichergestellt werden muss das in der Zielanlage die Textur vorhanden ist. Einen Pinsel im Katalog abzulegen, finde ich recht gut, aber irgendwie oversized, zumal der Pinsel beim importieren auch bei Bedarf die Textur mit laden müsste. Von dem Wust an Daten mal ganz abgesehen, irgendwann gibt es zu "Schottern" hunderte von Pinseln, was dann wiederum völlig sinnbefreit ist. Dahingehend klingt der Ansatz von Gmd ganz gut, aber über eine etwas aufgebohrte Struktur: Ein weiterer Filter "Werkzeuge", vlt. gibt es irgendwann noch etwas anderes als Pinsel. Es gibt ja "Kopieren/Einfügen", das aber in einem Untermenü "Datenaustausch" In die Zwischenablage kopieren Allerdings als JSON-String Mehrfachauswahl (JSON-Array) Als Datei speichern Dito JSON-String Mehrfachauswahl (JSON-Array) Kopieren/Speichern auch als Einfügen/Laden Bringt mit sich das ich jedes Objekt via Community an andere weitergeben kann. Als Datei oder einfach nur als JSON-String, Copy im MBS und Paste im Forum, vorzugsweise als "Code". Aber String ist String. Allerdings muss das Pinsel-Fenster ein wenig aufgebohrt werden. Wenn ein Pinsel eine Textur enthält, sei es ContentId oder Dateiname, muss diese automatisch geladen werden. Die Textur als Base64-Encoded Bitmap (JPeg, oder oder) mit dem Pinsel zu hinterlegen bläht das ganze wohl auf!?!? Weiß nicht ob es da bereits ein Limit gibt? Gruß, Kai
  6. Moin, vielen Dank für den Hinweis, das hat gut funktioniert. Das habe ich gemacht, damit auch andere was davon haben :-) Ein Zug/Fahrzeug betritt virtuelles Depot "Depot Reisenhofen" local target = $("Depot Blumenbach 1") if vehicle.variables[self.name] ~= nil then target = vehicle.variables[self.name] end $("ReleaseFromDepot"):invoke(target, vehicle) Ein benutzerdefiniertes Ereignis ReleaseFromDepot: Parameter target, vehicle (Beide Typ "Objekt") if not deferredCall then target:add(vehicle) defer(60, "Delay") elseif deferredCall == "Delay" then if target.count > 0 then target:release(0) end end Das mit dem wahlfreien Depot klappt natürlich nur, wenn die einfahrende Lok eine Variable (Depot Reisenhofen) hat die genauso heißt wie das Ereignis, damit self.name greift, und diese Variable vom Typ Objekt und auf das andere Depot zeigt. Gruß, Kai
  7. Da das so wie oben beschrieben funktioniert, wollte ich das Ereignis erweitern, und zwar kann eine Lok bei der Einfahrt in das Depot entscheiden wo sie rauskommen möchte, gelöst über eine Objekt-Variable zur Lok. if not deferredCall then if vehicle.variables[self.name] ~= nil then target = vehicle.variables[self.name] else target = $("Depot Blumenbach 1") end target:add(vehicle) defer(60, "Delay") elseif deferredCall == "Delay" then if target.count > 0 then target:release(0) end end Die Krux daran ist, das "target" global sein muss, sonst klappt das "release" nach 60s nicht. "target" kann aber auch nicht neu ermittelt werden, da im zweiten Aufruf die Variable "vehicle" nicht mehr bekannt ist. Zu Problemen würde das führen: Wenn während der 60s Wartezeit eine zweite Lok einfährt und "target" ändert. Der gleiche Code in einem anderen Depot verwendet wird. Gut, kann man mit einer anderen globalen Variablen lösen Jemand eine Idee dazu? Mfg, Kai Brendel
  8. Moin... Gerade mit Einrastfunktion und den Pinseln macht es sich echt gut, Gleise zu "schottern". Ich gehe erst mit einem 11px breiten weichen runden Pinsel mit am Pfad ausrichten und einer grauen Schottertextur über die Gleise, dann einen 6px mit anderer Rotbrauner Textur über die Gleise für den Rostabrieb des Betriebes. Weitere Pinsel mit/ohne einrasten für das Gelände und noch weitere für allmöglichen "immer wiederkehrenden" Malerarbeiten an der Platte... Es wäre seeeehr schön wenn man einen eingestellten Pinsel mit einer Benutzer definierten Bezeichnung speichern könnte. Bei der Pinselauswahl dann eine Combobox zur Auswahl und rechts daneben Save/Delete Buttons. Save sollte bei vorhandenem Caption überschreiben oder entsprechend neu Anlegen. Pinsel sollten überall verwendet werden können, ob bestimmte Einstellungen gerade verwendet werden könnten oder nicht. Damit meine ich das beim Malen die Textur mit am Pinsel hängt, dieser Pinsel auch für Geländeverformungen verwendet werden kann, dort die Textur aber einfach ignoriert... So, wie Grenze der Verformung nicht beim Malen interessiert...
  9. Moin... Ich habe immer wieder Ausnahmen wenn ich an Gleiskontakten arbeite, am meisten direkt nach dem einsetzen aus dem Katalog. Ich schreibe das hier, weil es mir leider noch nicht gelungen ist ein bestimmtes Verhalten/Exception reproduzierbar zu machen, das Übel aller Entwickler... @Neo Gibt es detailliertes (Debug) Logfile, das ich mal senden könnte wenn es auftritt? (Da gibt es zwar die Möglichkeit zu einem Online-Formular zu kommen, aber was hilft es wenn ich immer eines mit "Fehler beim Gleiskontakt" zu sende?) PS: Bin froh das es nur eine Meldung ist und ansonsten alle tutti bleibt... Gruß, Kai
  10. Hallo, da ich auch erst seit Kurzem dabei bin, kann ich dir nur empfehlen, kleine Aufgaben vor den Augen zu haben und versuchen diese zu lösen. Dazu eine kleine neue Anlage und nach der Aufgabe benennen. Dabei helfen dir die oben genannten Hinweise etwas zu finden was dich zu deiner Lösung bringt... Die Aufgaben sollten insbesondere darin bestehen, wie automatisiere ich auf einer Anlage etwas, zum Beispiel eine Lok im Kreis fahren lassen und in jeder Runde hält diese für Sekunden an einem Hauptsignal an. Dann sich die Fahrstraßen angucken und wie kann man zwei Züge fahren lassen, und auf zwei Gleisen im BHF stehen bleiben? Klingt irgendwie trivial, aber als absoluter Neuling in Sachen EV kann ziemlich frickelig werden :-) Gruß, Kai
  11. Danke für den Hinweis, das hat geklappt...
  12. Hallo Götz, deine Erklärung macht es nicht wirklich besser Habe mir gerade mal den "Ansatz" von OOP auf Lua.org (https://www.lua.org/pil/16.html) angesehen, das ist ja nicht mal wirklich OOP, mehr Structs/Unions/Records, mit Function Members, aber egal, LUA ist für das was es tun soll verdammt schnell, thats it...
  13. Moin... hatte es grundsätzlich richtig, mir war nur nicht bewusst das es bei Lua einen Punkt (.) und Doppelpunkt (:) gibt. Vor allem nicht das die damit Properties und Methods unterscheiden, kannte ich bisher so nicht... Gerade den Doppelpunkt kannte ich bisher nur von Inheritance...
  14. Schon mal Danke für die Anlage, werde ich mir später mal angucken. Manchmal sieht man den Wald ja vor lauter Bäumen nicht
  15. Moin, habe jetzt schon viel rum probiert mit Ereignissen und Lua, komme aber noch zu keinem Endergebnis... Zug fährt in Depot A ein Ereignis wird ausgelöst Zug wird nach Depot B verschoben Verzögerung z.B. 30s Zug fährt aus Depot B wieder aus Bis zu dem Punkt das der Zug nach Depot B verschoben wird, komme ich... Eine automatische, verzögerte Ausfahrt nicht. Grundsätzlich könnte man das ja auch mit Portalen lösen, möchte mir aber die langen Gleise für die Pause sparen, und wenn man dann mehrere Züge reinschickt, gibt das Stau in Blöcken davor/dahinter... Na ja, das wäre dann halt ein Schattenbahnhof mit Parallelgleisen, und genau das soll ja nicht :-) Gruß Kai
  16. In den "Ebenen" gibt es oben gezeigte Befehle. Wofür ist das und wie kann ich das nutzen, ist immer ausgegraut.. Gruß, Kai
  17. Hallo @Roter Brummer, hast du da schon was gemacht? Würde mich sehr über Licht an diesem Modell freuen
  18. Hallo Neo, schon klar, daher ja auch das "OnFocus" > STOP EV und erst nach "Speichern" > START EV... Oder bei einem "OnBeforeChange" kommt, ein STOP EV.. Oder alles auf Read-Only bis das man auf "Bearbeiten" geklickt hat... So hätte man wenigstens mal zwischen durch beim LUA Coding die Möglichkeit nach zuschauen, wie heißt jetzt nochmal dieses oder jene Objekt?
  19. Moin... da ich mit 3 Monitoren arbeite, habe ich mir die Fenster gelöst und auf die beiden äußeren Monitore gezogen, dieser Zustand wird auch wieder hergestellt, nur leider sind erstmal alle Fenster geschlossen, wäre nett wenn das wieder hergestellt würde :-) Ach ja, warum ist das EV-Fenster Modal? Wenn es den Focus bekommt, die EV anhalten und erst nach »Speichern« (anstelle von Schließen) die Änderungen übernehmen und die EV wieder starten... Ein Zusätzlicher »Verwerfen« Button wäre dann gut. Gruß, Kai
  20. Moin... Bin noch Anfänger und probiere gerade das zwei Züge A / B immer auf ein bestimmtes Gleis einfahren. A > Gleis 1 und B > Gleis 2. Habe das zur Zeit so gelöst: Signal 1 > Weiche (Gleis 1 / Gleis 2) > Signal 2 auf Gleis 1 und Signal 3 auf Gleis 2 2 Fahrstraßen Signal 1 > Signal 2 und Signal 1 > Signal 3 Gleiskontakt vor Signal 1 der beim Betreten über mehrere Bedingungen (Welche Lok) die richtige Fahrstraße wählt Der Gleiskontakt damit das Signal bereits oben ist wenn der Zug es erreicht Gibt es für sowas elegantere Lösungen? Die Bedingungen für den Gleiskontakt können ja durchaus viel werden!? Gruß, Kai
  21. Wenn ich mir deine ganzen geparkten Core's so anschaue, vlt. das ein Thema? https://www.lautenbacher.io/general/windows-10-core-parking-ausschalten/ (Gerade mal geschaut, MBS nutzt alle meine Kerne...)
  22. Hallo Atrus, hast du mal die CPU Ansicht des Taskmanager auf einzelne Core's umgeschaltet? Deine 8% beziehen sich auf alle Kerne, aber was nützt es wenn ein bestimmter Kern am Anschlag ist, und der Rest säuselt? Weiss nicht wie gut das MBS im Multihreading ist? Gruß, Kai
×
×
  • Neu erstellen...