Extra InputBiding Einträge für Radlader

User avatar
MrTomkaot
Posts: 565
Joined: Sat Oct 04, 2014 7:37 pm

Extra InputBiding Einträge für Radlader

Post by MrTomkaot »

Guten Tag


Ich habe eine kleine Frage. Beim Radladerfahren (und zwar einen sehr großen!) wird es langsam sportlich mit einem Lenkrad zu lenken(Also mit meinem G27). Nun möchte ich, wie in Reallife auch, mit einem Joystick steuern (Gas, Bremse, Lenkung), denn ich habe 2 Joysticks (Also beide funktionieren im Spiel mit dem Lenkrad). Praktisch soll ich mit dem linken Joystick Gas geben, Bremsen usw. und mit dem rechten möchte ich den Arm bzw. die Schaufel steuern. Aber ich möchte meine normale Steuerung nicht ändern (Also mit Lenkrad und Pedale steuern). Zusammengefasst das ganze soll nur der Radlader so steuerbar sein. Kann ich InputBiding Einträge aus anderen Fahrzeugen kopieren und so auf die Moddesc für den Radlader übertragen oder benötigt das ganze ein Script?
Wenn die Glaskugel kommt dann heißt es,log.txt posten!
http://wiki.giants-software.com/index.p ... tig_posten

Tutorial "2 Joysticks mit Lenkrad in LS15 nutzen"
http://forum.giants-software.com/viewto ... 27&t=72854
User avatar
Aranea
Posts: 289
Joined: Thu Oct 06, 2016 9:51 pm
Location: meine Höhle

Re: Extra InputBiding Einträge für Radlader

Post by Aranea »

das ist leider so nicht möglich, da das Spiel nur 1 Achse für Gas & Bremse kennt und belegen kann.
das heißt wenn dein Lenkrad dort als Gamepad Axis eingetragen ist, kannst du keine zweite Gamepad Axis hinzufügen.

die einzige Alternative wäre per xPadder dem linken Joystick die Tasten W und S zuzuweisen, und damit die Tastaturbelegung zu nutzen, dann funzt die Joystick Achse nur nich mehr so richtig wie ne Achse, sondern wie ne Tastatur-Taste - sprich Vollgas oder Vollbremse....
anders aber leider nicht möglich, soweit ich weiß
MfG
die Spinne :hi:
FS modder & scripter
quality modding and support since 2012
viewtopic.php?f=884&t=115656
User avatar
oschuhm
Posts: 58
Joined: Sun Apr 03, 2016 1:12 pm
Location: Flacht
Contact:

Re: Extra InputBiding Einträge für Radlader

Post by oschuhm »

Hi,
könnte man da nicht mit FreePie und PPJoy was emulieren?
Die bekommen Input von Pedal und Joystick und geben sich dann gegenüber LS als eine Achse aus.
Unsere Community: https://www.ls-farmers.de
LS-Farmers auf Twitch: LS-Farmers Twitch Kanal
LS-Farmers bei Youtube: LS-Farmers YouTube Kanal
User avatar
oschuhm
Posts: 58
Joined: Sun Apr 03, 2016 1:12 pm
Location: Flacht
Contact:

Re: Extra InputBiding Einträge für Radlader

Post by oschuhm »

Hi,

habe das gerade mal ausprobiert.

Man kann das mit vJoy und FreePIE umsetzen.
In deiner Inputbindings.xml weißt Du die Achse deinem virtuellen Joystick zu (ist bei mir Device 2 und ich habe hier die Y-Achse AXIS_2 genutzt)

Code: Select all

    <axis name="AXIS_MOVE_FORWARD_VEHICLE" category="VEHICLE" key1="KEY_s" key2="KEY_w" key3="" key4="" button="" axis="AXIS_2" device="2" invert="false" button1="" button2="" mouse="" mouseAxis="" visible="true" />
Dann nutzt Du in FreePIE ein kleines Script.
Es werden Pedale und Joystick ausgelesen. Du kannst beide Geräte "analog" nutzen und Bremse und Gas dosieren
Grundsätzlich gilt ... sobald mit Pedal oder Joystick gebremst wird ... dann wird gebremst. Egal wieviel Gas Du gibst.

Code: Select all

