Release Clicker's WARTHOG TARGET Script

@Clicker
Hello Clicker (and Aussiedroid).

I hope one of you is still around. You guys are amazing; you are real enthusiasts and pationed programmer regarding that TM HOTAS TARGET scripts.
I played ED since the beginning with Aussiedroids TARGET script, Voice attack and HCS voicepacks, VR (partly) and IR head tracking / Tobii Eye tracking and lots of other hardware.
ED is more or less the only game I have time and want to play with the respect to my family and other duties.

Currently I had to build the first PC for my son and so I gave your v5.0 a chance for my new Win11 built.
Unfortunately I was not able to make the script run; no clue what went wrong and where I failed; somewhere on the way I might have lost track. I have really no clue how I can make that work now how I can ask you where my problem is.

Now I have water in my basement and cannot play at all as my PC is not set up until all the work is done down there in my home office and men's cave/entertainment area.
If you still want to offer me you , is there anything what I should have prepared that you can help me; any files or outcome or folder content or script?

Cheers,
major7079
 
Hi @major7079 ,

I'm still around but Aussiedroid dropped out a few years back.
I can support both mine and Aussiedroid's scripts.

It would be helpful to understand the following;
a) which script you are trying to use (his, or mine)
b) summary of what you've done to get them running
c) where it seems to fail (any error messages would be very much appreciated).

Cheers
Clicker
 
Last edited:
Greetings Commanders,

Version 5.02 now available to public.


Changes from 5.0.0 listed in changelog.txt file

====

What's new... (see Changelog.txt in package for complete list)

v5.0.0
  • - New Major release - Odyssey
  • - Add reg scrap folder and scraps for extra voices
  • - Added more comments in ED_UserSettings.tmh to include how to add TTS voices to Win10
  • - tgWarpDrive()
    • - Add more tests.
    • - Include retries if Masslocked - via fnCheckFSDMasslocked()
    • - Add check for FSD Charge failure - via fnCheckFSDCharge()
  • - Update TARGET software to 3.0.20.826 and update ED_Main.tmc to exclude the new hardware
  • - Add new Odyssey based status.json Flags2 defines and global variables
  • - Add new stfnProcessFlags2() function within ED_StateTracker.tmh
  • - Wing Beacon macro fixed for Odyssey - selection not moving back up tree to top for Wing Beacon toggle
  • - Game START and HALT now tested via myJson string length (no longer via Flags NEQ 0) due to Odyssey changes
  • - Include Communications Control code (ED_CommsControl.tmh) NOTE: Still under test!
  • - Update Status Page Printout to include Flags2 bits

After much deliberation and gnashing of teeth, I have decided to share my own personal Thrustmaster Warthog TARGET Script.

I originally used Aussiedroid’s script (v3.1.0.5) as the base...2 years ago.
However my philosophy is fundamentally different in so far as I only included the functionality I wanted to use and therefore stripped out everything else.

I then expanded some features, added a lot more of my own and rewrote the script from the ground up several times as I learnt more about how TARGET script worked…and now, two years later, it is...what it is!
I have now added in some usability features to suit other players, some of whom are perhaps starting out and just want a BASIC profile with no bells and whistles.

The single biggest difference between my script and all the others I’ve seen and borrowed ideas from is that mine continuously reads the status.json file in the journal folder, then uses comprehensive state tracking for most of the features and functions in the FULL profile.

