Tankwagen für Gülle

    • Tankwagen für Gülle

      Wie schon in einem anderen Thread beschrieben hab ich Probleme bei nem Mod den Fill-Type zuändern
      ich habe versucht den Fill-Type mit einzutragen in den Tank-controllern nur wird der tank nur am hof an den jeweiligen stationen erkannt nur kann man
      da nichts laden
      das hab ich bisher gemacht
      ""ich habe schon mal den editor auf gehabt das wars aber auch schon ich kann irgendwie nicht´s laden dadrinne da brauch ich wirklich ne anleitung für dummies hier isses ein bischen kompliziert gemacht da war Giants bis zum 17er richtig gut mit dem editor

      so man will es nicht glaubenaber ich habe es geschafft im editor den Tankwagen aus dem Gameplay-Mod zubearbeiten
      was habe ich versucht : ich wollte das der tankwagen auch gülle/flüsigdünger transportieren kann
      ich hab es soweit geschafft das der tankwagen im gülle-trigger erkannt wird nur steht da das der filltype nicht stimmt
      hab gerade gesehen das der Tankwagen am Hafen bei keinem händler erkant wird
      was muß ich noch wo ändern das ich gülle fahr´n kann mit dem teil

      Bearbeiten"""""

      auch habe ich den vorhandenen tank-controller gelöscht und habe einen neuen erstellt mit dem gleichen ergebniss
      ich habe praktisch das gleiche eingetragen wie beim stabel-güllefass nur ohne ergebniss es kommen noch nichtmal fehlermeldungen
      hier die controller vom stabel habe das gleiche beim tankwagen eingetragen nur eben kein ergebniss


      vieleicht habt ihr ne idee was ich falsch mache
      mfg Ralf

      Asus ROG Strix G17 G713RM

      AMD Ryzen 7 6800H 8 x 3.2 - 4.7 GHz, Rembrandt H (Zen 3+)
      NVIDIA GeForce RTX 3060 Laptop GPU- 6Gb GDDR6
      16Gb DDR5 Ram
    • Der "TankTrigger" ist dafür da, dass man etwas in den Anhänger hinein füllen kann. Man kann dort eine "Supported FilkType" definieren, z.B. Liquid.

      Der BoxTrigger geht in in einen Tank Controller. Auch dort kann man einen FilkType definieren. Z.B.Liquid.

      Die "TankUnload" Controller sind dafür da, etwas aus dem Anhänger zu entladen. Auch dort kann man den FillType definieren, z.B. Liquid.


      Wenn du etwas löschst, einen Tank Controller und einen neuen einfügst, dann musst du beachten, dass die kopierte Node Connectors hat, die du woanders hin verbinden musst. Es kann aber auch sein, dass der gelöschte Node Connectors hatte, die zu ihm hin zeigten.

      Um den FillType zu ändern würde ich den Hänger nehmen und nur die FillTypes ändern. Im ersten Screenshot stehst du zwar im Trigger hast aber keine Ladung ausgewählt. Ggf deswegen der Fehler.
    • das ist der tankwagen hier aus dem mod modhoster.de/mods/cnc-gameplay-mods-warentransport
      ich spiele im großen und ganzen real und hier in der ecke verwenden die zum gülle fahren ausrangierte milchwagen oder alte zement-trailer
      und so wollte ich das auch machen hänger voll und an feldrand parken
      mfg Ralf

      Asus ROG Strix G17 G713RM

      AMD Ryzen 7 6800H 8 x 3.2 - 4.7 GHz, Rembrandt H (Zen 3+)
      NVIDIA GeForce RTX 3060 Laptop GPU- 6Gb GDDR6
      16Gb DDR5 Ram
    • Gülle am Hafen kaufbar.



      Datei öffnen


      Box Trigger anpassen



      Tank Controller anpassen



      Speichern und die .wld wieder in die .zip packen.
      Spiel neu starten und bestehende Tanklaster "resetten".


      Noch ein Hinweis:
      Im ersten Post im ersten Screenshot stehst du falsch herum. Du stehst am Futtersilo für die Schweine. Du solltest einmal versuchen anders herum an die güllepumpe heran zu fahren.

      Deswegen gab es ggf einen trigger aber keinen FillType zur Auswahl.
    • so habe das so geändert wie du es gezeigt hast bringt nichts leider ich hänge mal nen link zu dem mod an den ich bearbeitet habe
      vieleicht habe ich nen fehler beim speichern oder sowas drinne
      1drv.ms/u/s!AkQyr92OQd_CgaBrAJ-fWQCE-DYs3g?e=y6a1Ke
      mfg Ralf

      Asus ROG Strix G17 G713RM

      AMD Ryzen 7 6800H 8 x 3.2 - 4.7 GHz, Rembrandt H (Zen 3+)
      NVIDIA GeForce RTX 3060 Laptop GPU- 6Gb GDDR6
      16Gb DDR5 Ram
    • Papa_77 wrote:

      @Nachtfalke ich danke dir ich werde das nachher mal ausprobieren danke dir

      was war nur an dem falsch was ich gemacht habe ?
      Probier es erst einmal aus. Ich weiß nicht was falsch sein könnte, ich wollte aber nicht suchen, deswegen habe ich einfach meinen Mod genommen, XML und WLD kopiert, umbenannt, XML angepasst und in der WLD die Tanks und Trigger wie im Screenshot angepasst.

      Ggf wäre ein Reset des Tankwagen bei dir nötig gewesen. Ggf hast Du deine Änderungen auch nicht wieder in die ZIP gepackt.
    • Nachtfalke wrote:

      Der "TankTrigger" ist dafür da, dass man etwas in den Anhänger hinein füllen kann. Man kann dort eine "Supported FilkType" definieren, z.B. Liquid.

      Der BoxTrigger geht in in einen Tank Controller. Auch dort kann man einen FilkType definieren. Z.B.Liquid.

      Die "TankUnload" Controller sind dafür da, etwas aus dem Anhänger zu entladen. Auch dort kann man den FillType definieren, z.B. Liquid.


      Wenn du etwas löschst, einen Tank Controller und einen neuen einfügst, dann musst du beachten, dass die kopierte Node Connectors hat, die du woanders hin verbinden musst. Es kann aber auch sein, dass der gelöschte Node Connectors hatte, die zu ihm hin zeigten.

      Um den FillType zu ändern würde ich den Hänger nehmen und nur die FillTypes ändern. Im ersten Screenshot stehst du zwar im Trigger hast aber keine Ladung ausgewählt. Ggf deswegen der Fehler.
      Hallo @Nachtfalke,
      gibt es da eine nähere Beschreibung? Ich habe mir die 5er Saatgutpalette kopiert (zwecks cooler Animation der Säcke) und wollte da eine einzelne rauslösen. Ich kann die jetzt auch beladen (läuft leider nur automatisch rein); bekomme aber nichts aus dem Tank raus. Versuche schon seit zwei Wochen eine Lösung zu finden; komme aber nicht weiter.
    • Hallo,
      Bei einem TankController ist es einfacher, BixTrigger undTankUnload.

      Bei mehreren Tanks ist es irgendwie unheimlich komplex gelöst. Man benötigt zusätzlich.

      Einen "temporären TankController"
      Eine TankSwitchtController
      Ein "TankSwitchScript"

      Die Connectoren des TankSwitchtController müssen alle identisch heißen, aber unterschiedliche Tanks anbinden.

      Ich kann es ehrlich gesagt nicht genau erklären und genau den Mechanismus, der im C++ Code abläuft geistig nachvollziehen.

      Schau es dir ggf Mal im Getreidelager an.
      Oder an den Lagern der Getreidemühle.

      Auch die Saatgutpaletten am Hof haben diesen Mechanismus.

      Eigentlich alle Stationen, die kein Händler sind, aber mehr als einen Tank ansteuern können.

      Hoffe das hilft, ansonsten nochmal fragen.
    • Du kannst auch das Fahrzeug hier hoch laden bzw. google Drive oder anderen File Share und ich schaue Mal rein

      PS.
      Bei einem Anhänger kann man auch nur einen Tank verwenden, also ein Hänger kann keinen TankSwitchtController nutzen. Ich weiß zumindest nicht wie. Aber das dürfte bei dir nicht der Fall sein.

      Willst du etwas in einen Tank oder Gebäude laden oder in ein anderes Fahrzeug? Überladen in andere Fahrzeuge ist irgendwie nochmal anders ;)
    • Vielen Dank für die schnelle Rückmeldung. Die Saatgutpalette bestand aus 5 Tanks. Ich hatte mir eine Palette rauskopiert und so eigentlich nur noch einen Tank übrig. Geplant war, dass ich diese Palette vor dem Hühnerstall als kleines Zwischenlager für das Hühnerfutter hinstelle. Be- und Entladen über das Menü funktioniert leider noch nicht. Habe aber herausgefunden, wenn ich mit den Anhänger an die Palette heranfahre, dass dieser dann automatisch das Futter auf die Palette entlädt.

      Wenn ich jetzt mit dem Scorpion die Palette über den Zaun hebe, dann entlädt sich auch das Futter in den Stall. Für diesen Zweck funktioniert es erstmal; ich hätte aber schon ganz gerne auch die Funktionen über das Menü (Ladefenster). So könnte ich dann vielleicht auch einen mobilen Flüssigkeitstank basteln.

      Kannst ja gerne mal reinschauen:
      drive.google.com/file/d/1KcPf_…5o-KkWgD/view?usp=sharing

      Bin noch sehr lernfähig ;)
    • Hallo,

      anbei meine modifizierte Version:
      drive.google.com/file/d/1XZFqN…JNDW8Z1Z/view?usp=sharing


      Vielleicht nochmal kurz zum Verständnis, wie ich glaube, dass es funktioniert, verschiedene Tanks zu be- und entladen. Im Spiel klappt es nun, aber was genau im Hintergrund im Code passiert, ist mir noch nicht so ganz klar.


      1. Der "BoxTrigger" ist dafür da, dass man etwas aus einem Anhänger in die Palette laden kann
      2. Als "Tank" ist der "BoxTrigger" mit dem temporären Tabnk "tank_hold" verbunden (Du hattest es mit "tank_1")
      3. Weiterhin ist "BoxTrigger" mit dem "TankSwitchTrigger" verbunden.
      4. Der "TankSwitchTrigger" hat eine Verbindung zum "TankConversionController" und "TankUnload", als auch beliebig viele GLEICHNAMIGE Connectors zu den "tank_1" und "tank_X".
      5. Fährt man also in den "BoxTrigger", dann erkennt das System, dass die Waren erstmal in "tank_hold" transferiert werden müssen, der "TankSwitchController" weiß aber über das "TradingWindow" (das ist das, was der SPieler angezeigt bekommt) in welchen "tank_X" es geladen werden soll.
      6. Damit es aus "tank_hold" in den "tank_X" kommt, wird dieser "ConversionController" benötigt und das "sync_conversioN" script startet, weil sich im "tank_hold" der Füllstand geändert hat und transferiert es ins Ziel. Ich denke mal, dass intern der "TankSwitchController" dynamisch den "Connector" von einem Tank zum anderen verbindet.
      7. Der "TankUnload" Controller ist dafür da, dass etwas aus der Saatgutpalette entnommen und in den Hänger gefüllt werden kann. Der "TankSwitchController" stellt dann fest, welcher "tank_X" zu entleeren ist.


      Das oben mal allgemein, nachdem ich mehrmals nachgeschaut habe und versucht habe es zu verstehen. Vielleicht hilft es Dir.


      Ansonsten, was Du "falsch" hattest:

      1. "BoxTrigger" muss den Connector "tank" zu "tank_hold" haben statt "tank_1"
      2. "BoxTrigger" hat nun als "trigger "TradingWindow/TankUnload Controller" statt vorher "TankUnload/ShovelController". Womöglich egal. ggf geht auch beides aktivieren. Shovel ist eher so beim Silo mit Silageschaufel"
      3. "BoxTrigger" hatte im Reiter "Controller" keinen "Tank switch" definiert, da gehört der "tank_switch" Connector rein.
      4. "TankSwitchController" braucht als Trigger "TankSwitchControler"
      5. In der "farm.wld" habe ich den "BoxTrigger" zum Füttern der Tiere verkleinert, so dass er an der Seite, wo ich die Palette hingestellt habe im Bild, nicht mehr den trigger habe, denn 2 Trigger, die so ein "Trading Window" einblenden, übereinander bzw. zur gleichen Zeit "aktiv", das geht nicht (glaube ich).



      Ansonsten habe ich Deine von mir modifizierte ".wld" Datei als eine neue "Instanz" in der "farm.wld" eingebunden und die Palette, einfach mal neben den Zaun gestellt und es klappt.

      Hier das beispiel, wie ich die Instanz eingebunden habe und die Palette platziert. Man muss sie ggf nochmal 90° drehen.



      Hier siehst Du den funktionierenden Be- und Entladevorgang




      Anbei einmal Deine .wld mit der Anpassung des "BoxTrigger" Triggers.




      Und hier der "BoxTrigger" ganz unten, wo der "tank_switch" fehlte.





      Du kannst also die .wld aus meinem upload nehmen, diese funktioniert nun. Platziere es auf der Karte wie es Dir gefällt.


      HINWEIS:
      Es kann sein, dass diese TradingWindows nicht funktionieren, wenn Sie als "Mod" eingebunden sind. Es ist deswegen möglicherweise sinnvoller diese .wld in den "MAP-Albergtal" Ordner zu packen und die .wld dann als Instanz einzubinden in farm.wld.

      Was sicher nicht geht ist, dass Du, wenn es als "Mod" eingebunden ist, dass die "entry" und "exit" Marker jemals mit dem Straßennetz verbunden werden können. Damit das klappt, muss es meines Wissens außerhalb des Mods ordners sein. Für Straßenanbindung, d.h. dass ein KI-Helfer es anfahren kann, ist sowieso noch einiges zu tun, gerade wenn es über Instanzen hinweg geht. Da braucht man dann glaube ich "Modifiers" in der Instanz mit "Move Connector inside" und "move connector outside".

      Und einen "Namen" hat der Tank auch noch nicht, dafür muss die "Base\strings\game.csv" oder "strings.csv" erweitert werden, importiert und die .str dann verwendet werden.


      Ich weiß nicht genau, inwiefern Du selbst weiter suchen willst, aber wenn Du Fragen hast, nur zu. Zum Thema "String", also "Übersetzung", habe ich glaube ich sogar irgendwo einen Thread erstellt, der das erklären könnte.
    • Hallo,

      vielen Dank für Deine Hilfe. ;)
      Habe deine Datei erst als Mod und dann eingebunden in der Map ausprobiert. In der Map funktioniert sie jetzt wie ich es mir vorgestellt habe. Frage mich nur, warum es nicht als Einzelmod funktioniert.
      Mit dem Namen habe ich jetzt geschafft; bin da fündig geworden.


      Die entry- und exit- Marker waren noch von der Vorlage drin.

      Kann man die Palette eigentlich mit den Trog im Hühnerstall verbinden? Wäre nice, wenn man einfach beim Vorbeifahren so eine Vorstellung vom Füllstand des Tanks hat; analog zu den Trögen im Stall.
    • Die Palette ist ja nur eine Animation. Der Hühnerstall hat einen eigenen Tank, du müsstest ggf lediglich eine Palette platzieren, also Optik und das sync_fill Script an den Tank im Stall anbinden.

      Der Hühnerstall ist in der farm.wld integriert.
      Da sind glaube ich auch die Trigger und entry Marker für die KI angebunden.

      Man muss ggf aufpassen, wie man die Palette dann platziert, damit sie beim KI Tiertransport nicht im Weg steht und auch nicht bei der Anlieferung von Futter.

      Meines Wissens hatte ich das alles schon implementiert und Die geht es ja primär darum, dass man nun den Füllstand des Tanks sieht, richtig? Oder wolltest Du auch noch einen weiteren Tank zum Speichern von Hühnerfutter? Letzteres ist dann ggf nicht so einfach möglich zu kombinieren, da der Hühnerstall Tank einem "barn" zugeordnet ist.

      Es wäre auch glaube ich etwas umständlich,wenn am Zaun ein Vorratsspeicher für Futter ist, den man erst entladen muss, dann 2m vor fahren und es als Futter ein streuen.


      Warum es als Mod nicht geht, weiß ich auch nicht genau, aber @Pebcak hatte da auch so mobile Tröge erstellt und es gab mal mobile Saatgutpaletten und ich meine, da klappte es auch nicht als "Mod", oder nicht alles.

      Du hast meine ich mich zu erinnern, dass Du eine XML dabei hattest, so dass man es theoretisch beim Händler kaufen könnte. Die XML ist glaube ich nur relevant, wenn du es als Fahrzeug oder Hänger "kaufbar" machen willst. Für einen fest in der Map montierten Gegenstand ist die XML nicht notwendig.
    • Das wollte ich jetzt mal ausprobieren. Ich hatte die Palette zuerst in der Farm.wld direkt eingefügt. Da hatte es mit der Simulation auch funktioniert. Wenn ich jetzt die wld-Datei in die Farm.wld einbinde, hänge ich noch an den Connector fest.

      Der Connector von dem Script habe ich mit der Infinite Zone verbunden.
      in der Farm.wld habe ich der Instance einen Connector hinterlegt, den ich dann mit dem Tank verbunden habe.

      Nehme ich bei der Instance.Modifiers jetzt einen "Move Connector Outside" oder "Move Connector Inside"? und wenn ja welchen Connector hinterlege ich dann?

      Ich habe schon mehrere Varianten ausprobiert; jedoch hatte ich keinen Erfolg. Dafür habe ich das Teil schon mal vergrößert und umgesetzt.
    • New

      Hallo,

      Du nimmst einen "move connector outside"., Weil du aus dem Inneren der Instanz heraus etwas nach außerhalb verbinden willst.

      Der incoming connector Key muss glaube ich identisch heißen wie der connector, den du innerhalb der Instanz an die Infinity Zone connected hast.

      Target connector Key ist der identische Name des Connectors, den du in der Instanz unter "Connectors" definierst und welcher dann quasi von dieser Instanz Node auf den Tank in der farm.wld geht.

      Vielleicht irre ich mich auch schau dir Mal dir cowshed_stall.wld Instanz and oder cowshed.wld in der farm.wld, da sind auch viele "move Connector outside" definiert.


      Die Engine hat auch ein Wiki was ein bisschen hilft, leider kein öffentliches Forum. Ich habe oftmals Interpretationsfragen und bekomme sie nicht gelöst.

      c4engine.com/wiki/index.php?title=Modifiers
    • New

      Hallo,

      ich habe es endlich hinbekommen. Beim ursprünglichen Knotenpunkt hatte ich den Namen des Connectors geändert, da ich schon eine weitere Instanz auf der Karte hatte; sonst liefen beide synchron ab. Dies hatte aber zur Folge, dass es dann nicht mehr funktioniert hatte. Habe jetzt herausgefunden, das im Script ein fester Name des Connectors hinterlegt war. Leider konnte ich diesen nicht ändern, da er dann die Funktion geändert hatte (GetNormalizedFillLevel in Call Controller Function).

      (Die Funktion steht bei mir im Menü nicht zur Auswahl, sodass ich diese nicht neu setzten konnte)

      Vielleicht bin ich aber nur zu unwissend. Habe mich jetzt damit beholfen, dass ich jetzt jede einzelne Palette als Einzelinstanz einbinde. So konnte ich jetzt auch das Saatgutlager auf dem Hof auf 7 Paletten erweitern:


      Wenn Du magst, kann ich Dir das Saatlager für deine Map gerne hochladen.
      Images
      • 22 09 30 Script1.JPG

        15.12 kB, 208×172, viewed 117 times

      The post was edited 1 time, last by torhol82 ().

    • New

      @torhol82

      Das Problem ist etwas, das mich auch Tage gekostet hat. Das Problem ist, dass ein Connector an die Infinity Zone im Editor icht die darüber liegende .wld laden kann. Der connector weiß also nur, er geht an die Infinity Zone, weiß aber nicht, ob dahinter ein TankController ist oder was anderes.

      Ich behelfe mir da wie fgt, ich erstelle in der .wld temporär eine TankController oder was auch immer ich brauche. Verbinde den Connector temporär dort hin, kann dann alle Funktionen auswählen und das Script bauen.

      Am Ende lege ich den Connector vom temporären TankController wieder auf sie Infinity Zone und dann klappt es.


      Umgekehrt, wenn du aus der Farm.wld einen Connector in eine andere Instanz legst, mit Connector inside, dann klappt es im Editor ohne den Trick.

      Soweit verständlich was ich schreibe?
      Ansonsten einfach nochmal melden.