virtualJoystick1 = vJoy[0] #das ist der virtuelle Joystick
logitechJoystick1 = joystick[1] #das hier ist mein Logitech Joystick
logitechWheel = joystick[2] #das ist mein Logitech G29

#Die Ausgangswerte vom virtuellen Joystick gehen von +16382 bis -16382
#Lenkrad und Joystick gehen von +1000 bis -1000
#Deswegen muss ich hier bei den Ausgabewerten immer mit 16.382 multiplizieren um einen passenden Wert zu bekommen

#Auslesen der Werte vom Lenkrad / Pedalen
clutch = round(logitechWheel.sliders[0] * 16.382) #liest den Wert der Kupplung vom G29 und passt die Auflösung an 
brake = (logitechWheel.zRotation - 1000) * -1 #liest den Wert des Bremspedal ein und normiert von 0-2000
accelerator = (logitechWheel.y - 1000) * -1 #liest den Wert des Gaspedals ein und normiert von 0-2000

#Auslesen der Y-Achse vom Joystick
#ich habe hier dem Joystick einen Toleranz Wert gegeben. Der hat leider ein wenig Spiel
if logitechJoystick1.y < -150:
	joyAccel = logitechJoystick1.y * -2 #liest den Beschleunigungswert ein und normiert 0-2000
elif logitechJoystick1.y > 150:
	joyBrake = logitechJoystick1.y * 2 #liest die Bremse ein und normiert 0-2000
else:
	joyBrake = 0	#wenn der Joystick innerhalb der Toleranz liegt simuliere ich hier die Mittelstellung des Joysticks
	joyAccel = 0
	
#wenn der Bremswert auf dem Joystick größer ist als auf dem Pedal, dann zieht die Joystick Bremse
if joyBrake > brake:
	brake = joyBrake
	
#wenn die Beschleunigung auf dem Joystick größer ist als auf dem Pedal, dann wird der Joystick Wert verwendet	
if joyAccel > accelerator:
	accelerator = joyAccel
	
#jetzt muss man nur noch Bremse und Gas auf eine Achse für den LS15 packen
#gebremst wird bei + Werten, beschleunigt bei - Werten
#Da es eine kombinierte Achse ist muss ich den Ausgabewert mit 2 dividieren.
if brake > 0:
	combinedAccelBrake = brake * 16.382 / 2
else:
	combinedAccelBrake = accelerator * -1 * 16.382 / 2

#und jetzt noch die Zuweisung auf den virtuellen Joystick
virtualJoystick1.x = clutch					#Kupplung der virtuellen Achse X des Joysticks zuweisen (AXIS_1 in inputbindings.xml)
virtualJoystick1.y = combinedAccelBrake		#Kombiniertes Gas/Brems Pedal der Achse Y des Joysticks zuweisen (AXIS_2 in inputbindings.xml)

#just for monitoring the values
#this code is not needed in the final script
diagnostics.watch(joyAccel)
diagnostics.watch(joyBrake)
diagnostics.watch(brake)
diagnostics.watch(accelerator)
diagnostics.watch(combinedAccelBrake)
Ich hoffe man kann den Code verstehen.
Keine Angst. Alles hinter dem # sind Kommentare um den Code besser zu lesen.

Gruß

Olli
Unsere Community: https://www.ls-farmers.de
LS-Farmers auf Twitch: LS-Farmers Twitch Kanal
LS-Farmers bei Youtube: LS-Farmers YouTube Kanal
User avatar
oschuhm
Posts: 58
Joined: Sun Apr 03, 2016 1:12 pm
Location: Flacht
Contact:

Re: Extra InputBiding Einträge für Radlader

Post by oschuhm »

Ach so ... ich habe das jetzt nur mal exemplarisch für Gas und Bremse umgesetzt.
Lenken funktioniert aber nach dem gleichen Prinzip.
Werte von Lenkrad und Joystick einlesen ... normieren ... schauen was größer ist und den Wert dann nehmen.
Hier dann schauen, dass entweder Lenkrad oder Joystick Vorrang hat. Nicht das man auf dem einen nach links lenkt und dem anderen nach rechts und dann hat man das Chaos.
Unsere Community: https://www.ls-farmers.de
LS-Farmers auf Twitch: LS-Farmers Twitch Kanal
LS-Farmers bei Youtube: LS-Farmers YouTube Kanal
Post Reply