Features of my script include; (updated)
  • 2 separate, user selectable MapKey profiles
  • FULL – all the bells and whistles
  • BASIC – no macros, no function calls, just send basic keystrokes
  • 3 additional firing modes for primary and secondary triggers including
  • Pulse Wave Scanner mode (fires a pulse every 7 seconds)
  • Discovery Scanner mode (holds trigger for 6.1 seconds)
  • Mining Laser Mode (press to fire, press to stop)
  • 5 user customisable, change on the fly curve profiles for Joystick, Rudder and Slew selectable via the autopilot switch
  • FA-OFF automatically applies custom curves to joystick and rudder
  • User customisable curve profiles for slew control and slider
  • Slider curves (Radar tuning) automatically applied via flight mode tracking
  • Advanced PIP Manager includes 6 PIP modes, all selectable on the fly
  • Advanced Counter measures control includes single SCB, SCB with auto heatsink and ‘Double Bank’ (2 x SCB + 1x heatsink) modes
  • Silent Running ‘Strobe’ feature to toggle silent running on/off every 2 seconds
  • Text-To-Speech engine provides additional voice feedback
    • turn on/off on the fly
    • volume control on the fly
    • includes a training mode which speaks each switch/button function
    • user selectable default voice
    • use different voices for different functions (in script only)
  • Sound effects engine to add extra feedback in game
  • Advanced state processor, which reads status.json twice per second and detects when key flags are changed.
  • Additional flags tracked, saved to file and loaded when required, automatically
  • Comprehensive print to console messages by most functions
  • On the fly LED ON/OFF plus brightness control.
  • Status LEDs accurately synchronised with game states for 5 key ship systems
  • Flashing base LEDs on game start and flashing status LEDs on state change
  • User Setting to enable or disable flashing LEDs
  • Accurate game start and stop detection
  • Macros included for;
    • Docking request with auto PIPs to shields
    • Wing Beacon On/Off
    • Report Crimes On/Off
    • Deploy and Recover the SRV
    • Dismiss/Recall Ship
    • Station services which can be set to auto on dock, or via switch
    • Launch+lift off+retract landing gear+25% throttle
    • Fast Game Mode switching (includes anti-clog code)
  • Simple, logical target designator functions including system module targeting
  • Speed brake function using timed landing gear deployment/retraction
  • Advanced Super cruise / Hyper jump tracking with drop detection
  • Joystick, Throttle and Keyboard Utilisation images for both BASIC and FULL profiles
  • Fully documented and commented code
  • Comprehensive Key Bind Sheet file detailing standard and combo keyboard keys
  • Toggle Engine and Weapon colours on the fly
  • 2x comprehensive custom key bind files included
  • Extensive use of layers using Throttle Pinky and/or Joystick Pinky switches
  • Audio reminders when Throttle Pinky modifier switch is not in the middle
  • Training Mode which prints to console and speaks the function of all buttons and switches
  • ...and more!
I have included the User Reference Guide (PDF) in the package to describe in simple terms, how to make the most of using the script.

The script itself is intended to provide immersion within the game but has an absolute TON of commentary if you are so inclined to look under the hood.
In this regard, the script serves as an excellent reference for those who wish to learn TARGET script, or extend their knowledge beyond the basic “Fast Script Basics User Manual” supplied by Thrustmaster.

This script is a labour of love and continuous work in progress for me and I am constantly changing, improving and adding stuff all the time.

I hope you enjoy this script and that it suits your requirements and playstyle.

I look forward to any feedback and suggestions you may have for improvement.

Cheers
CMDR Clicker
After a brief look at your code (from a target scripting novice and AussieDroid script user) I can say 'wow'. When I get time (just started playing again after about a 3 year break) I'll install and explore!
 
Hello!

I'm hoping I can pick your brains a little?

I've been away for awhile and wanted to fire up my ship and get out there a little. Unfortunately, last time I used it I never managed to get aussidroids odyssey script working so defaulted to using his 4.3.

Upon running that script no longer accepts any xy inputs from the stick, but windows does see it when the script isn't running, which is weird. I even downloaded a fresh copy and it's the same way.

SO searching the forum I found your script, but on running that I get this error"

"!!! FATAL ERROR !!!

status.json file not found.

Please set 'StatusFile' alias correctly in ED_UserSettings file
Refer ED_UserSettings.tmh file for instructions.

Script requested Abort!
Aborting script (check output above for reason)...
Script stopped!

Runtime Error: Script run aborted in main ( line 1158 in ED_StateTracker.tmh )"

Which is broadly similar to the error I got in aussiedroids odyssey script. I'm rubbish at anything involving even basic scripting, so any chance you could explain the issue and to resolve in a way in which I can understand please?
 
Hi @imski,

For the scripts to work they read the status.json file every half a second
The status.json file is continuously updated by the game.

The error you are getting tells you what to do..."set StatusFile alias correctly in ED_UserSettings file"

To do this for my latest script (v502), open the ED_UserSettings.tmh file using notepad or notepad++ and find the following lines...

Code:
	alias	JournalFolder		= "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\";
	alias	StatusFile		    = "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\status.json";
	alias	MaxStatusFile		= "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\NewMaxJson.json";

change "d:" to "c:"
change "den" to your windows username

