marhei / TrainCompany-Data

Datensammlung für TrainCompany
https://TrainCompany.de
16 stars 23 forks source link

IC2 West-Ost #643

Closed DieLimoistschuld closed 2 years ago

DieLimoistschuld commented 2 years ago

Ich code das erste mal, sieht man wahrscheinlich :D Ich schau und lese mir das Morgen mal in Ruhe durch. Danke für die ausführlichen Verbesserungen :)

Michel Bretschneider @.***> schrieb am Mi., 17. Aug. 2022, 21:23:

@.**** commented on this pull request.

In TaskModel.json https://github.com/marhei/TrainCompany-Data/pull/643#discussion_r948315186 :

  • {

  • "group": 1,

  • "name": "IC von %s nach %s",

  • "service": 0,

  • "descriptions": [

  • "Der IC2 befördert Fahrgäste von West nach Ost.",

  • ],

  • {

  • "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

  • "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ]

  • { "name": "passengers" }

  • { "name": "bistroseats" }

+}

Warum failt das:

kurz/TL;DR: json-Format nicht eingehalten

etwas länger:

  1. "ein Stück zu tief", d.h. nicht auf der richtigen Ebene
  2. "Auftrag für sich"-Format mit "Auftragsbasis und 'erbenden' Aufträgen gemixt. (meine Schuld, hätte ich drauf achten sollen - ich hatte dir den Binz-ICE als Beispiel gegeben, der in den anderen ICE Aufträgen drin ist. Wenn man man einen "Auftrag für sich"/Einzelauftrag macht ist es etwas einfacher, weil die wesentlichen "Eigenschaften"/Properties/Felder dann alle auf der gleichen Ebene sind.)

Vor deinem Code sollte es so aussehen

      "service": 4,

      "descriptions": [

          "Pasažieru vilciens bittet dich einen Zug nach der Modernisierung zu testen. Dazu fährst du von %s nach %s.",

          "Nach intensiven Bauarbeiten wurde die Strecke fertiggestellt. Fahre zur Erprobung der Schienen zwischen %s und %s. ",

          "Die Bahnsteige in %1$s wurden gerade erhöht. Zur Erprobung wirst du gebeten eine Leistung zwischen %s und %s zu fahren."

      ],

      "stations": [ "🇱🇻GKL", "🇱🇻RIX" ],

      "pathSuggestion": [ "🇱🇻GKL", "🇱🇻ZMT", "🇱🇻RIX" ],

      "neededCapacity": [

          { "name": "passengers" }

      ]

  },

Beachte das Komma in der letzten Zeile, das war vorher nicht da - weil du aber einen weiteren Auftrag hinzufügst, wird es jetzt benötigt.

Dann kommt dein Auftrag, wenn man das in einen Einzelauftrag umschreibt würde es so aussehen: ⬇️ Suggested change

  • {

  • "group": 1,

  • "name": "IC von %s nach %s",

  • "service": 0,

  • "descriptions": [

  • "Der IC2 befördert Fahrgäste von West nach Ost.",

  • ],

  • {

  • "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

  • "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ]

  • { "name": "passengers" }

  • { "name": "bistroseats" }

-}

  • {

  • "group": 1,

  • "name": "IC von %s nach %s",

  • "service": 0,

  • "descriptions": [

  • "Der IC2 befördert Fahrgäste von West nach Ost."

  • ],

  • "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

  • "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ],

  • "neededCapacity": [

  • { "name": "passengers" },

  • { "name": "bistroseats" }

  • ]

  • }

Am Ende sollte dann die schließende ] für das Auftragsarry (heißt oben "data") und die schließende } für das Gesamtobjekt/die Datei stehen:

]

}

Sonstige fixes die ich oben gemacht hab:

  • die Kapazitätsanforderungen müssen innerhalb vom neededCapacity Array stehen
  • Nach dem ersten description-Text hattest du ein Komma - da danach aber kein weiterer description-Text kam, war das zu viel.

