Hello
I share the link that solved my problem regarding "device analyzer" see previous posts:
Follow the post 6
http://skeletoncrew.ca/forum/index.php?topic=856.0
Thanks again Aussiedroid for your work
Hello
I am not a pro of the script lol
some small improvement of the launch script:
use of environmental variable.
example:
"C: \ Users \ My User \ AppData \ Local \ Frontier Developments \ Elite Dangerous \ Options \ Bindings \ *. *"
By :
"%LOCALAPPDATA%\Frontier Developments\Elite Dangerous\Options\Bindings\*.*"
or :
"C:\Program Files (x86)\Thrustmaster\TARGET\x64"
By :
"%programfiles(x86)%\Thrustmaster\TARGET\x64"
replacement : PING -n 4 localhost>nul
By : timeout / nobreak / T 4
Use nircmd to reduce the windows in the stain bar.
Link : http://www.nirsoft.net/utils/nircmd.html
example for Targetgui.exe:
Add these lines after: If ERRORLEVEL 1 ECHO ...ERROR!!! ~Check TARGETGUI.exe path/installed/already running~
ECHO MINIMISE: REDUCTION DE LA FENETRE [Run Script]
If NOT ERRORLEVEL 1 START nircmd.exe win min process "TARGETGUI.exe"
timeout /nobreak /T 1
TASKLIST | FIND /I "nircmd.exe"
If NOT ERRORLEVEL 1 ECHO ...SUCCESS!
CMDR Ptimale
PS : I try to run elite dangerous client in silent mode, if you have any info
Ping works universally though not really created as a delay mechanism in batch files!
;-)
Clicker
// TOGGLE: Enter/Exit FSS Mode
int fnToggleFSSMode() {
FSSMode = !FSSMode;
if (FSSMode) {
ActKey(KEYON+PULSE+FSSModeON);
SetSCurve(&Throttle, THR_FC, 0, 0, 0, 0, -2); // DX-SLIDER Linear progression. Low sensitivity
printf("FSS Mode: ON >>\x0a");
}
else {
ActKey(KEYON+PULSE+FSSModeOFF);
SetCustomCurve(&Throttle, THR_FC, LIST(0,0, 33,25, 66,50, 80,75, 100,100)); // DX-SLIDER Non-Linear progression
printf("FSS Mode: OFF >>\x0a");
}
}
SetShiftButton(&Joystick, S4, &Throttle, PSF, PSB); [COLOR=#32cd32]// Set Shift Button (Pinky Toggle Switch) for MapKeyUMD (With UDTOGGLE is Toggle, without is a Hold - See Page 22 of manual) [/COLOR]
MapKeyUMD(&Joystick, TG1, [COLOR=#32cd32]// Trigger 1 [Main Trigger][/COLOR]
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
SEQ[COLOR=#ffffff]([/COLOR]REXEC[COLOR=#ffffff]([/COLOR][COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]7000[/COLOR], [COLOR=#EAAEAE]"ActKey(KEYON+PULSE+PrimaryFire); printf("Repeater Fire: AUTO-PULSE WAVE ^FIRED^ .^.^.^. (PRIMARY) ^^\\x0a");"[/COLOR], RNOSTOP), EXEC([COLOR=#EAAEAE]"StopAutoRepeat(0); printf("Repeater Fire: AUTO-PULSE WAVE DISABLE ._._._. (PRIMARY)\\x0a");"[/COLOR])));
MapKeyR(&Joystick, TG1, EXEC( [COLOR=#EAAEAE]"if(RepeaterAutoRelease < 2) initAdvancedFireModule();"[/COLOR])); [COLOR=#32cd32]// Release Primary Trigger[/COLOR]
[COLOR=#32cd32]// MapKey(&Joystick, TG2, SecondaryFire); // Trigger 2 [Secondary Trigger] (Mapped in initAdvancedFireModule())[/COLOR]
MapKeyR(&Joystick, TG2, EXEC([COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR])); [COLOR=#32cd32]// Release Secondary Trigger (Keeps Primary firing after releasing Secondary Tier)[/COLOR]
[COLOR=#3D9FFF][B]int[/B][/COLOR] initAdvancedFireModule() { [COLOR=#32cd32]// FUNCTION: Advanced Weapon Fire Module[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]TG1]) { [COLOR=#32cd32]// [Integrates Combo Fire & Repeater Fire into Primary/Secondary Fire Buttons][/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]S4]) {
rAutoP=!rAutoP;
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease < [COLOR=#ffffff]2[/COLOR]) { [COLOR=#32cd32]// *Not really needed, but remains in case I add code for RepeaterAutoRelease = 2 in the future.[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireP & rAutoP) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]DOWN[COLOR=#ffffff]+[/COLOR]PrimaryFire); [COLOR=#32cd32]// Pinky Trigger + Primary = REPEATING FIRE[/COLOR]
rFireP = [COLOR=#ffffff]1[/COLOR]; }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rFireP & rAutoP) {
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease == [COLOR=#ffffff]1[/COLOR]) printf([COLOR=#EAAEAE]"Repeater Fire: EXPLORER SCANNER MODE ON .^...^. (PRIMARY) ^^\x0a"[/COLOR]);
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease == [COLOR=#ffffff]0[/COLOR]) printf([COLOR=#EAAEAE]"Repeater Fire: COMBAT ENDLESS MODE ON .^^^^^. (PRIMARY) ^^\x0a"[/COLOR]); }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rFireP & !rAutoP) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]PrimaryFire);
rFireP = [COLOR=#ffffff]0[/COLOR];
printf([COLOR=#EAAEAE]"Repeater Fire: COMBAT ENDLESS MODE OFF ._____. (PRIMARY)\x0a"[/COLOR]); } } }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]H4P]) {
initSetCombinedFire[COLOR=#ffffff]([/COLOR][COLOR=#ffffff]1[/COLOR]); } [COLOR=#32cd32]// CMS Hat Switch + Primary = COMBINE TOGGLE[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!Joystick[COLOR=#ffffff][[/COLOR]H4P] & !Joystick[COLOR=#ffffff][[/COLOR]S4]) {
rAutoP = [COLOR=#ffffff]0[/COLOR];
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireP) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]DOWN[COLOR=#ffffff]+[/COLOR]PrimaryFire); } } } [COLOR=#32cd32]// Primary Only = STANDARD FIRE (Releases Repeating Fire when on Manual User Preference)[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!Joystick[COLOR=#ffffff][[/COLOR]TG1]) { [COLOR=#32cd32]// [Set 'RepeaterAutoRelease' value in the User Preferences][/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease == [COLOR=#ffffff]1[/COLOR]) { [COLOR=#32cd32]// Auto Primary Release ENABLED[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rFireP & rAutoP) {
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimer, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]PrimaryFire); [COLOR=#32cd32]// Automatic timer delay to release Primary Fire after a 6 second hold[/COLOR]
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimerOff, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"rFireP = 0;"[/COLOR])); [COLOR=#32cd32]// Slight offset timing of +200ms to ensure triggering after event[/COLOR]
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimerOff, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"rAutoP = 0;"[/COLOR]));
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimer, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"printf(\"Repeater Fire: EXPLORER SCANNER MODE OFF ._..._. (PRIMARY)\\x0a\");"[/COLOR])); }
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireP) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]PrimaryFire); } }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease != [COLOR=#ffffff]1[/COLOR]) { [COLOR=#32cd32]// Manual Primary Release ENABLED[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireP & !rAutoP) { [COLOR=#32cd32]// Checks if Repeater Fire was enabled, if NO, only release primary fire button[/COLOR]
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]PrimaryFire); } } }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]S3]) {
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]S4]) {
rAutoS=!rAutoS;
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireS) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]DOWN[COLOR=#ffffff]+[/COLOR]SecondaryFire); [COLOR=#32cd32]// Pinky Trigger + Secondary = REPEATING FIRE[/COLOR]
rFireS = [COLOR=#ffffff]1[/COLOR]; }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rAutoS) {
printf([COLOR=#EAAEAE]"Repeater Fire: AUTO ON (SECONDARY) ^^\x0a"[/COLOR]); } }
[COLOR=#3D9FFF][B]if[/B][/COLOR](!Joystick[COLOR=#ffffff][[/COLOR]S4]) {
rAutoS = [COLOR=#ffffff]0[/COLOR];
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireS) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]DOWN[COLOR=#ffffff]+[/COLOR]SecondaryFire); } } } [COLOR=#32cd32]// Secondary Only = STANDARD FIRE (Releases Repeating Fire)[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!Joystick[COLOR=#ffffff][[/COLOR]S3]) {
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]RepeaterAutoRelease) { [COLOR=#32cd32]// Auto Secondary Release ENABLED[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rFireS & rAutoS) {
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimer, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]SecondaryFire); [COLOR=#32cd32]// Automatic timer delay to release Secondary Fire after a 6 second hold[/COLOR]
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimerOff, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"rFireS = 0;"[/COLOR])); [COLOR=#32cd32]// Slight offset timing of +200ms to ensure triggering after event[/COLOR]
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimerOff, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"rAutoS = 0;"[/COLOR]));
DeferCall[COLOR=#ffffff]([/COLOR]RepeaterTimer, &ActKey, KEYON[COLOR=#ffffff]+[/COLOR]PULSE[COLOR=#ffffff]+[/COLOR]EXEC([COLOR=#EAAEAE]"printf(\"Repeater Fire: AUTO OFF (SECONDARY)\\x0a\");"[/COLOR])); }
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireS) {
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]SecondaryFire); } }
[COLOR=#3D9FFF][B]if[/B][/COLOR](!RepeaterAutoRelease) { [COLOR=#32cd32]// Manual Secondary Release ENABLED[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR](!rFireS & !rAutoS) { [COLOR=#32cd32]// Checks if Repeater Fire was enabled, if NO, only release secondary fire button[/COLOR]
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]SecondaryFire); }
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]rFireS & !rAutoS) { [COLOR=#32cd32]// Checks if Repeater Fire was enabled, if YES, also reset flag & print[/COLOR]
ActKey[COLOR=#ffffff]([/COLOR]KEYON[COLOR=#ffffff]+[/COLOR]UP[COLOR=#ffffff]+[/COLOR]SecondaryFire);
rFireS = [COLOR=#ffffff]0[/COLOR];
printf([COLOR=#EAAEAE]"Repeater Fire: AUTO OFF (SECONDARY)\x0a"[/COLOR]); } } } }
MapKeyIOUMD(&Joystick, TG1, [COLOR=#32cd32]// Trigger 1 [Main Trigger][/COLOR]
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
EXEC( [COLOR=#EAAEAE]"initAdvancedFireModule();"[/COLOR]),
SEQ[COLOR=#ffffff]([/COLOR]REXEC[COLOR=#ffffff]([/COLOR][COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]7000[/COLOR], [COLOR=#EAAEAE]"ActKey(KEYON+PULSE+PrimaryFire); printf(\"Repeater Fire: AUTO-PULSE WAVE ^FIRED^ .^.^.^. (PRIMARY) ^^\\x0a\");"[/COLOR], RNOSTOP), EXEC([COLOR=#EAAEAE]"StopAutoRepeat(0); printf(\"Repeater Fire: AUTO-PULSE WAVE DISABLE ._._._. (PRIMARY)\\x0a\");"[/COLOR])));
MapKeyR(&Joystick, TG1, EXEC( [COLOR=#EAAEAE]"if(RepeaterAutoRelease < 2) initAdvancedFireModule();"[/COLOR])); [COLOR=#32cd32]// Release Primary Trigger[/COLOR]
[COLOR=#3D9FFF][B]if[/B][/COLOR][COLOR=#ffffff]([/COLOR]Joystick[COLOR=#ffffff][[/COLOR]H4P]) {
initSetCombinedFire[COLOR=#ffffff]([/COLOR][COLOR=#ffffff]1[/COLOR]); }