For Aussiedroid's Odyssey script, open his AD_EDUserPrefs_v5.0.0.tmh file and edit line 41 using notepad or notepad++...
Code:
	alias  StatusFile			= "C:\\Users\\<username>\\Saved Games\\Frontier Developments\\Elite Dangerous\\status.json";

Change "<username>" to your windows username.

Whilst you have the above file/s open, it is recommended you have a read of the comments within the file which will assist with setting anything else that may be required.
Yes, it is a bit tedious, but once set correctly everything should just work.

NOTE: Aussiedroid's scripts are now over 2 years old and may not be compatible with the latest version of the TARGET software.
Once you update the ED_UserSettings.tmh or AD_EDUserPrefs_v5.0.0.tmh files, if you still get errors, please post the details (screenshots are best) as follows...

For my v502 script, post here.
For Aussiedroid's scripts, post in his script thread (https://forums.frontier.co.uk/threads/aussiedroids-enhanced-thrustmaster-warthog-script.293027/) and I'll endeavour to assist you there.

Hope this helps.
Clicker
 
Last edited:
Ok, so I got the aussiedroid odyssey script working but it
Hi @imski,

For the scripts to work they read the status.json file every half a second
The status.json file is continuously updated by the game.

The error you are getting tells you what to do..."set StatusFile alias correctly in ED_UserSettings file"

To do this for my latest script (v502), open the ED_UserSettings.tmh file using notepad or notepad++ and find the following lines...

Code:
    alias    JournalFolder        = "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\";
    alias    StatusFile            = "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\status.json";
    alias    MaxStatusFile        = "d:\\Users\\den\\Saved Games\\Frontier Developments\\Elite Dangerous\\NewMaxJson.json";

change "d:" to "c:"
change "den" to your windows username

For Aussiedroid's Odyssey script, open his AD_EDUserPrefs_v5.0.0.tmh file and edit line 41 using notepad or notepad++...
Code:
    alias  StatusFile            = "C:\\Users\\<username>\\Saved Games\\Frontier Developments\\Elite Dangerous\\status.json";

Change "<username>" to your windows username.

Whilst you have the above file/s open, it is recommended you have a read of the comments within the file which will assist with setting anything else that may be required.
Yes, it is a bit tedious, but once set correctly everything should just work.

NOTE: Aussiedroid's scripts are now over 2 years old and may not be compatible with the latest version of the TARGET software.
Once you update the ED_UserSettings.tmh or AD_EDUserPrefs_v5.0.0.tmh files, if you still get errors, please post the details (screenshots are best) as follows...

For my v502 script, post here.
For Aussiedroid's scripts, post in his script thread (https://forums.frontier.co.uk/threads/aussiedroids-enhanced-thrustmaster-warthog-script.293027/) and I'll endeavour to assist you there.

Hope this helps.
Clicker

Thanks for this, that seemed to do the trick. Unfortunately none of the Pinky button modifier actions are working now. Things like the full throttle/pinky jump activation, or the automated docking request no longer work. I didn't think missing those would be a big deal, but I have such muscle memory for them that it feels wrong to not have them!
 
Hi,

I do not mean to be rude but please post your Aussiedroid script issue in the Aussiedroid script thread.
This way it helps others who might be having same issue as you.

Make sure you include the script and TARGET versions you are using.

I will then try to assist.

Clicker
 
Version 5.02 now available to public.


Changes from 5.0.0 listed in changelog file
Once my basement and walls are dry again (after flooding in June) and all is fixed again, I will try out your new version v5.02.
Since last game update all my binding were gone too.
Will do first all FW and Software updates of my HW and then try this again as 5.0.0, did not work for me due to my inconvenience.
I will keep you posted.
Anyhow I am really thankful that skilled people as you are still around and support this great game.

CU hopefully soon online,
CMDR E.P. Cole


P.S.:
I red this in one of your explanations/Tread of 2019:
"When you run the script, the TARGET interpreter (the thing that reads, compiles and runs the script) will create a new (emulated) game controller device in windows and any supported Thrustmaster devices which are enabled within the script will disappear from your Joystick control panel and be replaced with one called "Thrustmaster Combined". This is important...read that last sentence again slowly and carefully.

My script ONLY enables the joystick. So if you own a WARTHOG HOTAS, it leaves the Throttle alone.
On my PC, the "Joystick - HOTAS Warthog" will disappear and be replaced by "Thrustmaster Combined".
Of course, once the script is stopped, everything reverts to how it was."

