Hallo!
Ich möchte die Trigger für das Ziel-Rollband vereinheitlichen, da ich für Rollband-Busse nicht zwei unterschiedliche Geräte gleichen Namens in den Inputs haben möchte. Fürs Zielrollband nutze ich die Saitek-Konsole, und wie bei Lenkrädern kann man nicht zwei Trigger auf eine Taste legen wie bei der Tastatur, und auch möchte ich vermeiden irgendwelche Umleitungssoftware des Signale zu nutzen. Anderen ist vielleicht das Problem bekannt durch die Vielzahl an Kneeling-Triggern, hier geht es ums Rollband.
In OMSI hat man prinzipiell hier zwei verschiedene Trigger:
bus_rollband_up_step und bus_rollband_dn_step wie beim SD77
und
bus_rollband_up und bus_rollband_dn wie bei O307
Letztere Variante ist die, die ich gerne universal verwenden möchte, auch beim SD77-Typ, da sie auch bei den Liniennummern zum Einsatz kommt.
Also hab ich im SD77 Rollband.-Skript folgendes modifiziert:
ORIGINAL:
{trigger:bus_rollband_up}
(L.L.rlbnd_activekurbel) 1 =
{if}
(L.L.rlbnd_ln1) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln1)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 2 =
{if}
(L.L.rlbnd_ln2) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln2)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 3 =
{if}
(L.L.rlbnd_ln3) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln3)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{endif}
{endif}
{endif}
{end}
{trigger:bus_rollband_dn}
(L.L.rlbnd_activekurbel) 1 =
{if}
(L.L.rlbnd_ln1) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln1)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 2 =
{if}
(L.L.rlbnd_ln2) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln2)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 3 =
{if}
(L.L.rlbnd_ln3) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln3)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{endif}
{endif}
{endif}
{end}
Alles anzeigen
MOD:
{trigger:bus_rollband_up}
(L.L.rlbnd_activekurbel) 1 =
{if}
(L.L.rlbnd_ln1) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln1)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 2 =
{if}
(L.L.rlbnd_ln2) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln2)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 3 =
{if}
(L.L.rlbnd_ln3) (L.S.timegap) 1 / + 0 max 15 min (S.L.rlbnd_ln3)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 4 =
{if}
1 (S.L.rlbnd_auf_pressed)
(T.L.rlbnd_taste_ein)
{else}
(L.L.rlbnd_activekurbel) 4 =
{if}
0 (S.L.rlbnd_auf_pressed)
(T.L.rlbnd_taste_aus)
{endif}
{endif}
{endif}
{endif}
{endif}
{end}
{trigger:bus_rollband_dn}
(L.L.rlbnd_activekurbel) 1 =
{if}
(L.L.rlbnd_ln1) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln1)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 2 =
{if}
(L.L.rlbnd_ln2) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln2)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 3 =
{if}
(L.L.rlbnd_ln3) (L.S.timegap) 1 / - 0 max 15 min (S.L.rlbnd_ln3)
(M.L.rollband_actu)
(M.L.rollband_refresh_setLineTo)
{else}
(L.L.rlbnd_activekurbel) 4 =
{if}
1 (S.L.rlbnd_ab_pressed)
(T.L.rlbnd_taste_ein)
{else}
(L.L.rlbnd_activekurbel) 4 =
{if}
0 (S.L.rlbnd_ab_pressed)
(T.L.rlbnd_taste_aus)
{endif}
{endif}
{endif}
{endif}
{endif}
{end}
Alles anzeigen
Ergebnis ist aber nicht zufriedenstellend, denn nach Betätigung der Taste rollt das Band dann durch, da die Taste im Bus am Steuergerät durchgedrückt wird. Es sollte sich aber so verhalten wie beim bus_rollband_dn_step und bus_rollband_up_step Trigger. Dort klappt es nämlich dass beim einmaligen Drücken der Taste das Band nur eine Position weiter rollt und beim gedrückt halten so lange rollt wie man gedrückt hält.
Was stimmt also in meiner Modifikation nicht?