Reverse-Engineering Kampagne/Mission

Willkommen in der Transport Fever Community

Wir begrüßen euch in der Fan-Community zu den Spielen Transport Fever und Train Fever, den Wirtschaftssimulatoren von Urban Games. Die Community steht euch kostenlos zur Verfügung damit ihr euch über das Spiel austauschen und informieren könnt. Wir pflegen hier einen freundlichen und sachlichen Umgang untereinander und unser Team steht euch in allen Fragen gerne beiseite.

 

Die Registrierung und Nutzung ist selbstverständlich kostenlos.

 

Wir wünschen euch viel Spaß und hoffen auf rege Beteiligung.

Das Team der Transport-Fever Community


  • Wie schon einmal angedeutet habe ich mich jetzt etwas näher mit den Files der Missionen beschäftigt.
    Hier sind meine derzeitigen Erkenntnisse:


    Als Vorwarnung für die ganzen lua Experten unter uns: Ich habe, bis auf ein kleines Programm für Minecraft OpenComputers, noch nie mit lua programmiert! Also nicht wundern wenn ich (anfangs) etwas länger brauche.


    Aber um zum Wichtigen zu kommen:


    Missionen bestehen aus einem Savegame, einer info.lua und einer script.lua.
    In der script.lua wird der Einleitungstext, ein Bild, das Savegame das gestartet werden soll, das script.lua mit der eigentlichen Mission, die Medaillen und das voiceOver festgelegt.


    Das Savegame ist wie der Name schon sagt ein wirkliches Savegame und kann auch als solches geladen werden. In diesem Savegame muss aber schon der Ort der Industrien festgelegt und die Gleisanlagen gebaut sein. Spezielle Gebäude für eine Mission liegen bei den Mods und sind auch im Savegame gespeichert, deshalb müssen Mods nicht für jede Mission extra festgelegt werden.
    By the way: Eigentlich müsste es auch möglich sein eine Mission mit Mods zu spielen, denn wenn man eine Mission über das Kampagnenmenü startet, speichert und auf Spiel lade geht, kann man den Spielstand als Kampagne auswählen und auch Mods hinzufügen. Das habe ich aber nicht ausprobiert, ist mir nur aufgefallen als ich versucht habe das Startsavegame der Kampagne zu laden.


    Und jetzt zum längsten Teil: Der script.lua.
    Ich nehme an dass ganz oben Befehle aus dem Ordner scripts geladen werden (zumindest in Java wäre das so)


    Code
    local TaskManager = require "TaskManager"
    local missionutil = require "missionutil"

    Dann geht es los mit dem Intro:
    local function makeIntroTask(taskParams, doneFn, label)
    Dann folgt eine local info mit Text und voiceOver.
    Und darunter kommt dann die Abfrage für den Zustand der Mission.


    Darunter ist dann jede Einzelaufgabe wieder eine local function nameDerMission mit local info wo wieder der geschriebene Text samt voiceOver zu finden ist.


    Das ist alles was ich jetzt fürs Erste habe (wenn ich das jetzt aufschreibe schaut das nach ziemlich wenig aus ;( ), ich hab zwar schon einige Ideen und vielleicht auch eine grobe Ahnung was einzelne Befehle machen, aber ich möchte jetzt nicht was falsches sagen.
    Ich selber werde jetzt dann eine kleine Testmission zusammenstellen und einzelne Befehle ausprobieren. Das wird aber noch etwas dauern da ich wieder Schularbeiten habe (Good morning!/Parlez vous francais?) und selber auch noch Missionen spielen mag...
    Außerdem soll ja bald die Moddingdokumentation von UG kommen und wenn da alle Befehle drinnen erklärt sind würde ich mir etwas dumm vorkommen.


    Falls sich jemand am "Code knacken" beteiligen möchte ist er dazu herzlichst eingeladen, aber eine kurze Rückmeldung wäre fein, damit nicht zwei an den selben Befehlen sitzen...



    Valentin


    P.S.: Ich beschäftige mich größtenteils mit der USA-Mission mit den Autos da ich die am simpelsten aufgebaut finde.

BlueBrixx