Mission Manager

    • Alpha
    Gearbest Tablet-PC Promotion promotion
    • Mission Manager

      Deutsch
      Hallöchen zusammen!

      Der Thank-You-Patch ist ja mittlerweile erschienen.

      Tests mit der Möglichkeit, Missionsscript im freien Spiel zu verwenden, ergaben bei mir einen leicht säuerlichen Geschmack im Mund. Ich habe festgestellt, dass immer nur genau eine Mission von einem Mod gleichzeitig aktiv sein kann. Also nix mit 40 Mods, die alle jeweil eine eigene Aufgabe bereitstellen...

      Nunja. Dafür habe ich mich an den Mission Manager rangesetzt. Dieser dient als Basis-Missions-Mod, über den andere Mods (ich nenne diese Plugins) ihre Aufgaben ins Spiel schleusen können. Damit werden die 40+ Mods möglich :)

      Ich wollte schon mal euch drauf aufmerksam machen, dass an einer Lösung für oben beschriebenes Problem gearbeitet wird.

      Den aktuellen Entwicklungsstand gibt es in meinem Git-Repo: https://gitlab.com/transportfever_BR146/mission-manager
      Alternativ der direkte Download von Alpha v1.0-c: Download Alpha v1.0-c
      Dort ist neben dem MissionManager auch ein Plugin-Template enthalten.

      Eine Anleitung zur Verwendung und die Dokumentation ist hier zu finden: mission-manager.rtfd.io/de/latest/

      Wer mit dran werkeln möchte, sei es Code-Technisch*, Textlich oder Grafisch, kann dort seine Änderungen direkt als Merge-Request einreichen - oder einfach mir auch hier per PN schreiben. Gleiches gilt, wenn euch beim Testen etwas auffällt, sei es Bug oder ein Feature-Wunsch.

      Aktuell steht der Code noch unter der selben Lizenz wie die Webdisk. Sobald die erste stable-Version draußen ist, ist ein Übergang auf Creative Common cc-by-nc-sa angedacht. Zudem soll jede stable-Version auch auf Steam erscheinen.

      TODO

      • Anleitung
      • Beschreibung
      • API
      * Code-Technisch sollten die Basisfunktionen alle drin sein: Volle Unterstützung der Schnittstellen aus missionutil und TaskManager; Unterstützung von Medallien; Was fehlt? Schreibt's mir!
      English
      Hi folks!

      The Thank-You-Patch added a long-awaited feature to Transport Fever. No, I do not mean the reversing trains. Since now, you can attach mission scripts to free games. Sounds good, right? Well, in one game only exactly one mission script can be attached. Thus, two mission script mods can not be used simultaneously.

      The “solution”, well more a workaround, for this is the Mission Manager, shortly MiMa. It provides an interface to other mods through which the mission scripts of several mods are collected. The Mission Manager then hands them over to Transport Fever as one single big mission.

      The latest implementation can be downloaded on my git repository: https://gitlab.com/transportfever_BR146/mission-manager
      Alternatively, the direct download of Alpha v1.0-c: Download Alpha v1.0-c
      The download also provides a Plugin Template for the MissionManager.

      A user manual and the documentation is available here: mission-manager.rtfd.io/en/latest/

      If someone wants to make additions to code*, doc or images, please create a merge request or issue in the repo or simply message me here in the forum. Same applies to bug reports and feature requests.

      Currently, the mod is under the webdisk license. As soon as the first stable version is released, a transition to Creative Common cc-by-nc-sa is planned. In addition, each stable version will be released on Steam.

      TODO

      • Manual
      • Description
      • API
      * All mission interfaces should work as expected. Full support of the missionutil and TaskManager interface as well as medals. Is something missing?

      The post was edited 18 times, last by BR146: Updated to Alpha v1.0-c and documentation. ().

    • Hallo @BR146. Das ist ja mal eine tolle Idee! Mir persönlich fehlen ja Maps mit tollen Missionen.

      Mir als SW-Entwickler ist auch völlig klar warum, weil die Doku

      ja sehr knapp sind. Man muss immer in existierenden Code schauen, um zu verstehen was wie geht.

      Mal noch zwei Frage zum Schluss:
      • Du verwendet ja den MedalManager. Der ist noch nicht dokumentiert. Richtig?
      • Gibt es ein Flowchart der graphisch darlegt, wie dein MissionManager prinzipiell funktioniert?
      Ich glaube ich würde mal versuchen ein Plugin zu bauen, was eine Medallie für die erste Eisenbahnlinie vergibt. So als erweitertes Template. ;)

      Noch eine Verständnisfrage: Hast du eine Doku für den TaskManager und missionUtil irgendwo gefunden? Das sind doch Infrastrukturen sie man eventuell irgendwie braucht.
    • Hallöchen!

      Bis jetzt ist noch so gut wie nichts dokumentiert im Mission Manager, daher auch kein Flowchart. Bis jetzt habe ich nur die Dokuseite aufgesetzt: mission-manager.rtfd.io/de/develop/ Ich hoffe zumindest das Template hilft da bisschen weiter :D

      Um Ergänzungen bin ich immer Dankbar, also wenn du ein paar dokumentierende Worte dort hinzufügen willst, gerne mir einfach schreiben oder direkt per Merge Request ins Repo (gitlab.com/transportfever_br146/mission-manager).

      Der MedalManager stammt auch aus meiner Hand, auch hier noch keine Doku (/api/medals.html). Kurz zusammengefasst:
      • local medal = MedalManager:createMedal(name, description): Erzeugt Medaillie mit Titel "name" und Beschreibung "description".
      • task.addMedal(medal): Setzt Medallie als erledigt.

      momocat wrote:

      Hast du eine Doku für den TaskManager und missionUtil irgendwo gefunden?
      Nein, ich habe mich durch die Kampagnen und die Skripte dazu gewühlt um die Schnittstellen zu verstehen (res/Campaing/..., res/Scripts/TaskManager.lua, res/Scripts/missionUtil.lua).
    • BR146 wrote:

      Nein, ich habe mich durch die Kampagnen und die Skripte dazu gewühlt um die Schnittstellen zu verstehen (res/Campaing/..., res/Scripts/TaskManager.lua, res/Scripts/missionUtil.lua).
      Ich habe mich auch mal soeben nochmal durch die Dokus und andere Skripte gewühlt.

      Ich glaube bevor hier irgendjemand Missionen/MissionManagerPlugins baut, muss man erstmal erklären, was alles so möglich ist. Ich denke da an die findPath-Funktion aus transportfever.com/wiki/script…e.interface.html#findPath

      MIr juckt es eigentlich in den Fingern, die Original-Sourcen von Urban Games mal durchzugehen und die Funktionen zu beschreiben. Natürlich nur, falls das noch niemand gemacht hat. Ich glaube erst dann versteht man, was man an Missionen so bauen kann.

      Und wenn die Möglichkeiten den Mod-Autoren so bekannt sind, dann könnte man z.B. ein Plugin für ein Lok-Paket bauen nach folgenden Muster:
      • Erste Medallie fürs verwenden einer Lok.
      • Zweite Medallie für die Verwendung 50% aller verfügbarer Modelle/Baureihen
      • Medallie für die Verwendung aller Modelle/Baureihen
      oder Medallie fürs Transportieren von xxx Einheiten Ladung zu einer custom-Industrie.

      Mal sehen, ob ich Dir da mit der Doku zu Seite stehen kann/will. ;)
    • Ich habe jetzt nochmal verstärkt in die Missionen von UG geschaut.

      Ich habe auch eine Idee für eine kleine hübsche Mission. Ich schau malm ob ich deinen Mission Manager dazu verwenden kann.

      Idee: Auf der Tutorial Map den Verkehr auf der Brücke zählen und den Spieler via Busverkehr diesen Verkehr unter ein Limit bringen lassen. Simpel aber als erste Mission gut genug.

      Ich versuche ein offenes Repo bei der Entwicklung zu verwenden.
    • Nächster kleiner Schritt ist getan. Ich habe die Tutorial-Map in meine eigene Dummy-Mission eingebunden.

      1. Tutorial Map in die Saves kopieren
      2. Tutorial Map Laden und dabei den Missions-Mod hinzufügen
      3. Tutorial Map mit geladenem Missions-Mod wieder speichern
      4. Save mit Mod in die Kampagne kopieren


      Schritt 2 war irgendwie nicht intuitiv. Aber jetzt funktioniert die Mission.