zen-mod / ZEN

Zeus enhancement mod for Arma 3
https://zen-mod.github.io/ZEN
GNU General Public License v3.0
108 stars 47 forks source link

Headless Client Integration #667

Open NKrukov opened 2 years ago

NKrukov commented 2 years ago

Arma 3 Version: 2.08.149102 (stable) CBA Version: 3.15.6.211004 (stable) ZEN Version: 1.12.1 (stable)

Mods:

- ACE3
- CBA_A3
- ZEN

Description: When using Headless Client, and after a unit has transitioned to Headless Client, when I attempt to change any of the Abilities toggle boxes, it does not change. I have been able to manually, through the unit Execute, toggle the boxes, such as disable movement, and it takes effect, the unit does not move. But when I have verified one of the options is unchecked, I open the Attributes once more and the box appears to still be checked.

Expected behavior: Any of the attributes of headless client controlled AI to be able to be toggled on and/or off within the GUI interface.

Steps to reproduce: Add the steps needed to reproduce the issue.

Create a mission with Headless client. Enable headless client through ACE Headless Client

  1. Spawn a unit in Zeus
  2. Double click on the unit
  3. Click the "ABILITIES" button
  4. Toggle one of the unit abilities off
  5. click OK
  6. click OK again
  7. re-open the unit interfact
  8. Click the "ABILITIES" button
  9. See the ability that supposed to be toggled off, is still toggled on.

Where did the issue occur?

Additional information: As aid above, disabling the abilities manually using the argument "_this disableAI "MOVE";" for example. In this case replace "MOVE" with any other attribute and it will disable it for the AI.

Thank you for your time.

RPT log file: This issue does not throw an RPT log error.

Screenshots: Menu Menu2

mharis001 commented 2 years ago

We are using target events so the locality should be taken care of. Out of curiosity, can you try _this enableAIFeature ["MOVE", false]; on your setup instead of _this disableAI "MOVE"; and see if that still works as expected.

NKrukov commented 2 years ago

We are using target events so the locality should be taken care of. Out of curiosity, can you try _this enableAIFeature ["MOVE", false]; on your setup instead of _this disableAI "MOVE"; and see if that still works as expected.

It appears to do the same thing as _this disableAI "MOVE"; It doesn't update the Change Abilities Screen tick.

NKrukov commented 2 years ago

Update: I am unsure as to what changed. I am unsure what updated. Now when you open Abilities, and untick "Move" for example, click "OK," and "OK" and the unit now cannot move. HOWEVER, the Tick isn't unticked. You can re-enable move by unticking, and then re-ticking the Move box.

mharis001 commented 2 years ago

Might be an issue with the checkAIFeature command. Can you try systemChat str (_this checkAIFeature "MOVE"); local exec and see what that prints when "MOVE" is disabled?