Jump to content

DCS-ExportScripts P-47D Thunderbolt .lua script


Recommended Posts

Hi Community,

 

As a fan of the WWII birds, I got the P-47 right away. I don't have an extensive cockpit, but I do like using the stream deck to setup commonly used buttons.

 

Rather than using it as a keyboard emulator, I use DCS-Exportscripts to export the data to a DCS Stream Deck plugin to properly emulate the state of gauges and buttons on the stream deck.

 

If you are not familiar with either of the top two (I'm guessing if you are reading this you are)

here are the links to their repositories:

 

DCS-ExportScripts:

https://github.com/s-d-a/DCS-ExportScripts

 

DCS Stream Deck Plugin by Ctytler on ED:

https://github.com/charlestytler/streamdeck-dcs-interface

 

 

Example of how I use the two scripts on my stream deck:

 

The Script is a Work in Progress, but as it's mostly working now I figured I could release it for use.

 

There will be changes and modifications to the file that I will post here and keep the latest version on this page.

 

This can be used as a standard DCS-ExportScripts file for the P-47 without a stream deck (use as you see fit), or has extra formatted id's that allow you to show nicely formatted live information on the stream deck. e.g. 250mph instead of 0.45048 (which might indicate needel position) see youtube video above for examples.

 

If you have any questions feel free to ask.

 

Newest version in user files area (link below)

version 0.14

Date: June 11, 2020

 

Link to file area:

https://www.digitalcombatsimulator.com/en/files/3310456/

 

enjoy!

 

[Changelog]________________________________________________________

Version 0.14 - Changed errors in the Drop Ordinance Arming Panel and added switch cover ID's (thanks to olddog from ED Forums for the find)

Version 0.13 - Formatting Changes

Version 0.12 - Fixed some string formatting inconsistancies and errors

Version 0.11 - Initial Release


Edited by nosaMtrevoC
  • Like 1
  • Thanks 1

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

removed attached file and moved it to the user file area so that there is one area to keep it updated.

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

Thanks ! Would you share your stream deck profile too, please ?

Zip - VEAF :pilotfly:

 

If you want to learn, talk and fly with french-speaking friends, the Virtual European Air Force is here for you ! Meet us on our Discord and our forum

If you're a mission creator, you may want to check the VEAF Mission Creation Tools (and its GitHub repository) a set of open-source scripts and tools that make creating a dynamic mission a breeze !

Link to comment
Share on other sites

You might need to check your Drop Ordinance Arming Panel IDs. The Red guards(covers) have to be up before the switch will work. It would be nice if we had a way to toggle the Red Guard and switch ON at the same time without having to use the SD multi-action.

 

This is what I have.

 

[139] = "%d", -- LH Wing Bomb Cover

[140] = "%d", -- LH Wing Bomb Switch

 

[141] = "%d", --RT Wing Bomb Cover

[142] = "%d", --RT Wing Bomb Switch

 

[143] = "%d", -- Belly Bomb Cover

[144] = "%d", -- Belly Bomb Switch

 

[145] = "%d", -- Left Chem Cover

[146] = "%d", -- Left Chem Switch

 

[147] = "%d", -- Right Chem Cover

[148] = "%d", -- Right Chem Switch

Link to comment
Share on other sites

Not entirely related to this post, but I figured maybe...

 

 

My clickable data list for the P-47D module is empty in DCS Interface. Do you have a work around, or am I missing something?

 

 

Thanks for contributing this file!

Link to comment
Share on other sites

Thanks ! Would you share your stream deck profile too, please ?

 

I will when I do one. I mostly fly the p-51, but will make a p-47 panel soon and share here.

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

You might need to check your Drop Ordinance Arming Panel IDs.

 

For clarity, are you finding that the ID's are wrong or don't relate to the covers and switches, or are you just saying it would work better if you could just use one switch to uncover and arm?

 

The export script is designed to make available all clickable data in the cockpit to external applications, not necessarily to make it easier to use.

 

If the planes model restricts the use of the switch when the cover is down (even with key bindings in the controller setup) then that is by design.

 

Doesn't mean you are out in the cold with this,

 

You could write a script that:

 

Checks the state of the arm switch (armed|off)

 

If off and you click arm, open cover and arm OR if armed and you click off, move to off and close switch cover etc..

 

You could also probably just write a script to set the default switch cover values to up.

 

Probably a few ways around this, but is definitely outside the scope of the export script specifically unless you are saying the ID's do not match their respective descriptions.

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

Not entirely related to this post, but I figured maybe...

 

 

My clickable data list for the P-47D module is empty in DCS Interface. Do you have a work around, or am I missing something?

 

 

Thanks for contributing this file!

 

 

I'm guessing this list is a manual reference that the developer inputs into his plugin for your reference. He probably just hasn't gotten around to doing this yet.

 

That being said, I have documented my P-47D export script extensively and it can easily be used for the same purpose by opening it in a text editor and looking through the descriptions of each and their id's in brackets [56] < like that is id and description is after --

 

hope that helps

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

I think it's more or a label thing.

For example , your [139] = "%d",-- LH Wing Bomb Switch

Should be .. [139] = "%d", -- LH Wing Bomb Cover, (Red guard)

 

The actual bomb arm switch is [140] ="%d", -- LH Wing Bomb Switch

Is what I was trying to say.

Link to comment
Share on other sites

Not entirely related to this post, but I figured maybe...

 

 

My clickable data list for the P-47D module is empty in DCS Interface. Do you have a work around, or am I missing something?

 

 

Thanks for contributing this file!

 

I have a work around for the ID lookup until the plugin gets updated, if you want to mess with it.

 

This is what I did.

Go to C:\Users\YOURNAME\AppData\Roaming\Elgato\StreamDeck\Plugins\com.ctytler.dcs.sdPlugin\propertyinspector\json

 

Open the file, cached_commands.js, with something like notepad ++ (make a backup copy of course )

 

 

 

I don't own the Yak52, so I searched for "Yak52:" which was down near the bottom of the file. Or search for a module that you don't own. If you own all of then, pick your least favorite.:smilewink:

 

I replaced "Yak52:" with "P-47D-30":

I made no other changes.

 

Hopefully ctytler will get around to an update to add in the P-47 to his great plugin.

 

Note:

Under the ID lookup Description list, the reference to things like Yak52,xxx Spitfire xxx,and even BF109 xxx is from what is in the P-47 clickabledata.lua file. I guess someone did a lot of copy and paste:smilewink:

p47_click.thumb.png.0c4cf0ab2537d9972cc46f95f5879262.png

  • Like 1
Link to comment
Share on other sites

I think it's more or a label thing.

For example , your [139] = "%d",-- LH Wing Bomb Switch

Should be .. [139] = "%d", -- LH Wing Bomb Cover, (Red guard)

 

The actual bomb arm switch is [140] ="%d", -- LH Wing Bomb Switch

Is what I was trying to say.

 

Wasn't sure, thanks, I'll take a look at the script for this and make any changes.

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

Thanks olddog,

 

made the changes, added the switch cover id's, version 0.14 or later should reflect these changes.


Edited by nosaMtrevoC

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

I have a work around for the ID lookup until the plugin gets updated, if you want to mess with it.

 

...

 

 

Thanks for the tip! I got a little further, but I think I decided to leave alone for the time being. I did notice the references to other modules in some LUA files.

 

 

I'm new enough to DCS that this is my first spanking-new module. I understand it's not finished, but now beginning to understand what that means from the perspective of the LUA files.

 

 

While this export script is a good start (and thanks again to OP!), I don't think the module is providing the information I want for DCS Interface yet. I'll wait a bit and check back.

 

 

Thanks again!

Link to comment
Share on other sites

Thanks for the tip! I got a little further, but I think I decided to leave alone for the time being. I did notice the references to other modules in some LUA files.

 

 

I'm new enough to DCS that this is my first spanking-new module. I understand it's not finished, but now beginning to understand what that means from the perspective of the LUA files.

 

 

While this export script is a good start (and thanks again to OP!), I don't think the module is providing the information I want for DCS Interface yet. I'll wait a bit and check back.

 

 

Thanks again!

 

What information are you looking for?

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

  • 1 month later...
How are you discovering the Button IDs for the covers/switches?

 

There are a number of methods that I use depending on a number of factors, but a good start would be to read the DCS-ExportScripts manual:

 

https://github.com/s-d-a/DCS-ExportScripts/wiki/Documentation-in-English

 

These methods will not always give you what you are looking for on some modules. Keep in mind every module can and many times does use differing methods that make discovery just that... discovery.

 

Anyways, the above is a great start.

Modules: Persian Gulf | Normandy | Channel | Nevada | Supercarrier | WWII Assets | FC3 | Spitfire | P-51D | P-47D | F-86F | L-39 | AV-8B | F-16C | F/A-18C | A-10C | F-14B | A-4E-C | BS2

 

System: X570 AMD-3900X | 32GB DDR4 3000 | 2TB Gen 4x4 5GB/s NVME | Dual 1070 TI | 4k 32" Samsung

Link to comment
Share on other sites

My guess after looking in the clickabledata.lua for the P47 would be:

 

 

Button ID: 3139

 

[139] = "%d", -- LH Wing Bomb Cover

 

 

Button ID: 3140

 

[140] = "%d", -- LH Wing Bomb Switch

 

 

 

 

 

Button ID: 3141

[141] = "%d", --RT Wing Bomb Cover

 

 

Button ID: 3142

 

[142] = "%d", --RT Wing Bomb Switch

 

 

 

 

 

Button ID: 3143

[143] = "%d", -- Belly Bomb Cover

 

 

Button ID: 3144

 

[144] = "%d", -- Belly Bomb Switch

Link to comment
Share on other sites

No, that's not right.

 

 

OAP_LH_COVER is Button_11

 

 

command_defs.lua just takes the 11 and adds 3000, so that would make the left cover Button ID 3011. However, when I use Button ID 3011, it doesn't work. If I change the state in the game, the state on the Stream Deck will show up, but if I click it in the Stream Deck, it doesn't work. Am I missing some glue?


Edited by Thistledown
Link to comment
Share on other sites

  • 6 months later...
On 8/4/2020 at 8:04 AM, Thistledown said:

No, that's not right.

 

 

OAP_LH_COVER is Button_11

 

 

command_defs.lua just takes the 11 and adds 3000, so that would make the left cover Button ID 3011. However, when I use Button ID 3011, it doesn't work. If I change the state in the game, the state on the Stream Deck will show up, but if I click it in the Stream Deck, it doesn't work. Am I missing some glue?

 

Did you end up sorting this out? I’d be interested in understanding the relationship and the standard being used in the assignment. Thanks

Link to comment
Share on other sites

  • 3 months later...

Thank you very much for making this file!
It seems to be lacking the "Hardpoint Arm" handles state, though.
If anyone's interested add these lines:

 

-- [Hardpoint Arm Panel]
[228] = "%d",           -- Belly Hardpoint Arm
[229] = "%d",           -- LH Hardpoint Arm
[230] = "%d",           -- RH Hardpoint Arm

 

I put them directly under this line from the original file:

 

    -- Port Wall ------------------------------------------------------------------------------

 

i7-8700K 32GB 2060(6GB) 27"@1080p TM Hawg HOTAS TPR TIR5 SD-XL 2xSD+ HC Bravo button/pot box

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...