Mache ich diese letzte Änderung rückgängig, kann ich die BR 361 ganz normal mit dem Raildriver fahren. Es wird auch weiterhin nach vorne/oben Leistung die Fahrleistung erhöht. Unterm Strich bleibt damit die Richtung des Raildrivers invertiert, der Leistungsregler liegt aber dann auf der unteren Hälfte des Raildrivers, nicht auf der oberen.
Hi Leute...
so dass hat mich jetzt zwar fast meinen ganzen freien Tag gekostet, aber ich wollt es unbedingt hinbekommen....
So ganz trivial ist das Script von MacroWorks dann doch nicht....
Also hier die Lösung:
1) Wieder in Case 2002 folgendes komplett ersetzten:
Case 0 'throttle as labeled on RD (throttle on bottom half)
m =lever(1).slope(0)
b =lever(1).intercept(0)
m1=lever(1).islope(1)
b1=lever(1).iintercept(1)
invert=true 'change to true to invert
If (invert=false) then
If (AnalogValue(0)>=maxthrottle) Then 'full throttle
TS_SetControllerValue(THROTTLE_ID, RailSimThrottleMax)
Else If (AnalogValue(0)<maxthrottle And AnalogValue(0)>minthrottle) Then 'between full throttle and idle
Dim sendval As Single=m*AnalogValue(0)+b
TS_SetControllerValue(THROTTLE_ID, sendval)
Else 'idle
TS_SetControllerValue(THROTTLE_ID, RailSimThrottleMin)
End If
Else
If (AnalogValue(0)<=maxbrake) Then 'full throttle now
TS_SetControllerValue(THROTTLE_ID, RailSimThrottleMax)
Else If (AnalogValue(0)>maxbrake And AnalogValue(0)<minbrake) Then 'between dynamic brake setup and dynamic brake
Dim sendval As Single=m1*AnalogValue(0)+b1
TS_SetControllerValue(THROTTLE_ID, sendval)
Else 'idle
TS_SetControllerValue(THROTTLE_ID, RailSimThrottleMin)
End If
End If
lever(1).LastValue=AnalogValue(0)
2) Nun muß man dem Script noch beibringen, dass er die Werte auf der oberen Achse, also da wo normaler weise die dyn.Brake liegt, nimmt, dazu folgendes im Abschintt
If (ThrottleStyle=0) Then
'segment full throttle to throttle idle
'uses RailSimThrottleMin, RailSimThrottleMax, THROTTLE_ID in Case 2002
Ist ziemlich weit unten im Script, folgendes hinzufügen:
'inverted put throttle on top
x1 = ((lever(1).position(2).max - lever(1).position(2).min) / 2.0) + lever(1).position(2).min
x2 = ((lever(1).position(3).max - lever(1).position(3).min) / 2.0) + lever(1).position(3).min
y1=RailSimThrottleMax
y2=RailSimThrottleMin
lever(1).islope(1) = (y2 - y1) / (x2 - x1)
lever(1).iintercept(1) = y1 - (lever(1).islope(1) * x1)
Sollte dann so aussehen:
If (ThrottleStyle=0) Then
'segment full throttle to throttle idle
'uses RailSimThrottleMin, RailSimThrottleMax, THROTTLE_ID in Case 2002
y1=RailSimThrottleMax
y2=RailSimThrottleMin
x1 = ((lever(1).position(0).max - lever(1).position(0).min) / 2.0) + lever(1).position(0).min
x2 = ((lever(1).position(1).max - lever(1).position(1).min) / 2.0) + lever(1).position(1).min
lever(1).slope(0) = (y2 - y1) / (x2 - x1)
lever(1).intercept(0) = y1 - (lever(1).slope(0) * x1)
lever(1).islope(0) = (y1 - y2) / (x2 - x1)
lever(1).iintercept(0) = y2 - (lever(1).islope(0) * x1)
'inverted put throttle on top
x1 = ((lever(1).position(2).max - lever(1).position(2).min) / 2.0) + lever(1).position(2).min
x2 = ((lever(1).position(3).max - lever(1).position(3).min) / 2.0) + lever(1).position(3).min
y1=RailSimThrottleMax
y2=RailSimThrottleMin
lever(1).islope(1) = (y2 - y1) / (x2 - x1)
lever(1).iintercept(1) = y1 - (lever(1).islope(1) * x1)
Habe es jetzt mit der V200 und der BR361 probiert und es klappt.
Hoffe das Hilft und ist nicht zu verwirrend....
Grüße
Henning
PS: Die Änderungen nochmal als Textdatei, weils dann nachher im Script schöner aussieht
Throttle-Aenderung.txt