Tastenbelegung ändern, wenn in xml nichts steht

  • Hallo, wer kann mir bei folgendem Problem helfen.
    Für meine Holzzange brauche ich zum Anhängen an den Baggerausleger eine drehbare Baggeraufhängung. Habe ich mir runtergeladen, funktioniert auch.
    Leider kollidieren die Tastenbelegung der Baggeraufhängung mit der des Baggers, heißt: Eine Taste - zwei Funktionen. Das möchte ich ändern...
    Jetzt dreht die Zange bei Num_9 und Num_6, gleichzeitig mit dem letzten Teil des Baggerauslegers, da wo die Schaufel drankommt. Ich hätte die Drehfunktion gerne auf Num_0 bzw. Num_,
    Aber weder in der vehicle.xml noch in der modDesc.xml ist ein Eintrag zu erkennen, wo die Tastenbelegung geregelt ist, also für mich nicht zu erkennen ... ?( .
    Eine .lua-Datei gibt es bei dem Mod nicht. Alle Versuche ein "input binding" zu erstellen waren bisher erfolglos.
    Ich lege die beiden xml-Dateien mit dazu, vielleicht ist jemand so nett und schreibt mir die erforderlichen Einträge rein, ich kriege es alleine noch nicht hin.

    Vielen Dank
    Gruß Remraf

  • Das Teil wird doch eigentlich über die rechte Maustaste (auf/ab) gesteuert.

    Änderungen in der Tastenbelegung kannst Du im Spiel unter Optionen-->Steuerung machen, dort die neue Taste festlegen und dann speichern.

    Die inputBinding.xml wird normalerweise nach der installation beim ersten Spielstart automatisch erstellt. Hast Du Mods im Modsordner und startest das Spiel, dann werden die Einträge der jeweiligen Mods dort mit hinterlegt, falls bei den Mods irgendwelche Tasten für irgendeine Funktion benötigt werden. Hier bei dem Adapter ist es wohl so, dass dieser auf die Standardfunktionen zugreift (Maustasten) da diese ja auch bei den FL und TL gegeben ist.

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Hallo Rene,
    das was Du schreibst ist ja alles richtig, aber leider ist unter Optionen > Steuerung kein Eintrag zu finden, das hätte ich sonst, wie bei anderen Mods, da schon geändert.
    Und ja, mit der gedrücken rechten Maustaste rauf und runter lässt sich die Baggeraufhängung bzw. die angehängte Zange drehen.
    Das Problem ist, dass sie sich auch bei Num_9 und Num_6 dreht, wenn ich damit die Baggerschaufelaufhängung bewege, und das nervt! Deshalb brauche ich eine Entkoppelung, und die kriege ich alleine nicht hin. Was ist nicht verstehe, was meinst Du mit FL und TL?
    Also, so richtig weiter bringt mich Deine Antwort nicht, aber trotzdem vielen Dank für Deine Antwort.

    Gruß Remraf

  • Das ist auch richtig, dass da kein Eintrag ist, da die Baggeraufhängung den maschineType "frontLoaders" hat und somit auf die Standardsteuerung zugreift, also die vom Spiel. Somit braucht auch keine Tatstaturbelegung in der xml oder einer lua vorhanden zu sein.

    FL: Frontlader
    TL: Telelader

    Diese beiden Fahrzeugtypen nutzen auch die Mousecontrol, denn mit der Maus kannst Du den TL oder FL bedienen.

    Lade mal den Bagger, den Adapter, die Zange, Deine log.txt und falls vorhanden Deine inputBinding.xml irgendwo hoch (aber nicht bei ul.to!!!) und schick mir den Link per PN, ich schaue mir das mal an. Eventuell kollidiert da noch ein anderer Mod.

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Also, ich habe mir das angeschaut. Ich habe keine Probleme mit den Tasten [NUM_6] und [NUM_9]. Bei diesen beiden Tasten bewegt sich nur die Baggeraufhängung am Bagger, also das letzte Gelenk. Die Zange bleibt ruhig, da dreht sich nichts. Ich kann die nur mit der Maustaste Drehen und mit den Tasten [BILD_RAUF] und [BILD_RUNTER] öffnen/schliessen. Da haut bei dir definitiv was anderes rein.

    Heißt, das Gespann funktioniert so einwandfrei, ohne das sich irgendetwas unkontrolliert bewegt. Alternativ kannst Du die Ausschlussmethode machen. Modordner bis auf die 3 Mods leeren und dann nach und nach die Mods einfügen und immer wieder testen, wann der Fehler auftritt. Wenn der Fehler wieder auftritt, dann den letzten Mod entfernen und das Problem sollte behoben sein.

    Code
    Warning (compatibility): Texture width or height doesn't equal 2^n (C:/Users/User/Documents/My Games/FarmingSimulator2013/mods/Grosse_Holzzange1/color.dds)

    Das heißt, dass die Datei nicht im 2^n Format ist. Eine Datei muss immer im Format 128/256/512/1024/2048 x 128/256/512/1024/2048 sein. Und niemals nie nichtig in z.B. 512 x 356 oder 4711 x 815. Dies ist aber auch nicht so wild, da es nur eine Warnung ist. Hau mal auf jeden Fall alle Mods raus, die einen Error verursachen, das ist bedeutend suboptimaler ;)

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Vielen Dank, für Deine Antwort und Bemühungen. Werde die Mods mal checken, wirkliche Probleme machen sie eigentlich nicht, nur das Wachstum der Früchte ist etwas, sagen wir mal unregelmässig. Aber das liegt ja wohl eher an der Engine von GIANTS.
    Trotzdem hätte ich schon gerne gewußt, wie man ein sauberes "inbinding" hinkriegt.

    Gruß Remraf

  • Ein sauberes binding wirst Du nicht hin bekommen, denn es obliegt den Moddern Funktionen, welche nicht zu den Standardfunktionen zu gehören auf irgendwelche Tasten zu setzen. Schlecht ist es dann noch, wenn Modder Zusatzfunktionen auf Standardtasten legen und nichts mehr geht. Ist mir auch schon passiert. Da hilft dann nur, Mod von der Platte und weiter daddeln.

    Das gefährliche dabei ist weiter, wenn Scripte sich in der Funktion überschneiden und das Game sich verabschiedet.

    Wie gesagt, nur die 3 Mods drin und es funktioniert reibungslos. Aber selbst mit meinen anderen Mods hatte ich keine Probleme. Von daher kann es eigentlich nur ein andere Mod in Deinem Modsordner sein.

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Ok, werde das mal so versuchen, habe mir auch schon ein "paar Verdächtige" ausgeguckt. Problematisch wäre es, wenn es der "aforestMod" wäre, der schmeißt ja eh schon ein paar "Call Stacks", wie Du in meiner Log.txt sehen konntest. Ich glaube es ist die lua-Datei, die es ermöglicht, dass jeder Kipper der "Chaff" laden kann, auch "woodChip" lädt. Darauf könnte ich gut verzichten, weil mir das Einbauen neuer Planen mittlerweile und mit Nachhilfe von Jaguar95 locker von der Hand geht.

    Aber was ich überlege ist folgendes: Wenn ich in der modDesc von der Baggeraufhängung den rot markierten Eintrag:
    <vehicleTypes>
    <type name="Baggeraufhaengung" className="Vehicle" filename="$dataS/scripts/vehicles/Vehicle.lua">
    <specialization name="attachable" />
    <specialization name="animatedVehicle" />
    <specialization name="mouseControlsVehicle" />
    <specialization name="cylindered" />
    </type>
    </vehicleTypes>


    rausnehme und folgenden Eintrag vornehme:

    <l10n>
    <text name="ROTATE_CLAW_1">
    <en>rotate claw</en>
    <de>Greifer nach links drehen</de>
    </text>
    <text name="ROTATE_CLAW_2">
    <en>rotate claw</en>
    <de>Greifer nach rechts drehen</de>
    </text>

    </l10n>

    <inputBindings>
    <input name="Baggeraufhaengung" category="VEHICLE" key1="KEY_KP_0" key2="KEY_," key3="" key4="" button="" axis="" button1="" button2="" mouse="" mouseAxis="x" device="0" invert="false" />
    </inputBindings>

    Aber irgendwie trau ich mich nicht so recht, weil ich Angst habe, dass mir, wie Du oben beschrieben, das Spiel um die Ohren fliegt.

    Gruß Remraf

  • Das Spiel wird Dir nicht um die Ohren fliegen, im dümmsten Fall wird es abschmieren. ;)

    So wie Du es vor hast wird das nicht laufen. Da geht es nun etwas ins scripten.

    Mit dem Eintrag

    XML
    <l10n>
    	<text name="ROTATE_CLAW_1">
    		<en>rotate claw</en>
    		<de>Greifer nach links drehen</de>
    	</text>
    	<text name="ROTATE_CLAW_2">
    		<en>rotate claw</en>
    		<de>Greifer nach rechts drehen</de>
    	</text>
    </l10n>


    erstellst Du einen Eintrag im HUD.


    Mit dem Eintrag

    XML
    <inputBindings>
            <input name="ROTATE_CLAW_1"  key1="KEY_KP_0" button="" />
            <input name="ROTATE_CLAW_2"  key1="KEY_KP_," button="" />	
    </inputBindings>

    Weist Du der Funktion "ROTATE_CLAWX" die Tasten und Buttons eines Gamepads/Joysticks zu. Ich habe Funktion geschrieben, da in der lua, welche ja nun hier nicht vorhanden ist, dieses definiert werden muss. Also bei drücken von [KEY_KP_] soll die Aufhängung nach links drehen. Da es sich um Tasten außerhalb des Standardscripts handelt, muss diese Funktion zugewiesen werden, und das macht man in einem Script. Schau Dir mal als Beispiel das beleuchtungsscript V31 an. Da wirst Du die Namen (input name="NAME") ebenfalls in der beleuchtungV31.lua wiederfinden.

    Eventuell erhälst Du auch eine ähnliche Fehlermeldung in der log.txt

    Code
    Error: invalid key ........  for input event..................

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Hallo Rene,
    danke für Deine super Erklärung. Ich habe einige neue Erkenntnisse daraus gewonnen. Habe auch ein paar Sachen ausprobiert:
    1. Wie Du beschrieben hast, habe ich einen "Mods-Ordner" nur mit den 3 Mods erstellt. Standard-Map, neuer Spielstand:
    Die Zange dreht nach wie vor mit, wenn die Baggeraufhängung mit Num_9 und Num_6 bewegt wird, also nicht wie bei Dir, wo sie ruhig bleibt.
    Festgestellt habe ich, dass die "inputBinding.xml" unverändert bleibt, also nicht wie die log.txt überschrieben wird. Eigentlich klar, weil, wie ich vermute das die Datei ist, wo die unter "Option > Steuerung" vorgenommenen Anpassungen gespeichert werden. Ich schätze mal, wenn ich diese Datei austauschen würde, wäre das Problem vorübergehen eliminiert.

    2. Habe die o.g. Veränderungen in der "modDesc" vorgenommen, jedoch ohne eine Veränderung im Spiel zu erkennen. Spiel startet, Mods sind kaufbar, im HUD erscheint nichts, was nicht vorher schon drin stand und die Zange dreht mit der Baggeraufhängung mit. s. oben
    In der log.txt war folgender Eintrag:

    Warning: Duplicate l10n entry 'ROTATE_CLAW' in mod 'Baggeraufhaengung1'. Ignoring this defintion.

    Error: invalid key 'KEY_KP_,'for input event 'BAGGERAUFHAENGUNG'

    Warning: Missing l10n for button BAGGERAUFHAENGUNG in Baggeraufhaengung1

    *ich habe die mod. Version "Baggeraufhaengung1" benannt
    Den ERROR konnte ich eliminieren, anstatt des Kommas muss "period" rein, ist wohl die Bezeichnung für die Taste Num_,/Entf.

    So, wenn ich Dich richtig verstanden habe, muss ich eine lua-Datei schreiben, die regelt, dass die genannten Tasten die Drehfunktion steuern, so ähnlich wie bei Beleuchtung Num_1 Blinker links Num_2 Warnblinker Num_3 Blinker rechts ist.
    Und diese lua-Datei dann in die "modDesk" einbinden, bzw. unter <vehicleTypes ><specialization...> registrieren, ist das richtig?
    Wenn ja, dann muss ich mal schauen ob ich da was passendes finde, das ich abändern kann. Weil selbst eine lua schreiben ... Ich nix Scripter, ich nur Pfuscher - aber mit Ehrgeiz!

    Gruß Remraf

    ... und der Jaguar folgt uns auf Schritt und Tritt ... find´ ich gut :thumbup:

  • Gut, das mit dem "period" wußte ich auch nicht. Gut, nobody is perfect, und wer meint er ist perfekt ist ein nobody :D

    Ich kenne mich auch nicht sehr gut im Scripten aus, ich bewege mich da auch wie ein Elefant auf einem Feld mit rohen Eiern.
    Aber von der Logik her, wenn Du eine andere Steuerung als die Standard nehmen willst, dann musst Du das dem Game ja irgendwie mitteilen. Und das machst Du mit der lua, also dem Script. Damit hast Du die Funktion registriert. Nun heißt es das Ganze aufzurufen und dem Fahrzeug zu zuweisen, und dies machst Du in der modDesc.xml. Somit weiß das Spiel, wenn die Taste [xyz] gedrückt wird am bagger, dann die Funktion des Scriptes ausführen.

    Anzeige im Hud = ln10
    Tasten definieren = inputBinding modDesc.xml
    Script einbinden in die modDesc.mxl (Fahrzeug) = specialization
    Funktion definieren, wenn kein Standard = lua

    Ich verlasse mich auf meine Sinne

    - Schwachsinn
    - Blödsinn
    - Wahnsinn
    - Stumpfsinn

    Ich supporte ausschließlich im Forum (Ausnahme im Einzelfall) und nur wenn der aktuelle Patch installiert ist!

  • Hallo Rene,
    also ich habe mir einige diesbezügliche Mods angeschaut, vor allem die lua, und beschlossen, da ganz schnell die Finger raus zu halten. So was ist definitiv nichts für Leute, die sich nicht damit wirklich auskennen.
    Sollte sich nicht noch ein Profi-Scripter (hallo Ifko) in den Thread zuschalten und mir da unter die Arme greifen, muss ich eben damit leben (arbeiten), dass die Zange mitdreht. Ist nicht schön und recht umständlich, aber was soll´s. Ich habe da zu wenig Ahnung.
    Dir erstmal vielen Dank, habe wieder einiges gelernt.

    Gruß Remraf

  • Hallo Rene,
    jetzt habe ich es doch hinbekommen und es war viel simpler als gedacht.
    Erstmal ist der Titel meines Theads falsch "... wenn in der XML nichts steht ..."
    Steht doch alles drin:
    <mouseControls>
    <mouseControl iconFilename="$dataS2/menu/mouseControlsHelp/dafs_tool.png" mouseButton="RIGHT" mouseAxis="Y" axis="AXIS_TELEHANDLER_INNER_ARM" />
    </mouseControls>

    <movingTools>
    <movingTool index="0>0|2" attacherJointIndices="0" componentJointIndex="0" rotSpeed="60" rotAcceleration="360" speedFactor="0.4" rotMax="360" rotMin="-360" axis="AXIS_TELEHANDLER_INNER_ARM" invertAxis="false" mouseAxis="AXIS_TELEHANDLER_INNER_ARM" invertMouseAxis="true">
    </movingTool>
    </movingTools>

    Jetzt habe ich in der "InputBinding.xml" nachgeschaut und gefunden, dass sich der axis="AXIS_TELEHANDLER_INNER_ARM" mit Key_KP_9 und Key_KP_6 bewegt. Weiter geschaut bei welchem Eintrag die Bewegung durch Key_KP_0 und Key_KP_period steuern lässt und gefunden: axis="AXIS_ROTATE_CLAW"

    Dann einfach die rot markierten Einträge durch den blau markierten Eintrag ersetzten und voilá, es läuft so wie ich es gewünscht habe. Ohne "InputBinding" ohne "lua" leider auch ohne Text im HUD, denn das habe ich zwar versucht, ist mir aber nicht gelungen. Es kam zwar keine Fehlermeldung in der log.txt und der Mod war auch kaufbar, aber nicht anhängbar. Aber da das eh nur für mich ist, ist es auch egal.

    Danke nochmal, durch unsere Konversation bin ich doch noch auf den richtigen Weg gekommen.

    Gruß Remraf