But first I’d like to rant a bit since it is very much related. And I’d like to rant about some questionable design decisions in Arma 3, which developer has been very firm on. I say this because those questions were raised by me or others on feedback tracker and have been pretty much closed by BIS representatives with no possibility of further discussion.

Let’s start with MK6 mortar 3rd person view. The picture below shows the difference between current view and expected view. The developer responsible for it explained that this is how it should be and this is how it will be. If you like expected view better you can use my mortar modification script.

mk6view

My favourite one is an absolute lack of recoil on static .50 cal HMG mounted on tripod. The developer explained that this is because of tripod and it is not going to change. Although if I close my eyes and pretend that it is 2035 and there is indeed a super balanced tripod that can reduce any forceback from .50 cal recoil to absolute zero and make your bullet land in the same spot with Swiss watch precision, it is still a very questionable design decision regarding the balance of the game. Yes, Arma 3 is still a game first and this makes static HMG pretty much overpowered. There is also no option to script in the recoil. Command setUnitRecoilCoefficient only works for the player’s weapons.

But what tipped the cup for me was the issue raised on feedback tracker about being able to tell the time at any time. If you press M you will go into the map mode. It doesn’t matter if you have map item or not, it is assigned or not or even if the map is disabled in description.ext. You will get a digital clock in the top right corner tell you time at any time.

clock

This kinda makes “ItemWatch” a redundant item to have. Let’s say, for the sake of argument, you have a mission where you have to combine your strike at a given time but you don’t know the time until you obtain a watch as a side mission first. Forget about it. The developer said there is nothing wrong with having the clock on the map at all times.

But luckily we have tools to script this situation to our liking. Thanks to japapatramtara, a very enthusiastic BIS programmer who fixed buggy “Put” and “Take” event handlers, we can now detect item movement inside inventory.  All we need now is to find the IDD and IDC of the map clock and disable it when “ItemWatch” is not assigned. And after looking into UI config, IDD is 12 and IDC is 101. So this is how we’re going to tackle this:

player addEventHandler ["Put", { if (_this select 2 == "ItemWatch") then { findDisplay 12 displayCtrl 101 ctrlShow ( if (_this select 2 in assignedItems player) then [ {true}, {false} ] ) } }]; player addEventHandler ["Take", { if (_this select 2 == "ItemWatch") then { findDisplay 12 displayCtrl 101 ctrlShow ( if (_this select 2 in assignedItems player) then [ {true}, {false} ] ) } }];

Display 12 will most likely be present when you move inventory item so we don’t need to waitUntil it is available, but if there is a problem, feel free to modify the script to your liking. And here is the script in action:

Enjoy,
KK