@marxkevin1996 mir ist wohl bewußt das vR hier zwar mitliest...aber antworten werden sie bei solchen Dingen hier wohl nicht ;).
Abgesehen davon hat mich hier der persönliche Ehrgeiz gepackt.
Deshalb wäre für mich die letzte Instanz eher der vR Support
ich kann im übrigem einen Teilerfolg verbuchen...
Der Kollege @Thor hat mich auf die Existenz des Syscalls "PlayerEngine:SetControlTargetValue" aufmerksam gemacht, der im Gegensatz zum Syscall "PlayerEngine:SetControlValue" hier greift! -- Danke nochmals dafür
Das einzige Problem das ich noch habe, ist das die Werte der ControlValues "PZBOnOff" und "SifaOnOff" auf 1 stehen bleiben. Beide Zugsicherungssysteme scheinen dennoch zu funktionieren (Rückmeldung bzgl. SiFa und PZB Einschaltung des vR Messagesystems kommen wie gewünscht). Tiefgründige Tests ob das Einfluß auf die Funktion beider Systeme hat habe ich nicht getätigt. Alle versuche die Werte beider Stats (SiFa-/PZBOnOff) auf "0" zu setzen, blieben bislang erfolglos. Egal ob aneinander gefügt oder mit irgendwelchen "Zeitüberbrückern" zwischen den "1" und "0" Befehlen.
Nur wenn ich "geschummelt*" habe konnte ich die Werte auf "0" zurücksetzen.
(*Die Befehle zum Zurücksetzen in einen anderen (zeitlich versetzten) Event verlagert )
Ich seh mir das morgen Abend nochmal an...wär doch gelacht
Update:
-Ich bekomme das Problem, das die ControlStates nicht zurück auf 0 gehen nicht in den Griff
-PZB und Sifa scheinen dennoch normal zu funktionieren.
PZB Zugart O wird auch gewählt...
Dennoch würde ich jedem raten das folgende Script mit allergrößter Vorsicht zu benutzen (betrifft natürlich nur den SiFa und PZB Bereich )!
Ich habe keine Ahnung, was das in einem komplexem, vorallem mit PZB-lastigen Manövern ausgestattetem, Szenario anstellt!
function sleep(n) --Funktion soll das Script fuer "n"-Sekunden anhalten...klappt irgendwie nicht!
TIME1 = GetScenarioTime();
while GetScenarioTime() - TIME1 <= n do
end
end
function OnEvent ( event )
if ( event == "LOCK_CONTROLS" ) then
SysCall ( "ScenarioManager:LockControls" );
end
if ( event == "UNLOCK_CONTROLS" ) then
SysCall ( "ScenarioManager:UnlockControls" );
end
if ( event == "CabCamera") then
SysCall ( "CameraManager:ActivateCamera", "CabCamera" , 0 );
end
if (event == "BRAKEMODE_1") then
SysCall ( "PlayerEngine:SetControlValue" , "BrakeMode" , 0 , 1 ); --Bremsstellung R (nur 101)
end
if (event == "BRAKEMODE_2") then
SysCall ( "PlayerEngine:SetControlValue" , "BrakeMode" , 0 , 2 ); --Bremsstellung P
end
if (event == "BRAKEMODE_3" ) then
SysCall ( "PlayerEngine:SetControlValue" , "BrakeMode" , 0 , 3 ); --Bremsstellung P2 (nur 151)
end
if (event == "BRAKEMODE_4" ) then
SysCall ( "PlayerEngine:SetControlValue" , "BrakeMode" , 0 , 4 ); --Bremsstellung G
end
if ( event == "SIFA" ) then
SysCall ( "PlayerEngine:SetControlTargetValue", "SifaOnOff" , 0 , 1 ) ;
sleep( "2" ); --sleep( 2 ); egal ob String oder Zahl...es geht nicht!
SysCall ( "PlayerEngine:SetControlTargetValue", "SifaOnOff" , 0 , 0 ) ; --klappt nicht ohne zeitlichen Abstand (Wert bleibt auf 1)
end
if ( event == "PZB_O" ) then
SysCall ( "PlayerEngine:SetControlTargetValue", "PZBOnOff" , 0 , 1 ) ;
sleep( "2" ); --sleep( 2 ); egal ob String oder Zahl...es geht nicht!
SysCall ( "PlayerEngine:SetControlTargetValue", "PZBOnOff" , 0 , 0 ) ; --klappt nicht ohne zeitlichen Abstand (Wert bleibt auf 1)
end
end
Alles anzeigen
Wenn jemand eine Idee hat, warum meine sleep Funktion im Script nicht tut wie es soll (und diese dann auch mit mir teilen möchte ) wäre das natürlich klasse.
Der zum Script passende Fahrplan sieht für meinen Test so aus:
Falls jemand mein 25 Sekunden Test Szenario für die Verkehrsrote 101 EL haben möchte, schreibt mich an. (Das kann sich aber auch jeder mit den hier vorhandenen Infos in 2 Minuten selber basteln )
Grüße
-setter-