Jump to content

Button issues in tutorial missions.


Supmua

Recommended Posts

I have noticed that in all the Harrier tutorial missions, only mouse clicking buttons or switches will advance to the next event. In other words, I can't use my HOTAS/MFD/Button box with these tutorials because it is not being recognized.

 

For examples, when it tells you to press OB-6 on the MPCD if I press that button on my Thrustmaster Cougar MFD panel the tutorial will not move forward until I physically click the onscreen button with the mouse. The same thing happens when it asks to activate Master mode AG, if I press a joystick or throttle bound button it will not work.

 

In other tutorials such as A-10 and F/A-18 I can use my joystick/throttle/MFD to activate these switches without issues. Is there something you can do to correct this?

PC: 5800X3D/4090, 11700K/3090, 9900K/2080Ti.

Joystick bases: TMW, VPC WarBRD, MT50CM2, VKB GFII, FSSB R3L

Joystick grips: TM (Warthog, F/A-18C), Realsimulator (F-16SGRH, F-18CGRH), VKB (Kosmosima LH, MCG, MCG Pro), VPC MongoosT50-CM2

Throttles: TMW, Winwing Super Taurus, Logitech Throttle Quadrant, Realsimulator Throttle (soon)

VR: HTC Vive/Pro, Oculus Rift/Quest 2, Valve Index, Varjo Aero, https://forum.dcs.world/topic/300065-varjo-aero-general-guide-for-new-owners/

Link to comment
Share on other sites

  • 2 months later...

I have noticed this problem in a different way - nothing I bind to the MPCD OSBs works. I have tried keys and buttons on my joystick/throttle. The MPCDs do not respond to these inputs, which is very annoying. I like building cockpit panels and I cannot avoid using the mouse because of this problem. You are not alone.

Link to comment
Share on other sites

Sorry guys, I don't know if there is any way around that - the training missions are just for learning and my advice would be to just use the mouse to click what needs to be clicked, and once you get the hang of it just use your normal devices in normal missions. Sorry if it isn't too helpful, but I can't think of any way to make it work better.

ce535d_9d347b62819c4372b3c485a4f95d2004~mv2.png
Link to comment
Share on other sites

  • 1 month later...

I think this is a common issue with DCS and not solely BD's missions tbh. I've had this issue since day one with the A10 tutorials and like BD says the only way around it seems to be to follow the clicks until you learn the sequence and use keybindings in your own missions.

 

PS Thanks BD for all the incredible work you're doing.

Link to comment
Share on other sites

  • 5 months later...
Sorry if it isn't too helpful, but I can't think of any way to make it work better.

 

From what I can tell, there are two different input systems in DCS (or maybe two different conventions of using the same system).

 

One is used for most keybindings and joystick controls; a command consists of a command ID, usually specified in the keybinding Lua files as one of the iCommand... constants. I will call those "normal commands" in this post.

 

The other system is used for clickable cockpits. A command consists of three numbers: a cockpit device ID, a command ID, and an argument. I will call those "clickable commands".

 

(I suspect that "normal commands" are the same as "clickable commands" with no argument value specified and the cockpit device ID set to 0.)

 

Let's take the AV-8B's OSB 1 button on the left MPCD as an example.

 

In mods\aircraft\AV8BNA\Input\AV8BNA\joystick\default.lua, the keybinding is specified as follows:

{down = iCommandPlaneLeftMFD_OSB1 , up = iCommandPlaneLeftMFD_OSB1_Off, name = _('Left MPCD OSB 01'), category = _('Left MPCD')}

 

When you push the joystick button, iCommandPlaneLeftMFD_OSB1 is sent to the airplane and it will activate the left OSB1. When the button is released, iCommandPlaneLeftMFD_OSB1_Off is sent.

 

In mods\aircraft\AV8BNA\Cockpit\clickabledata.lua, the NAV master mode button is defined as follows:

 

