Beiträge von Scarlet

Discord Einladung
Trete unserem Discord-Server bei (klicke hier zum Beitreten).

    Immernoch jein. Bei z.B. Rangieraufgaben braucht jeder Spieler unterschiedlich lange um z.B. Güterwagen rumzuschieben. Wenn jetzt z.B. nach X Wagen die bereits rangiert wurden o.Ä. ein starker Regen einsetzen soll musste man bisher eher hoffen dass der Spieler in X Minuten fertig war, "dödelt" er länger herum als geplant regnet es bereits. Mit den Triggern kann der Aufgabenbauer den Regen genau dann starten lassen wann er es braucht und dann z.B. dem Spieler irgendwelche anderen Aufgaben geben. ("Oh nein, Zug XYZ nach Bad Kaffingen ist durch den heftigen Schneefall liegen geblieben, schwing deinen Hintern dahin Spieler!1eins1" ist witzlos wenn es noch nicht schneit da der Spieler zu schnell war.)


    Grüße

    Geht beides.
    Entweder ändere ich das Wetter fest einprogrammiert via Trigger oder ich frage zu irgendeinem Zeitpunkt einen Pseudozufallswert wie z.B. die Dauer der Simulation in Sekunden oder die Geschwindigkeit des Zuges ab und je nach Wert erscheint bzw. erzwingt das Script ein anderes Wetter. Oder man verwendet einen echten Zufallswert via "random".


    Grüße

    Zitat von ice

    Jetzt fehlt nur noch der eindeutige Nutzwert.

    Dynamische Wetteränderungen, Einführungsszenarien mit Schritt-für-Schritt-Anleitungen, "Kaltstart"-Szenarios, Loks automatisch aufrüsten und in Bewegung setzen, KI-Loks zum Pfeifen bringen, Ausfälle der PZB/LZB/SIFA/Signale simulieren, dynamisch Objekte aus/einblenden lassen, Popups mit Bildern welche z.B. in einer Ecke klein auftauchen können. Das geht alles bereits mit TS2013 und wird mit TS2014 schlicht einfacher. Reicht das fürs erste? :)


    Grüße

    Zitat

    Es wird ja gesagt (kann kein kroatisch) dass man dafür MSTS braucht, nur darauf habe ich keine Lust mir Speicherplatz wegnehmen zu lassen.

    Ohne den MSTS kann es aber nicht funktionieren. Der ShapeConverter greift auf die vom MSTS mitgelieferte "ffeditc_unicode.exe" zurück. Wenn es nur um den Speicherplatz geht: Installiere den MSTS und lösche im Anschluss alle Ordner und Dateien außer "UTILS". Gib dem ShapeConverter unter Settings den Ordner an, in welchem der MSTS installiert war und es sollte funktionieren. Theoretisch kannst du sogar noch alle Dateien unter "UTILS" außer dem Ordner "FFEDIT" löschen, dann verbrauchen die verbleibenden Dateien nichtmal ein MB.


    Grüße

    Moin Moin Zaunpfahl,


    danke für deine Antwort, du hast mir damit einige Stunden weiteres Testen mit dem HTML-Parser erspart. Das Szenario "One hundred" hatte ich zusammen mit anderen Szenarien von RSC wie "Unwelcome Interruption" bereits auseinandergenommen, trotzdem vielen Dank für den Hinweis! Daß es de facto keine Dokumentation für solche Szenarioscripts gibt hatte ich bereits aufgrund der lauen Informationslage sowohl hier als auch in anderen Foren wie UKTrainSim befürchtet. Auch RSC selbst war auf Nachfrage "verschlossen" bis "abwimmelndweisend".


    Wie auch immer, das erste Szenario (oben beschrieben) ist mit über 400 Zeilen Lua-Script fertig und ich kann mir die restlichen drei Fragen inzwischen selbst beantworten.

    Zitat

    1) Beim Aufgabenstart ist es nicht möglich die Scheibenwischer via Script einzuschalten. Alle Befehle an die Wischersteuerung ("Wipers") werden sofort "überschrieben", sie wischen genau einmal. Ich habe mir kurzfristig mit einem erst ~ 10 Minuten nach Aufgabenbeginn beginnenden sehr starken Regen beholfen, wäre aber über eine "echte" Lösung froh. Evtl. hat jemand bereits dieses Problem überwunden.

    Ist nicht möglich, einige (System-)Funktionen wie Pantograph, Türsteuerung u.Ä. lassen sich nicht aus anderen Scripten als dem der jeweiligen Lokomotive steuern.

    Zitat

    2) Die LZB schaltet sich nach so gut wie jedem Gleisabzweig (scheinbar durch die "LZB Start"-Links) wieder kurz ein. Auch wenn das Script sie sofort wieder abwürgt mutet es seltsam an (Lautes Buzzer-Geräusch, LZB-Lichter gehen an), vorallem bei laufender PZB. Gibt es neben "LZBEnable" eine weitere Möglichkeit die LZB komplett zu deaktivieren welche ich übersehen habe? Zumindest im InputMapper des ICE2 habe ich keine weiteren Schalter für die LZB gefunden.

    Lässt sich ebenfalls nicht verhindern, die "TestCondition"-Schleife des SzenarioScripts läuft scheinbar erst nach allen anderen Scriptschleifen an.

    Zitat

    4) Der in Railworks integrierte Lua-Interpreter versteht aus mir unbekannten Gründen auch die Funktion "loadlib". Zumindest theoretisch lassen sich damit scheinbar wirklich beliebige DLLs laden:

    Ja, das geht tatsächlich. Da RSC aber auf die absolut geniale Idee gekommen ist, den Lua-Interpreter nicht in eine DLL auszulagern kann diese Funktion jederzeit rausgepatcht werden und kann damit nicht wirklich verwendet werden bzw. ist absolut unbrauchbar. Zumindest ein ohrenbetäubendes "Zwannksbremmßunng" lässt sich damit aber abspielen. :ugly:


    Sollte der TS2014 keine Dokumentation oder gar Unterstützung von gescripteten Szenarien aus dem Editor heraus anbieten werde ich wohl ein bisschen was dazu hier niederschreiben damit andere sich diese reine "Trial'n'Error"-Arbeit ersparen können. Bis dahin werde ich wohl erstmal ein paar gescriptete Aufgaben bauen und weiter experimentieren. :)


    Nebenbei: Ich bräuchte einen Tester, welcher das ganz oben beschriebene Szenario einmal probespielen müsste. Vorallem die erste Hälfte des Szenarios ist doch sehr stark gescriptet (Wetter, "unvorhergesehene" Ereignisse, Geschwindigkeitsüberwachungen, Aufrüstung etc. pp.) und damit fehleranfälliger als ein "normales" Szenario. Sollte jemand Interesse, Lust und Zeit haben würde ich um eine kurze PN bitten. Voraussetzung wäre Hamburg - Hannover und das European Assets Pack.


    Grüße
    Manfred

    Moin,


    Zitat von fsclips

    Die andere Variante ist einfach am Anfang einen Text einzubauen der dem Spieler mitteilet "...dieser Zug ist auf xyzkm/h beschraenkt". Meiner Meinung nach die einfachste Variante. Wann immer ich ein Szenario mit einem Gueterzug gebaut habe, habe ich dies so gemacht. Nachteil hier ist natuerlich das im HUD nach wie vor die Streckengeschwindigkeit steht und somit die Versuchung gross ist schneller zu fahren.


    Zumindest vom Szenarienbauer lässt sich eine maximale Geschwindigkeit des Spielers auch wesentlich einfacher einscripten, auch wenn sich die angezeigte maximale Geschwindigkeit der LZB und des F4-Displays dabei nicht ändert. Beispiel:
    Der Spieler darf, aus welchen Gründen auch immer, maximal 40km/h fahren. Um den Spieler erst garnicht auf die Idee zu bringen schneller zu fahren kann man z.B. die AFB gegen Geschwindigkeitsvorgegeben > 40km/h sperren. Um sicher zu sein, dass der Spieler wirklich nicht schneller fährt kann man auch z.B. bei ~ 45km/h eine Zwangsbremsung bis zum Stillstand auslösen. Script zu diesem Beispiel:



    Speichere obriges Script im RailWorks-Ordner als ScenarioScript.lua, springe einen Ordner hinauf, klicke mit SHIFT + Klick auf den RailWorks-Ordner, klicke auf "Kommandozeileneingabe ausführen" (Oder ähnlich, ich kann das nicht an einem deutsches Windows nachprüfen) und gebe folgendes ein:


    Code
    luac.exe -o ScenarioScript.luac ScenarioScript.lua


    Bestätige den Befehl mit Enter und kopiere die nun entstandene "ScenarioScript.luac" in den Ordner deines Szenarios. Erstelle eine Datei namens "ScenarioScript.luac.MD5" mit dem MD5-Hash der "ScenarioScript.luac" und speichere Sie ebenfalls in dem SzenarioOrdner ab. Erstelle im Editor zwei Trigger, einen am Anfang der Beschränkung und einen am Ende. Öffne die "Scenario.bin" mit z.B. RWTools und suche nach den folgenden Zeilen:


    Code
    <SuccessEvent d:type="cDeltaString"></SuccessEvent>


    Füge am ersten zwischen beiden Brackets (<> & </>) "aanvang" und am letzten "einde" ein. Speichere die "Scenario.bin" und teste das Szenario. Obrigens Script funktioniert getestet mit ICE2, ICE3 und BR101, für andere Loks müsste man es etwas anpassen.


    Grüße
    Manfred

    Moin,


    ein stiller Mitleser meldet sich zu Wort, leider gleich mit mehreren Fragen, Pardon im Voraus für diesen suboptimalen Einstieg ins Forum.
    In Railworks können Szenarios ja durch Lua-Script erweitert werden. Ich finde diese Möglichkeiten hochinteressant, schon alleine aufgrund der netten HTML-Hinweisboxen mit Bildern und formatierten Text. Im Netz und den Handbüchern findet man leider kaum Informationen zu den einzelnen Funktionen und ihren Parametern welche z.B. RSC in einigen seiner Szenarios verwendet. Insofern wende ich mich jetzt an euch, in der Hoffnung einige Hinweise zu bekommen. Zum konkreten Testszenario:


    Der Spieler startet vor einem ESig in Hannover Hbf und soll einen ICE(2) nach Hamburg Hbf steuern. Da es wenig Sinn ergeben würde, mit einem "abgerüsteten" Zug vor einem (roten) Einfahrtssignal zu starten, startet das Szenario mit einer kleinen 15 Sekündigen Kamerafahrt und einem kurzen Einweisungstext (Sinngemäß "Fahr nach Hannover, kuppel den hinteren Zugteil des ICE 2 ab und fahr nach Hamburg"). Während der Spieler den Text liest und die "Entschleunigung" durch die Kinokamera "genießt", rüstet das Script den Zug auf (Richtungswender nach vorne, AFB auf 40km/h, Führerstandslicht an, PZB & "Vigil" aka SIFA an) und setzt den Spieler nach ca. 15 Sekunden in den Führerstand. In Hannover bekommt der Spieler noch einen (bebilderten) Hinweis dass und wie er den ICE 2 flügeln/entkuppeln muss.
    Während der Spieler nun seinen Halbzug nach Hamburg-Harburg karrt, fällt der LZB-Rechner beim Tempo 180km/h - 200km/h "aus" inkl. Zwangsbremsung auf offener Strecke. Dazu schaltet das Script schlicht die LZB aus und aktiviert die Notbremse.
    Der Spieler muss nun bis zum nächsten Hauptsignal seinen Zugverband mit 40km/h und danach bis kurz hinter Celle mit maximal 160km/h VMax fahren. Dazu nutze (und missbrauche?) ich im Moment "TestCondition" und prüfe im gleichen Rutsch ob die LZB wieder eingeschaltet wurde. Nach Celle schaltet sich die LZB wieder ein, es folgt eine (ungescriptete) fliegende Überholung eines Güterzuges und der Spieler kann ohne weitere Vorkommnisse mit 200km/h die Fahrt bis Hamburg Hbf abschließen. Sollte der Spieler mit PZB und/oder SIFA gefahren sein erhält er zusätzlich eine kleine "Herzlichen Glückwunsch"-Meldung.


    Da ich beruflich mit der Eisenbahn soviel zu tun habe wie eine Wüste mit Wasserüberfluss ist das oben genannte Verfahren bei LZB-Rechnerausfall vermutlich falsch. Wie auch immer, das meiste des oben beschriebenen funktioniert bereits, allerdings ergaben sich folgende Probleme bzw. Fragen:


    1) Beim Aufgabenstart ist es nicht möglich die Scheibenwischer via Script einzuschalten. Alle Befehle an die Wischersteuerung ("Wipers") werden sofort "überschrieben", sie wischen genau einmal. Ich habe mir kurzfristig mit einem erst ~ 10 Minuten nach Aufgabenbeginn beginnenden sehr starken Regen beholfen, wäre aber über eine "echte" Lösung froh. Evtl. hat jemand bereits dieses Problem überwunden.
    2) Die LZB schaltet sich nach so gut wie jedem Gleisabzweig (scheinbar durch die "LZB Start"-Links) wieder kurz ein. Auch wenn das Script sie sofort wieder abwürgt mutet es seltsam an (Lautes Buzzer-Geräusch, LZB-Lichter gehen an), vorallem bei laufender PZB. Gibt es neben "LZBEnable" eine weitere Möglichkeit die LZB komplett zu deaktivieren welche ich übersehen habe? Zumindest im InputMapper des ICE2 habe ich keine weiteren Schalter für die LZB gefunden.
    3) Gibt es irgendwo eine Dokumentation über die Möglichkeiten des HTML-Parsers von Railworks bzw. hat sich jemand schon damit beschäftigt? Der scheint mir eine "lustige" Mischung zwischen HTML1-Standard und einer Eigenproduktion von RSC aus. Links in einer Hinweisbox z.B. werden zwar blau unterstrichen, sind aber nicht anklickbar. CSS funktioniert garnicht, JavaScript wird scheinbar irgendwie gefressen, erzeugt aber einen SBH. Ich hatte ja gehofft RSC würde schlicht den Internet Explorer nutzen, ist leider nicht so.
    4) Der in Railworks integrierte Lua-Interpreter versteht aus mir unbekannten Gründen auch die Funktion "loadlib". Zumindest theoretisch lassen sich damit scheinbar wirklich beliebige DLLs laden:



    Ist der Lua-Interpreter eine RSC-Eigenentwicklung? :ugly: Nee, im Ernst: Hat irgendjemand mit dieser Option bereits Experimentiert und oder Erfolge erzielt? Mit anderen Compilereinstellungen funktionierte es dann doch leidlich, ich frage mich was man damit wohl sinnvoll anstellen könnte... Hat jemand Ideen?


    Grüße
    Manfred