Überarbeitete Version des Krone Swadro 2000 von @'XYZSPAIN'

    • Überarbeitete Version des Krone Swadro 2000 von @'XYZSPAIN'

      Hallo zusammen,


      ich habe den "Krone Swadro 2000" von @XYZSPAIN, etwas angepasst so dass das Spiel nun nicht mehr abstürzt wenn er geöffnet wird.
      Der Schwader ist jetzt ganz normal nutzbar und hat dank seiner großen Arbeitsbreite eine gewaltige Schlagkraft.

      hier sind die wld und die xml Datei. Einfach den Mod aus Modhoster laden und die beiden Dateien ersetzten.
      "Documents\My Games\Cattle and Crops\Mods\krone\swadro\2000.wld"
      "Documents\My Games\Cattle and Crops\Mods\krone\swadro\2000.xml"

      swadro wld und xml .zip


      Was funktioniert noch nicht?

      !!!
      Bei Helfer-/Aufgabenarbeiten ist es immer noch notwendig, dass man manuell, über das Radialmenü kurz nach Arbeitsbeginn, den Schwader ganz aufmacht und eventuell absenkt.
      !!!

      Viele Grüße
      wallsingham

      Images
      • CnC_Krone Swadro_2000 (1).png

        5.99 MB, 2,560×1,440, viewed 62 times

      The post was edited 2 times, last by wallsingham ().

    • Nachtfalke wrote:

      @wallsingham
      Kannst du vielleicht kurz sagen, so das Problem lag. Er ging ja laden aber beim Ausklappen stürzte es dann meine ich ab.

      Jetzt geht er ausklappen, aber die KI arbeitet nicht korrekt. Was hast du geändert, ggf kann man dann ableiten, was für die KI Funktion fehlt.

      Es klingt auch ein bisschen ähnlich, aber nur etwas, was mit dem Düngerstreuer mit der KI nicht klappt.
      In der xml habe ich die Arbeitsbreite und den trackStartOffset geändert

      Vorher Nachher
      <workWidth type="manual" value="12.0" /> <workWidth type="manual" value="20.0" />
      <trackStartOffset value="-10" /> <trackStartOffset value="4" />


      In der wld war es nach vielen Versuchen das Entfernen eines einziges Häckchen welches das Absturzproblem gelösst hat.
      Die Useractions in der Mod sind aber noch nicht einwandfrei. Die KI denkt nachwievor dass es nur bis zur Arbeitsbreite 12m ausklappen soll.
      Auch das initiale Ausklappen geht nur bis 12m und dann muss es per Hand über's Radialmenü oder X-Taste auf die volle Breite entfaltet werden.
      Ich denke jemand der Ahnung von den Scripten hat, wird es schon hinbekommen. Ich habe es noch nicht gechaft. Für mich ist es so aber auch sehr gut nutzbar. Wenn es es einmal ausgeklappt ist funktioniert alles wie es soll.



      In der wld habe ich ebenfalls die Fruchtarten etwas angepasst. Das wurde bei jedem Cuttingcontroller gemacht.

    • Hallo,

      ich habe es nun schon mal hinbekommen, dass man in einem Task/Aufgabe angeben kann, ob 12m oder 20m Arbeitsbreite. Die KI fährt dann auch entsprechend aufs Feld.

      Allerdings klappt es nur auf die 12m aus, was verständlich ist, denn man muss dem "handle_extrudeCollapse" Script sagen, ob es 12m oder 20m nutzen soll. XYZspain hat das alles zu Zeiten implementiert, da konnte das CNC noch gar nicht. Das kam erst mit der Damann Feldspritze hinzu.

      Die Implementierung sind ziemlich verschieden. Bei xyzspain gibt es irgendwie einen "toggle", von 0.0, 0.25, 0.5, 0.75, 0.0, wobei 0.25 und 0.75 jeweils 12m bedeuten, 0.5 20m und 0.0 dann zusammengeklappt/transport.

      Irgendwie muss man nun erstmal auslesen "HasTask" und wenn ja "Field Work: Work Width" und basieren darauf muss man dann 0.25/0.75 oder 0.5 wählen, kann aber aber glaube ich nicht direkt setzen, denn der Swadro könnte noch auf der Straße fahren, folglich zwar einen Task haben, aber noch nicht aktiv arbeiten.

      Auch muss man prüfen, glaube ich "isFromSavegame" um zu schauen, ob es geladen wurde und dann schauen, ob er auf dem Feld ist oder nicht.

      Alles noch nicht wirklich klar für mich, weiß auch nicht, ob ich es hinbekomme.


      Jedenfalls habe ich die 2000.xml um diese Zeilen erweitert:
      <workWidth type="manual" value="12,20" default="20" /> ### >>> HINWEIS: 12,20 ist eine Aufzählung der Weiten 12m,20m und nicht versehentlch ein Komma statt eines Punkts
      <fertilizerSpreadRate valueMin="0" valueMax="0" valueStepSize="0" default="0" /> ###>>>> habe ich alles auf 0 gesetzt, da ich dachte, man muss es ggf definiert haben.

      Und in der .wld habe ich die scripte "handle_workWidth" und "handle_spreadRate" eingefügt und "handle_TaskStartEnd", an den "proxy" verbunden und das wars. Weiß nicht ob das nötig ist, damit es im Task Menü angezeigt wird oder nicht, ich habs halt gemacht.



      krone_swadro_Nachtfalke_v01.zip
      drive.google.com/file/d/1sv730…L9OPgLt3/view?usp=sharing


      Mit dem verlinkten Mod sollte es nun erstmal möglich sein die neuen CNC-Gameplay-Mod Früchte Haferstroh und Rapsstroh zu schwaden, es sollte möglich sein die KI in einem Task auf 12m oder 20m einzustellen. Wenn man sie auf 20m einstellt, muss man, sobald die KI am Feld angekommen ist und ausgeklappt hat, nochmals weiter ausklappen auf 20m, danach sollte es klappen.


    • @Nachtfalke tolle Sache. Danke schön! :thumbsup:
      Ich hatte probiert das Extrudescript so einzustellen dass er direkt auf 0.5,springt, also auf die volle Arbeitsbreite. Leider war das Ergebnis nichtwirklich gut. Er ging dann zwar auf die volle Breite aber die KI legte nichtlos. Der Status sprang wahrscheinlich nicht auf "bereit". DerReiz des Geräts liegt eigentlich in dieser enormen Arbeitsbreite. Was ich nochnicht probiert habe, ist "standard-Scripte" anstatt der originalen zuverwenden, die beim Extrudebefehl gleich auf die volle Breite gehen.
      Es gibt übrigens noch eine andere einstellbare Breite beim diesemSwadro-Mod; Die Schwadbreite.
    • ich habe gerade noch folgendes beobachte und kann es nicht ganz interpretieren.

      In diesem Konsolenausschnitt wird doch eigentlich behauptet dass der Schwader voll ausgefahren sei 0.5. er ist es aber nicht! Womöglich ist die Zustandsauswertung im Script das Problem! Ich bin hier noch nicht mit deiner @Nachtfalke Version unterwegt sondern noch mit der wld/xml die ich davor hochgeladen hatte.
      2022-10-16 15:40:22 INFO : SCRIPT DBG from 'swadro/2000' on 'handle_extrudeCollapse': -- extrudeOption (after)
      2022-10-16 15:40:22 DEBUG : SetMachineState[ 8 ] name = 'extrudeOption', value = 0.500000, duration = 0
      2022-10-16 15:40:22 DEBUG : SetMachineState[ 8 ] name = 'extr', value = 0.000000, duration = 0
      2022-10-16 15:40:22 DEBUG : SetMachineState[ 8 ] name = 'grtp', value = 0.000000, duration = 0
      2022-10-16 15:40:25 DEBUG : SetMachineState[ 8 ] name = 'is_folded_out', value = 0.500000, duration = 0
    • Diese debug prints sind mir ich icht so ganz klar. Xyzspain führt vieles in einem Script parallel aus, auch debugs und nicht alle aneinander gereiht.

      Ich weiß also nicht, was zuerst und was zuletzt kommt. Ich müsste das nochmal, um es annähernd zu verstehen, serialisieren.

      Wegen der Schwadbreite, habe ich auch gesehen, denke da haben wir keine Option im Task, zwei breiten zu definieren. Ggf muss man workWidth2 in der XML definieren, glaube nicht daß es klappt.

      Ggf macht man bei 12m eine kleine Schwadbreite und bei 20m dann eine große Schwadbreite.

      Aber das sind alles Spielereien, die man machen kann, wenn man es verstanden hat ;)

      PS:
      Du hast "concurrent runs" abgeschaltet. Ich habe es an gelassen und stattdessen unten drunter "unique concurrent initiators". Das kann aber Ur ein workaround sein, denn ich denke dass manches nicht klappt, weil es nicht mehrmals ausgeführt werden kann.
    • Nachtfalke wrote:


      PS:
      Du hast "concurrent runs" abgeschaltet. Ich habe es an gelassen und stattdessen unten drunter "unique concurrent initiators". Das kann aber Ur ein workaround sein, denn ich denke dass manches nicht klappt, weil es nicht mehrmals ausgeführt werden kann.
      Ja damit der Absturz auch gefixt. Der Schwader wird dadurch aber trotzdem noch nicht vollständig ausgefahren. Also geht die Suche weiter... :)
    • Hallo

      also um die Arbeitsbreite oder Düngerate im Task Menü zu haben, muss man lediglich die XML Datei erweitern, dann wird das dort angezeigt und die KI versteht es auch, d.h. sie fährt die Bahnen in der Breite wie dort angegeben.

      Ich habe es nun hinbekommen, das im "handle_extrudeCollapse" Script, dass er prüft, ob ein Task vorhanden ist und wenn ja, ob 12m oder 20m eingestellt sind. Dementsprechend fährt er sich nun ganz oder nur halb aus.

      Problem ist, dass die KI dann auf dem Feld steht, aber nicht zu arbeiten beginnt. xyzspain hat dazu auch nichts in seinem Script definiert, er sagt eigentlich nur, wie weit es sich ausfahren soll und welche Optionen im Radialmenü an/aus oder gesperrt sind. Leider sperrt er alles, so dass man der KI nicht einmal beim Absenken und starten helfen könnte.

      Ich frage mich, ob die KI überhaupt schon mal alleine damit gearbeitet hat ... ich will (und kann) nicht alles neu schreiben. Ich hatte gehofft, irgendwo lediglich ein Script zu verlinken oder zu starten und dann geht es von alleine.

      Wie dem auch sein, im "handle_extrudeCollapse" Script habe ich meine Ergänzungen hellblau markiert.


      Hier meine aktualisierte Version:
      krone_swadro_Nachtfalke_v02.zip
      drive.google.com/file/d/1BdPYz…HwfL5SNb/view?usp=sharing
    • Hallo,

      da wollte ich mich doch gerade aufs Ohr hauen und da fiel mir noch etwas ein, was ich probieren wollte.
      xyzspain arbeitet das in diesem Fall seriell ab. Es ist nicht möglich, aus Transport direkt auf 20m (voll ausgeklappt) zu gehen, sondern man muss erst halb ausklappen, denn da werden verschiedene Dinge vorbereitet und dann kann man in die Schleife mit voll ausgeklappt gehen.

      Nun startet die KI auch mit 20m.

      Allerdings finde ich die "TrackOffset" Werte, die gesetzt sind, nicht ideal. auch muss man ggf mal den "minTurningRadius" etwas anpassen.
      Auch muss man nochmal schauen, ob 12m und 20m wirklich die Breite sind, die auch die "Cutting Controller" im Editor auseinander sind, oder ob man das anpassen muss. Blieb nämlich etwas bei mir am Rand liegen.


      Eben konnte ich zumindest Feld #13 mit 20m schwaden und er klappte sich auf und zu.

      v03
      drive.google.com/file/d/1snsTQ…hW56aRsL/view?usp=sharing
    • Hallo,

      ich habe nun mal ein Feld geschwadet bzw. die KI schwaden lassen. Das klappt mit der Angabe der 20m im Task.
      Problem ist, wenn das Spiel geladen wird, dann klappt sich erst alles wieder aus - startet aber nicht - und vor allem fährt die KI die ganze Zeit weiter.
      Es ist nun also auf jeden Fall noch das Problem zu lösen, dass die KI auch nach dem laden eines Spielstandes weiter arbeiten muss.


      Nebenbei kam mir eine andere Idee - wenn es so einfach ist Arbeitsbreiten in einem Task zu definieren, nämlich ich kann nun auch einer Ballenpresse oder einem Ladewagen eine Arbeitsbreite mitgeben. Ich habe auch die Ballenpresse so definiert, dass Sie in einem Task verwendet werden darf (vorher: "Keine gültige Maschine" bei der Taskerstellung).

      Nun definiere ich bei der Ballenpresse die gleiche Feldeinfahrt wie der Schwader zuvor und definiere die gleiche Arbeitsbreite von 20m, wie zuvor der Schwader und dann fährt die KI die Ballenpresse auf das Feld und beginnt nahezu exakt an der gleichen Stelle wo der Schwad liegt.

      Wenn ich nun theoretisch der Ballenpresse alle Arbeitsbreiten definiere, die die KI mit Schwadern fahren kann, dann kann die KI auch diese Felder fast vollständig alleine schwaden - abgesehen davon, es liegen Ballen im Weg oder sowas.





      Leider ist die Ballenpresse nicht für KI Tätigkeiten vorbereitet, d.h. die Scripte passen nicht und sie klappt sich nicht aus etc.
      Das muss ich mir nochmal anschauen.

      PS:
      Es sind so viele Ballen auf dem Feld, weil das Feld sehr viel Gras hat durch "setAcre 3 seed fieldgrass 12" und der Swadro natürlich undheimlich viel Schwad auf einen Haufen wird.
    • WOW. Also praktisch wie Weihnachten und Ostern zusammen. Bin begeistert und froh!!! :D :thumbsup: :thumbsup: :thumbsup:
      Das mit der Presse ist auch keine schlechte Idee. Wobei ein grosser Pluspunkt von diesem Spiel, auch die Tatsache ist, dass manches halt "gemütlich" selbst gefahren werden muss.
      Wenn die Tasks beim Schwader nach einem Spielneustart nicht sofort funktionsfähig sind, ist es eventuell auch zu verkraften. Er schaft in kürzeste Zeit auch die grösten Felder. Also wartet man halt die paar Minuten noch.
    • Ich habe es gerde noch mal getestet. Es funktioniert perfekt!
      Lediglich beim ladern eines Savegames gibt es noch Verbesserungspotential. Aktuell würde ich sagen ist es besser man lässt die KI fertig werden und es scheint mir acuh so dass wenn er mitten bei der Arbeit vom savagame erwischt wird, dann am besten ein kompletes Reload des Schwaders vor den nächsten Aufgabe notwendig ist.
    • Hallo,

      ich habe mir mal die Claas Quadrant vorgenommen, weil es mich einfach interessiert hatte, und für einen "Feldbearbeitungstask" überarbeitet.
      Dazu musste ich u.a. konfigurieren, dass die Pickup nicht verstopfen kann, wenn es von der KI gesteuert wird, da die KI die Pickup nicht entleeren kann. An einer anderen Stelle schien in Fehler im Script des Vannila Games zu sein, denn da schrieb MBB in der Beschreibung selbst, es solle "Activate" sein, es wurde aber "Deactivate" konfiguriert und deswegen fuhr die KI nie von alleine los, da sie nicht ausklappen konnte.

      Die Quadrant wird natürlich nicht 100% intelligent von der KI gefahren, sondern man muss selbst noch etwas mithelfen. Wichtig ist es, dass das Feld vorher durch eine KI geschwadet wurde. Dann muss die Quadrant in den Feldbearbeitungs-Task mit (a) der gleichen Arbeitsbreite konfiguriert werden, wie die KI zuvor das Feld geschwadet hat und (b) es muss die gleiche Feldeinfahrt genommen werden. Nur dann sollte die KI mit der Quadrant den gleichen Weg fahren, den zuvor auch die KI mit dem Schwader gefahren ist und damit automatisch Ballen erzeugen können.




      PS:
      Die ZIP Datei entpacken in den "Mods" Ordner, sie ersetz die bereits durch den CNC-Gameplay-Mod modifizierte Version.

      claas_quadrant_ai_capable_v01.zip
      drive.google.com/file/d/1_JUw9…zhDvHBJj/view?usp=sharing



      PPS:
      "IsFromSavegame" habe ich noch immer nicht verstanden und den Swadro habe ich mir noch nicht weiter anschauen können, wie man den nach dem Laden eines Savegames hin bekommt. die Claas Quadrant funktioniert augenscheinlich nach dem Laden des Savegames ohne Anpassungen.
    • Nachtfalke wrote:

      PPS:
      "IsFromSavegame" habe ich noch immer nicht verstanden und den Swadro habe ich mir noch nicht weiter anschauen können, wie man den nach dem Laden eines Savegames hin bekommt. die Claas Quadrant funktioniert augenscheinlich nach dem Laden des Savegames ohne Anpassungen.
      Ich habe versucht, bzw. bin immernoch dabei, das Thema anhand diese Abschnittes im Video von @TheCoCe zu verstehen.Dort wird es ab minute 33:32 erklärt. Explizit "IsFromSavegame"
    • @wallsingham

      danke für den Link zum Video. habe es mir mal angeschaut und im Prinzip wird eigentlich alles gespeichert, was ich will, wenn ich es in "SetMachineState" packe.

      Im Video ist es ziemlich einfach, weil es nur ein Script gibt und man es von Anfang an gebaut hat. Bei xyzspains Mods gibt es diverse Scripte und noch viel mehr Dinge, die rotieren, sich drehen, die ausgefahren sind, hoch und runter geklappt etc. pp. Der "Implement proxy" scheint diese Variablen über alle Script Controller und Scripte hinweg zu speichern bzw. verfügbar zu halten, was gut ist.

      xyzspain scheint mir aber kein "init" script zu haben, welches prüft, ob es (a) aus einem Savegame kommt und (b) ob es in einem aktiven Task ist. Dann kommt noch dazu, dass es die KI steuert und ich nicht weiß, was die beim "Laden" gerade so denkt zu "drücken".

      Egal, in jedem Fall hilfreich, muss jetzt nur schauen, an welcher Stelle ich da noch die fehlenden Informationen einbauen muss.