elements["PTN_200"] = default_button(_("MPCD Left Button 1"), devices.MPCD_LEFT, mpcd_l_commands.Button_01, 200)

 

Using the definition of default_button from clickable_defs.lua, some guesswork, and some experience with DCS-BIOS, I think that when the mouse button is pressed, the "clickable command" (26, 3200, 1) is triggered (send command 3200 to cockpit device 26 with argument 1) and when the button is released, (26, 3200, 0) is triggered.

Also, the first command changes cockpit argument 200 to 1.0, the second one changes it back to 0.

Cockpit arguments control animations in the 3D model.

 

The IDs of cockpit devices can be found in mods\aircraft\AV8NA\Cockpit\devices.lua (MPCD_LEFT = 26). The command IDs can be found in command_defs.lua in the same folder (mpcd_l_commands.Button_01 = start_command + 200 = 3200).

 

Note that with the "normal command", the cockpit argument 200 never changes value. You will also note that when you trigger OSB 1 through a key binding instead of with the mouse, the button click is not animated on the 3D model and does not make a sound.

 

The Harrier training missions notice button clicks by looking at cockpit arguments. That is the reason why they do not notice when the actions are done using the keyboard or joystick.

 

 

 

 

So now that we understand the problem, how can we solve it?

 

Sometimes we are lucky and we can check for the result of the button press, instead of the button press itself.

For example, we could tell whether we are in A/G, NAV or VSTOL master mode by looking at the cockpit arguments that control the indicator lights in the respective buttons. (This would, for example, also detect entering A/G mode because the TOO button was pressed.)

A/G mode is argument 281, NAV mode is 283 and VSTOL is 285.

But this does not work for every button and finding the correct argument number with the model viewer takes some effort (you can do a binary search by playing around with the animations).

 

The other option is to monitor both methods: for OSB 1, we already know that we can monitor cockpit argument 200 to see if the button was clicked (which already happens in the training mission), but we also want to know if iCommandPlaneLeftMFD_OSB1 is triggered.

 

First, we need to find out which number iCommandPlaneLeftMFD_OSB1 represents. To do so, edit MissionEditor\MissionEditor.lua and set OPTIONS_ADD_COMMAND_CODES_TO_TOOLTIP = true at the top of the file.

Then go to the "adjust controls" screen and hover the mouse over one of the cells containing a keyboard or joystick binding.

This way, we can find out that iCommandPlaneLeftMFD_OSB1 is number 642.

 

Now we can use the trigger "X: START LISTEN COMMAND" (command = 642, flag = 500, hit count=1, cockpit device=0) to set flag 500 whenever iCommandPlaneLeftMFD_OSB1 is triggered.

 

Instead of looking at cockpit argument 200, we can also use "X: START LISTEN COMMAND" to set the same flag when the button is clicked with the mouse, by specifying command=3200, flag=500, hit count=1, cockpit device=26.

 

I have attached an example mission that displays a message whenever the left OSB 1 is pressed either through a key binding or with the mouse.

 

 

 

 

Thanks for the amazing and fun training missions by the way. I am having a blast with the Harrier!

Cockpit Trigger Demo.miz

Link to comment
Share on other sites

  • 6 months later...

We've isolated the cause for this, and it does indeed currently require mouse clicks for the instrument checks built into the mission.

 

There will be updates coming once we get some outstanding features from RAZBAM to finish off the missions in their entirety, and to account for some changes to the way that later versions of DCS that we're using now account for some things.

Intel i9-9900KF @5.2GHz

MSI Z390 Gaming Pro Carbon

32GB G.Skill Trident Z DDR3200 RAM

MSI RTX 2080 Ti Gaming X Trio

40" Panasonic TH-40DX600U @ 4K

Pimax Vision 8K Plus / Oculus Rift CV1 / HTC Vive

Gametrix JetSeat with SimShaker

Windows 10 64 Bit Home Edition

 

[sIGPIC][/sIGPIC]

Link to comment
Share on other sites

  • Recently Browsing   0 members

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