Liebherr 902 Pack Gamepad problem

Eure Foren für alle Diskussionen rund ums Thema Modding.
DoThat
Posts: 2
Joined: Fri Sep 17, 2021 3:50 pm

Liebherr 902 Pack Gamepad problem

Post by DoThat »

Hallo liebe Modding-Community.

Ich bin darauf gestoßen, dass die Liebherr 902 Bagger von blacksheepmodding sich leider nur zum Teil mit dem Controller steuern lassen (PS4 Dualshock controller via DS4Windows).

Man kann zwar alles was am Kran befestigt ist drehen und kippen, jedoch lässt sich der Kranarm/bagger weder drehen noch senken oder heben.

Ich habe probiert:
in den xmls einiges mit den AXIS und controller belegungen rumgespielt (liebherr.xml, lieberherrc.xml, moddesc.xml)
Einfache Kransteuerung ausgeschalten
Stundenlange google suche

Es lässt sich keine lösung finden. Nur für FS17 aber die dort angebotene moddesc funktioniert nicht (welch Überraschung, war ein verzweiflungsversuch)

Hat jemand ne Idee? Mache viel forestry und der lieberherr wäre grundsätzlich perfekt und macht einfach spaß ihn zu befahren und zuzusehen.

LG
DoThat
Posts: 2
Joined: Fri Sep 17, 2021 3:50 pm

Re: Liebherr 902 Pack Gamepad problem

Post by DoThat »

Update:

Habe mich noch ein bisschen mit dem Thema .xml modding beschäftigt, leider gibt es dazu wenig ressourcen.
Folgende Erkenntnisse konnte ich dennoch sammeln.

Wirft man einen blick in die moddesc.xml, liebherr.xml und die inputbindings.xml (aus dem main directory von ls19) sieht man das nicht die in der inputbindings.xml festgelegten axen verwendet werden
Bsp.:

Code: Select all

<actionBinding action="AXIS_CRANE_ARM">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_k" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_m" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_5 AXIS_3+" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_5 AXIS_3-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_054C-05C4-0100-XFw/XEhJRCNWSURfMDU0QyZQSURfMDVDNCM3JjMzMzlkYTNlJjAmMDAwMCN7NGQxZTU1YjItZjE2Zi0xMWNmLTg4Y2ItMDAxMTExMDAwMDMwfQA=" input="BUTTON_5 AXIS_3+" axisComponent="+" neutralInput="0" index="2"/>
        <binding device="0_054C-05C4-0100-XFw/XEhJRCNWSURfMDU0QyZQSURfMDVDNCM3JjMzMzlkYTNlJjAmMDAwMCN7NGQxZTU1YjItZjE2Zi0xMWNmLTg4Y2ItMDAxMTExMDAwMDMwfQA=" input="BUTTON_5 AXIS_3-" axisComponent="-" neutralInput="0" index="2"/>
    </actionBinding>
    <actionBinding action="AXIS_CRANE_ARM2">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_j" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_n" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_5 AXIS_4+" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_5 AXIS_4-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_054C-05C4-0100-XFw/XEhJRCNWSURfMDU0QyZQSURfMDVDNCM3JjMzMzlkYTNlJjAmMDAwMCN7NGQxZTU1YjItZjE2Zi0xMWNmLTg4Y2ItMDAxMTExMDAwMDMwfQA=" input="BUTTON_5 AXIS_4+" axisComponent="+" neutralInput="0" index="2"/>
        <binding device="0_054C-05C4-0100-XFw/XEhJRCNWSURfMDU0QyZQSURfMDVDNCM3JjMzMzlkYTNlJjAmMDAwMCN7NGQxZTU1YjItZjE2Zi0xMWNmLTg4Y2ItMDAxMTExMDAwMDMwfQA=" input="BUTTON_5 AXIS_4-" axisComponent="-" neutralInput="0" index="2"/>
    </actionBinding>


Bsp. von der moddesc.xml:

Code: Select all

 <actionBinding action="AXIS_900LOADER_ARM2">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_j" axisComponent="+"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_n" axisComponent="-"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_Y" inputComponent="-" axisComponent="-" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_Y" inputComponent="+" axisComponent="+" index="3"/>		
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_4" inputComponent="-" axisComponent="-"/>
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_4" inputComponent="+" axisComponent="+"/>	
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_4" inputComponent="+" axisComponent="+"/>
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_4" inputComponent="-" axisComponent="-"/>		
    </actionBinding>
    <actionBinding action="AXIS_900LOADER_ARM">
       <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_j" axisComponent="+"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_n" axisComponent="-"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y" inputComponent="-" axisComponent="-" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y" inputComponent="+" axisComponent="+" index="3"/>				
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_2" inputComponent="-" axisComponent="-"/>
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_2" inputComponent="+" axisComponent="+"/>	
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_2" inputComponent="+" axisComponent="+"/>
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_2" inputComponent="-" axisComponent="-"/>			
    </actionBinding>	
Das beispiel aus der moddesc.xml sind auch die funktionen die der Dualshock controller nicht bedienen kann.

Folgende zwei funktionen aus der moddesc.xml funktionieren jedoch mit dem controller:

Code: Select all

 <actionBinding action="AXIS_900LOADER_TOOL">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_k" axisComponent="+"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_m" axisComponent="-"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X" inputComponent="-" axisComponent="-" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X" inputComponent="+" axisComponent="+" index="3"/>		
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_1" inputComponent="-" axisComponent="-"/>
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_1" inputComponent="+" axisComponent="+"/>	
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_1" inputComponent="+" axisComponent="+"/>
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_1" inputComponent="-" axisComponent="-"/>		
    </actionBinding>
     <actionBinding action="AXIS_900LOADER_TOOL2">
       <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_k" axisComponent="+"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_m" axisComponent="-"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_X" inputComponent="-" axisComponent="-" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_X" inputComponent="+" axisComponent="+" index="3"/>		
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_3" inputComponent="-" axisComponent="-"/>
        <binding device="GAMEPAD_DEFAULT" input="BUTTON_6 AXIS_3" inputComponent="+" axisComponent="+"/>	
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_3" inputComponent="+" axisComponent="+"/>
        <binding device="JOYSTICK_DEFAULT" input="BUTTON_6 AXIS_3" inputComponent="-" axisComponent="-"/>			
    </actionBinding>	
In der liebherr.xml findet sich noch folgende configuration:

Code: Select all

 <movingTool node="axis11" delayedNode="axis1" playSound="true">
                <controls axis="AXIS_900LOADER_TOOL" invertAxis="true" mouseSpeedFactor="0.6" iconName="CRANE_ARM1_ROTATE_Y" />
                <rotation rotSpeed="40" rotAcceleration="85"  rotationAxis="2" />	
                <attacherJoint jointIndices="1 2" />
            <componentJoint index="1" anchorActor="0" />	
            <componentJoint index="2" anchorActor="0" />	
            <dependentPart node="dp0"/>	
            <dependentPart node="dp1"/>			
            <dependentPart node="dp2"/>
            <dependentPart node="dp3"/>
            <dependentPart node="dp4"/>
            <dependentPart node="dp5"/>	
            <dependentPart node="dp6"/>
            <dependentPart node="dp7"/>	
            <dependentPart node="dp8"/>	
            <dependentPart node="dp9"/>
            <dependentPart node="dp10"/>		
            <dependentPart node="dp11"/>
            <dependentPart node="axis33"/>		
            <dependentPart node="axis55"/>						
        </movingTool>		
        <movingTool node="axis33" delayedNode="axis3" playSound="true">
                <controls axis="AXIS_900LOADER_ARM" invertAxis="true" mouseSpeedFactor="0.5" iconName="CRANE_ARM1_ROTATE_X" />
            <rotation rotSpeed="35" rotAcceleration="85" rotMax="50" rotMin="-50"/>
            <dependentPart node="dp0"/>	
            <dependentPart node="dp1"/>			
            <dependentPart node="dp2"/>
            <dependentPart node="dp3"/>
            <dependentPart node="dp4"/>
            <dependentPart node="dp5"/>	
            <dependentPart node="dp6"/>
            <dependentPart node="dp7"/>	
            <dependentPart node="dp8"/>	
            <dependentPart node="dp9"/>
            <dependentPart node="dp10"/>		
            <dependentPart node="dp11"/>				
                <attacherJoint jointIndices="1 2" />
            <dependentMovingTool node="axis88" speedScale="-1" />
            <componentJoint index="1" anchorActor="0" />	
            <componentJoint index="2" anchorActor="0" />				
        </movingTool>		
Hier im liebherr.xml beispiel sind enthalten: einmal ein funktionierender (AXIS_900LOADER_TOOL) Part (harvester aufsatz am arm) und ein nicht funktionierender (AXIS_900LOADER_ARM) Part (Kran-arm des Baggers).

Was ich absolut nicht verstehe ist, das der Liebherr mit Harvesteraufsatz mit der Maus einwandfrei funktioniert, leider ist es mühseelig für mich immer zwischen DS4 Controller und Maus und Tastatur zu switchen.

Falls jemand mit mehr modding erfahrung sich die Zeit nimmt und das Problem lösen kann wäre das ein echtes Glückserlebnis für mich.

LG

/UPDATE

Habe nun auch in der inputbindings.xml die dazugehörigen controlls gefunden:

Code: Select all

<actionBinding action="AXIS_900LOADER_TOOL">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_k" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_m" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_X+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_1-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_1+" axisComponent="+" neutralInput="0" index="1"/>
    </actionBinding>
    <actionBinding action="AXIS_900LOADER_ARM2">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_j" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_n" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_Y-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_Y+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_4-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_4+" axisComponent="+" neutralInput="0" index="1"/>
    </actionBinding>
    <actionBinding action="AXIS_900LOADER_ARM">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_j" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_n" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_LEFT AXIS_Y+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_2-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_2+" axisComponent="+" neutralInput="0" index="1"/>
    </actionBinding>
    <actionBinding action="AXIS_900LOADER_TOOL2">
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_k" axisComponent="+" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="KEY_lshift KEY_m" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_X-" axisComponent="-" neutralInput="0" index="3"/>
        <binding device="KB_MOUSE_DEFAULT" input="MOUSE_BUTTON_RIGHT AXIS_X+" axisComponent="+" neutralInput="0" index="3"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_3-" axisComponent="-" neutralInput="0" index="1"/>
        <binding device="0_XINPUT_GAMEPAD" input="BUTTON_6 AXIS_3+" axisComponent="+" neutralInput="0" index="1"/>
    </actionBinding>
Allerdings verstehe ich jetzt noch weniger warum es nicht funktioniert... Eventuell wegen doppelbelegung der bindingactions?

/UPDATE NR.2
Den Mod diesmal von kings-mods heruntergeladen, selbe description etc. und nun kann der bagger wenigstens die funktionen übern controller, einziges problem: wenn man mit R1 + Rechter Stick steuert dreht während er den kran-arm streckt dreht die kamera mit. Habe jetzt einen Workaround und aktiviere einfach wenn ich diese funktion brauche den mauszeiger via R1+L1+RS.

Danke trotzdem an jeden der den Thread verfolgt hat und sich eventuell gedanken darüber gemacht hat.
Post Reply