Is that a different behavior than at ADs script.
Afaik this AD script merged my HOTAS WARTHOG "Stick" AND "Trottle" to a "Trustmaster Combined" device.
Is that right or was just a lack of my translation capabilities?
 
Last edited:
Hi @major7079 ,

AD's script requires both the Joystick and Throttle to be enabled and if you disable the throttle in AD's script, many, many things will not work.

The comment you quoted from me from 2019 above was for one of my tutorial scripts ("PIP Management...").
Whilst the tutorials will work in Elite Dangerous, you would still need to ensure your binds match the script, or, change the script to match your preferred binds. These tutorials are predominantly meant to introduce users to the TARGET script with some topical examples. Hopefully by reading the comments within the code you will be able to sort out which keybinds you need to set within the game.

My v5.02 script that you linked at the top of your post is a full featured script and requires both Joystick and Throttle enabled and will abort if they are not present or disabled.
The package for this full featured script includes bind files.
Obviously, if you've already set your binds and are used to them, no doubt mine will likely be completely different and will take some game time to get used to them.

To assist with learning, my package also includes map files which list which keys do what.
Further, the package also includes a user guide which goes into more detail on usage.

Hope this helps.
 
Hey there,
when using the Sample_launcher.cmd i get a message saying "windows cannot find edlaunch.exe".
I'm pretty sure that i followed every steps of the user reference guide, or maybe not.
 
Hi @Wint3r ,

You will usually get this error if you have installed Elite Dangerous into a different folder or different drive,

The batch file contains the following code to start edlaunch.exe...

Code:
rem SET CORRECT DRIVE LETTER AND PATH FOR ELITE DANGEROUS LAUNCHER...
C:
cd "\Program Files (x86)\Frontier\EDLaunch"
start edlaunch.exe

Check your PC and see if you can find edlaunch.exe and if required, use notepad to edit the sample_launcher.cmd file to ensure correct drive and folder.

Another thing I usually do is run the batch file as Administrator.

In case you are unfamiliar with this, first, create a shortcut to the sample.launcher.cmd file on your desktop.
Next, right-click the shortcut and select Properties.
Click Advanced then select the 'run as administrator' checkbox.

Hope this helps.

Clicker
 
Last edited:
Perfect, thank you :)

Another thing, the IO shift, when it says for exemple S3+APALT, you need to press S3 and move the APALT switch at the same time ? or just a single press on S3 modify all the keybinds ? like the pinky switch.
 
Last edited:
You need to hold the S3 while moving the switch.

I'll check the User Reference Guide and update if it isn't clear.

Thanks for the questions.

Cheers.
Clicker
 
Last edited:
Hi,

First of all thanks for all the work Aussiedroid and Clicker has done for the ED community.

I have been playing Elite Dangerous for a couple of years, but that was years ago. Back then I used the Aussie script with som minor changes for my Warthog set.
Now I want to get back in the game, and have downloaded the set from Clicker, but when I run it in TARGET, the script stops because of not finding JSON.
Since I am running the game from STEAM with a new computer I need to find the right maps, but I cannot find the saved games and the JSON...

Furthermore I'm not that good in edditing scripts and stuff...

Best regards,
 
Hi @glockinstructor ,

Let's start with...which script have you downloaded and wanting to use?
(Basic script or v5.02 or another?)

Next, assuming you are using Windows 10 or Windows 11 the journal files can usually be found at...

C:\Users\<YOUR-WINDOWS-USER-NAME>\Saved Games\Frontier Developments\Elite Dangerous

I would check there first, just substitute <YOUR-WINDOWS-USER-NAME> for your actual windows username.
If you get stuck, or do not know your windows login name, enter this in the address line of File Explorer...
C:\Users\%username%\Saved Games\Frontier Developments\Elite Dangerous

%username% should resolve to your windows login name.

You should see a bunch of Journal ".log" files and a bunch of ".json" files, one of which is "status.json".

Despite not being confident in editing scripts, all you need to do is use notepad or notepad++ to open the "ED_Usersettings.tmh" file withing the scripts folder and go to lines 58-60.

The current lines show an example of what you need to enter and all you usually need to change is the <username>.

Let me know how you get on.
We can tackle anything else after we get this part sorted.

Clicker
 
Last edited:
Back
Top Bottom