Wenn ich das so lokal mache, besteht er auch die Tests wieder.

Den Pfad https://traincompany.de/index.php?module=Game_Map&options%5Bstations%5D=RK-TPH-TV-TS-TH-TC-NAN-NN-NER-NBA-NLF-NK-US-UGW-UNM-LL&options%5BpathUnit%5D=RK-TPH-TV-TS-TKH-TH-TOE-TC-NSNE-NAN-NN-NER-NBA-NED-NHM-NK-US-UR-UGW-UPF-UGH-UKO-UNM-LL hattest schon getestet, wie ich sehe - so lang ohne typo bekommt man nicht auf Anhieb hin. 😁👍

In TaskModel.json https://github.com/marhei/TrainCompany-Data/pull/643#discussion_r948325071 :

  • {

  • "group": 1,

  • "name": "IC von %s nach %s",

  • "service": 0,

  • "descriptions": [

  • "Der IC2 befördert Fahrgäste von West nach Ost.",

  • ],

  • {

  • "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

  • "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ]

  • { "name": "passengers" }

  • { "name": "bistroseats" }

+}

Just for Info:

Wenn du später noch andere Strecken hinzufügen, aber der Rest genauso sein soll, kannst du einfache "Vererbung" nutzen (mehr geht nicht, für Sie getestet 😅)

Dazu läßt du alles was so bleiben soll1 <#m_1141356260998770373_user-content-fn-1-5714d3b85c2f0f95c2fa20e2636e7c77> auf der Ebene wie es jetzt ist, alles was der "erbende" definieren soll, ziehst du runter in ein neues object array und da kommt für jeden "Erben" ein eigenes "Objekt" (das sind die dinger die mit { anfangen und mit } aufhören.

Dann sähe dein bisheriger Auftrag so aus:

  {

      "group": 1,

      "name": "IC von %s nach %s",

      "service": 0,

      "descriptions": [

          "Der IC2 befördert Fahrgäste von West nach Ost."            

      ],

      "neededCapacity": [

          { "name": "passengers" },

          { "name": "bistroseats" }

      ],

      "objects": [

          {

              "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

              "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ]

          }

      ]

  }

Dann kannst du easy-peasy weitere gleichartige Aufträge einfach hinzufügen (z.B. Einen RK-TS Sprinter, der sonst nirgends hält):

  {

      "group": 1,

      "name": "IC von %s nach %s",

      "service": 0,

      "descriptions": [

          "Der IC2 befördert Fahrgäste von West nach Ost."            

      ],

      "neededCapacity": [

          { "name": "passengers" },

          { "name": "bistroseats" }

      ],

      "objects": [

          {

              "stations": [ "RK", "TPH", "TV", "TS", "TH", "TC", "NAN", "NN", "NER", "NBA", "NLF", "NK", "US", "UGW", "UNM", "LL" ],

              "pathSuggestion": [ "RK", "TPH", "TV", "TS", "TKH", "TH", "TOE", "TC", "NSNE", "NAN", "NN", "NER", "NBA", "NED", "NHM", "NK", "US", "UR", "UGW", "UPF", "UGH", "UKO", "UNM", "LL" ]

          },

          {

              "stations": [ "RK", "TS" ],

              "pathSuggestion": [ "RK", "TPH", "TV", "TS" ]

          }

      ]

  }

Footnotes

1.

Nur damit es technisch korrekt ist: Die könnte man auch im "erbenden Objekt" "überschreiben". ↩ <#m_1141356260998770373_user-content-fnref-1-5714d3b85c2f0f95c2fa20e2636e7c77>

— Reply to this email directly, view it on GitHub https://github.com/marhei/TrainCompany-Data/pull/643#pullrequestreview-1076259275, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2QXGTJZR4RECPEW6MGQVLDVZU3ZRANCNFSM56ZD72EA . You are receiving this because you authored the thread.Message ID: @.***>