Lok lässt nicht mehr bedienen/ Lua Script

  • Hallo,

    ich wollte bei der E03 von virtual railroads, die E03 003 so "umbauen" damit diese 280 Km/h fährt, sowie die echte die damals bei Systemtechnik gelaufen ist. Ich hatte schon mal vor ein paar Jahren das Projekt angefangen, hab aber auch schnell wieder aufgehört da ich die Scriptdateien nicht entschlüssen konnte, diese sind als .out datei gespeichert so konnte ich die LZB-Werte nicht anpassen. Das die Lok 280 fahren kann ist ja weniger das Problem, ich habe auch schon die Tachotexturen geändert nur die LZB war noch auf 200 Km/h begrenzt. Mir ist es nun gelungen die .out dateien zu dekomprimieren und die .lua dateien zu bearbeiten, allerdings kann ich den ganzen Prozess nicht mehr umkehrt machen bzw. weiß ich nicht wie ich dies anstellen soll. Wenn ich die Lua-Datei anstelle der komprimierten out-datei einsetze lädt zwar die Lok, aber ich kann nichts mehr bedienen, die Lok lässt sich garnicht mehr aufrüsten und alle Leuchtmelder leuchten, bei der LZB Zielgeschwindigkeit steht 91 Km/h.

    Weiß jemand wo da das Problem liegt bzw. wie kann ich die .lua datei zurück zu einer .out datei komprimieren. Ich habe an der Steuerung von der Lok selber garnichts geändert nur in dem Script von der LZB.

    Wenn mir jemand helfen könnte wäre ich sehr dankbar

    • Best Answer

    Sorry Cotten Eye Joe , aber du hast Unrecht. Der TS kann schon immer auch pure .lua Dateien, also unkompiliertes Lua Script, als auch .luac (und .out), also kompiliertes Lua Script verwenden. Entscheidend ist nur, dass man, wenn man eine .lua verwenden will, keine .out mit dem selben Namen im Verzeichnis liegen darf, da der TS .out bevorzugt. Außerdem darf die ,lua nicht kompiliert sein, sondern muss reinen ASCII Text enhalten. Kompiliert geht es nur mit .luac für Szenarien und .out für den Rest.


    ICE_X , was du vorhast, wird nicht funktionieren. Vorkompilierte Lua Scripte kann man nicht einfach dekompilieren. Das Ergebnis ist nicht mehr nutzbar, da beim kompilieren von Lua Code auch die Struktur verloren geht und beim dekompilieren dadurch nur wirrer Salat entsteht. Was die Decompiler machen ist den Bytecode zu lesen und zurückübersetzen in Lua Sourcecode Text. Das ist nett, um drin zu lesen, aber das Script wird nicht funktionieren wenn man es wieder kompiliert (auch wenn man es nicht kompiliert, kann der TS damit nichts anfangen). Deine Änderung kannst du so nicht vornehmen.

  • ICE_X im Grunde sollte auch eine .lua Datei akzeptiert werden, bin aber nicht sicher ob diese Dekompilierer wirklich alles sauber dekompilieren können. Du kannst es mit dem Blueprinteditor versuchen, der kompiliert das beim Export. Gut möglich dass man da sogar auch den Szenarioeditor für missbrauchen kann - Code als Scenarioscript importieren, da hat es dann einen Compile Button. Dann das Script aus dem Scenario ans Ziel kopieren.

    Edited once, last by Thor: Rechtschreibung ().

  • Cotten Eye Joe Korrekt, aber dazu muss ich das nicht in .lua umbenennen. Gibt genug was nur .lua mitbringt und auch funktioniert.

    Was ich nicht weiss, wenn in einem der anderen Scripts gezielt ein anderes .out Script aufgerufen wird, ob dann eine .lua funktioniert. Da mag das umbenennen in diesem Fall in der Tat die Lösung sein.

  • Thor - ich weiß nicht, was du eigentlich willst? Der TS20XX kann die Dateiendung LUA nicht einlesen, deswegen muss diese Endung IMMER OUT heißen. Ob die Skriptdatei dabei kompiliert ist oder auch nicht spielt somit erstmal keine Rolle für das Funktionieren.
    Komisch nur, dass ich so schon realisiert habe, will sagen, Erfahrung habe ich mit dieser Materie schon gemacht.


    Gruß

  • Cotten Eye Joe Aha - und wie funktionieren dann z.B. die Scripts in den Britkits Addons, welche nur .LUA mit sich bringen?

    Kannst ja mal ein FreewarePack von dort laden, da sind keine .out dabei. Vermutlich funktionieren die dann gar nicht?

    Aber egal, wirst schon recht haben :)

  • Thor verstehe immer noch nicht was du mit deinen (sinnlosen?) Beiträgen hier im Thread bezwecken möchtest! In den Engine.bin ist eine Lua Skriptdatei als Verweis eingetragen ohne Endung jedoch.


    Hier mal als ein Beispiel, damit man sehen kann, wie es aussieht:


    <ScriptComponent>

    <cScriptComponentBlueprint>

    <Name d:type="cDeltaString">RSC\BR145Pack01\RailVehicles\Electric\BR145\Scripts\DB146 Engine Script</Name>

    </cScriptComponentBlueprint>

    </ScriptComponent>


    Also keine Endung vorhanden, funktioniert jedoch nur, wenn diese Datei in diesem angegebenen Verzeichnis als OUT abgelegt ist. Sollte dann so aussehen:


    RSC\BR145Pack01\RailVehicles\Electric\BR145\Scripts\DB146 Engine Script.out


    Benennt man nun jedoch diese Datei als *.lua stürzt der TS beim Laden zwar nicht ab, aber die Lok lässt sich nicht bedienen.


    Gruß

    • Best Answer

    Sorry Cotten Eye Joe , aber du hast Unrecht. Der TS kann schon immer auch pure .lua Dateien, also unkompiliertes Lua Script, als auch .luac (und .out), also kompiliertes Lua Script verwenden. Entscheidend ist nur, dass man, wenn man eine .lua verwenden will, keine .out mit dem selben Namen im Verzeichnis liegen darf, da der TS .out bevorzugt. Außerdem darf die ,lua nicht kompiliert sein, sondern muss reinen ASCII Text enhalten. Kompiliert geht es nur mit .luac für Szenarien und .out für den Rest.


    ICE_X , was du vorhast, wird nicht funktionieren. Vorkompilierte Lua Scripte kann man nicht einfach dekompilieren. Das Ergebnis ist nicht mehr nutzbar, da beim kompilieren von Lua Code auch die Struktur verloren geht und beim dekompilieren dadurch nur wirrer Salat entsteht. Was die Decompiler machen ist den Bytecode zu lesen und zurückübersetzen in Lua Sourcecode Text. Das ist nett, um drin zu lesen, aber das Script wird nicht funktionieren wenn man es wieder kompiliert (auch wenn man es nicht kompiliert, kann der TS damit nichts anfangen). Deine Änderung kannst du so nicht vornehmen.

  • Hm, geht mir gar nicht um Recht haben oder nicht. OK, bei mir hat das so nicht funktioniert, wenn die Endung auf LUA lautete, muss ich wohl irgend etwas nicht beachtet haben. Zumindest bin ich mir ziemlich sicher, dass keine gleichnamige OUT Datei im gleichem Verzeichnis war - wie weiter oben schon vermerkt, LUA als Endung hat einfach die Mitarbeit verweigert, während unkompilierte OUT gut funktioniert.


    Gruß