Release Clicker's WARTHOG TARGET Script

Greetings Commanders,

Version 5.0.0 now available!

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

...

v4.2.1
  • - 'strobe' option for Silent Running (ON/OFF every 2 seconds)
  • - 'AutoHeatsink' fires heat sink if Heat > 100% automatically
  • - UserSetting to disable Flashing LEDs
  • - On the fly LED brightness level adjustment via PSB+FlapsUp
  • - On the fly Weapon and Engine colour toggle
  • - Reminder sound if Throttle Pinky Switch is not in 'middle' position
  • - Turret Retracted and Deployed detection announcement
  • - Add "Text To Speech" section in user guide to describe how to set TextToSpeech up and how to add additional voices to a user's PC
  • - Numerous minor code fixes and formatting changes
  • - Check change log for all changes
...

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 TONNE 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.

I have endeavored to write the script such that the functions themselves could be ported to other Thrustmaster TARGET compatible HOTAS controllers and my aim in the future will be to create a T16000 version as well...watch this space!

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.

If you like what you see, please consider spotting me the price of a coffee via Patreon...no pressure!
https://www.patreon.com/user?u=36436459

The script can be found on my Github page at

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

Cheers
CMDR Clicker
 
Last edited:
This is a fantastic bit of script Clicker! You have really developed this a long way from the old v3.x version of my script. Its clear you have put a lot of time & thought into this. Things like the flag tracking states and the T2S feature are really next level too.

Great work!
AD
 
My friend started playing, so I need to dust off my scripts. I'll be stealing liberally from your code. :D

I love the .json function. I wanted to do that since ED created it, but I quit playing. Now someone did all the work!
 
I would imagine that some of my code originated from you @Dar|{cyde , and if not, then at least some of my learning and perhaps some of my ideas came from your script for sure!

Steal whatever you fancy....'tis the pirate way!
And if you find better or more efficient ways to do stuff (tm), and it probably won't be hard, please share!

;)

Cheers
Clicker
 
My friend started playing, so I need to dust off my scripts. I'll be stealing liberally from your code. :D

I love the .json function. I wanted to do that since ED created it, but I quit playing. Now someone did all the work!
I would imagine that some of my code originated from you @Dar|{cyde , and if not, then at least some of my learning and perhaps some of my ideas came from your script for sure!

Steal whatever you fancy....'tis the pirate way!
And if you find better or more efficient ways to do stuff (tm), and it probably won't be hard, please share!

;)

Cheers
Clicker

It's probably been about 4 years, but feel like things have come full circle :)
 
I've only been playing with TARGET Script for 2 years...but it seems way longer.
I have learned SO much.

I love playing Elite Dangerous even though it has become harder to be motivated to actually play the game...but I do not seem to have the same problem tinkering with my script or trying to help people who ask TARGET related questions.

It's now become almost like an obsession!

Clicker
 
Clicker, can we talk about how to get the (#&(%$& TARGET scripting to actually work with my brand spanking new Warthog HOTAS? I'd love some help...
 
I've run into the dreaded stopped scripts problem that appears to be relatively common. No script I run can complete, as I get the "unable to assign" TARGET error. Several of the forum posts I've seen have recommended doing regedit changes, keeping the HOTAS plugs in USB 2.0 sockets, and being strict with the order of driver installs. All of which I've done, but I'm still unable to use a TARGET script. Any good ideas?
 
Update:

Updated user guide with correct images and fix minor typos and grammatical errors.
Update several files to fix typos, add additional comments.

"ClearAllChatBox" macro now set for non-squadron users.
Extra iteration for Squadron Chatbox commented out...users who are IN a squadron, should un-comment the lines to re-enable clearing all 3 chat boxes.

Otherwise no new functionality.

Cheers
Clicker
 
Update:

Update to cater for TARGET v3.0.20.826
Minor tweak to cater for when we'd occasionally get a "Read Error" when reading status.json whilst it was locked for writing by the game.
 
Last edited:
HI @Ghastous ,

My script is similar to the one @Aussiedroid offers and requires much the same installation.

Have you already mastered the game using the game's built in bindings for the WARTHOG?

If not, maybe start there, then come back and try the script later.
Otherwise you have 2 separate and steep learning curves...one for the game itself and one for the controller scripts

Clicker
 
@Ghastous ,

Just read your posts on @Aussiedroid's thread.

Can you let me know what your ideal outcome is/was when you bought the WARTHOG and what outcomes are you after with a script?

Hopefully you know you don't actually NEED a script to use the HOTAS in ED.
You can just plug it in, run the game, get into the OPTIONS, CONTROLLER section and go through whatever bindings suit you.
This will take you perhaps 30 minutes to an hour depending on how familiar you are with the bindings in game.

The only problem with this may be that if you do wish to use a script like mine or Aussiedroid's in future, you will need to use our custom bindings file and relearn which switches do what. This is entirely due to TARGET script causing Windows to replace both the Joystick and Throttle controller with a combined controller.
So, essentially Elite Dangerous sees a totally different controller device and therefore uses a different bindings profile

If you do go ahead and want to use my script, perhaps use the BASIC profile first.
This is set by changing the following line inside the ED_UserSettings.tmh file
CHANGE: "define MapKeyProfile FULL"
TO: "define MapKeyProfile BASIC"

To assist in learning what switches do what, when you run the script in the TARGET GUI with Elite Dangerous NOT running, simply press each switch/button and the colsole readout will print what it's doing.
If you have installed the TextToSpeech app as described in the installation instructions, you'll also (hopefully) hear your default Windows Voice say what the switch does as well.

Either way, I'm happy to try to help you get the most out of your WARTHOG...with, or without my script.

Clicker
 
Last edited:
@Clicker

Thanks for the info provided.

Issue that ive run into and you will probs have seen it on Aussiedroids post was when i select my Warthog in the controls a lot of the keybinds are switched off and so is my mouse and ive not found anywhere how to turn it back on. I dont know my way around the keybinds at all as my old Hotas fligh i just plugged it in and all the keys and mouse were all working perfect to what i like but on the warthog there are horrid and most dont even work but because of all the keys ED uses i just cant be botherd sitting for hrs searching for keys when really it should have been sorted from the time i plugged it in same as my old Hotas.
 
Top Bottom