Jump to content
Sign in to follow this  
Heeeere's johnny!

Why does "ctrlVisible" not work for default game IDCs?

Recommended Posts

This one bothers me as I don't understand the logic behind the situation.

Using the following code in the ArmA3's debug console, you'll get the "Continue" button of your in-mission menu:

[color=#FF8040][color=#1874CD]_control[/color] [color=#8B3E2F][b]=[/b][/color] [color=#191970][b]findDisplay[/b][/color] [color=#FF0000]49[/color] [color=#191970][b]displayCtrl[/b][/color] [color=#FF0000]2[/color][color=#8B3E2F][b];[/b][/color][/color]

You can even manipulate its position (ctrlSetPosition), text (ctrlSetText) or whatever.

Yet, executing ctrlVisible 2 does always return false. The same thing happens with any other control on any default display. Try it yourself:

[color=#FF8040][color=#1874CD]_allControls[/color] [color=#8B3E2F][b]=[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b];[/b][/color]
[color=#191970][b]for[/b][/color] [color=#7A7A7A]"_i"[/color] [color=#191970][b]from[/b][/color] [color=#FF0000]0[/color] [color=#191970][b]to[/b][/color] [color=#FF0000]10000[/color] [color=#191970][b]do[/b][/color]
[color=#8B3E2F][b]{[/b][/color]
   [color=#1874CD]_display[/color] [color=#8B3E2F][b]=[/b][/color] [color=#191970][b]findDisplay[/b][/color] [color=#1874CD]_i[/color][color=#8B3E2F][b];[/b][/color]
   [color=#191970][b]if[/b][/color][color=#8B3E2F][b]([/b][/color][color=#8B3E2F][b]![/b][/color][color=#191970][b]isNull[/b][/color] [color=#1874CD]_display[/color][color=#8B3E2F][b])[/b][/color] [color=#191970][b]then[/b][/color]
   [color=#8B3E2F][b]{[/b][/color]
       [color=#191970][b]for[/b][/color] [color=#7A7A7A]"_j"[/color] [color=#191970][b]from[/b][/color] [color=#FF0000]0[/color] [color=#191970][b]to[/b][/color] [color=#FF0000]10000[/color] [color=#191970][b]do[/b][/color]
       [color=#8B3E2F][b]{[/b][/color]
           [color=#191970][b]if[/b][/color][color=#8B3E2F][b]([/b][/color][color=#8B3E2F][b]![/b][/color][color=#191970][b]isNull[/b][/color] [color=#8B3E2F][b]([/b][/color][color=#1874CD]_display[/color] [color=#191970][b]displayCtrl[/b][/color] [color=#1874CD]_j[/color][color=#8B3E2F][b])[/b][/color][color=#8B3E2F][b])[/b][/color] [color=#191970][b]then[/b][/color]
           [color=#8B3E2F][b]{[/b][/color]
               [color=#1874CD]_allControls[/color] [color=#191970][b]pushBack[/b][/color] [color=#8B3E2F][b][[/b][/color][color=#1874CD]_i[/color][color=#8B3E2F][b],[/b][/color] [color=#1874CD]_j[/color][color=#8B3E2F][b],[/b][/color] [color=#191970][b]ctrlVisible[/b][/color] [color=#1874CD]_j[/color][color=#8B3E2F][b]][/b][/color][color=#8B3E2F][b];[/b][/color]
           [color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color]
       [color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color]
   [color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color]
[color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color]

[color=#006400][i]//at this point _allControls contains information about all controls of all findable displays[/i][/color]

[color=#191970][b]if[/b][/color][color=#8B3E2F][b]([/b][/color][color=#8B3E2F][b]{[/b][/color][color=#191970][b]if[/b][/color][color=#8B3E2F][b]([/b][/color][color=#000000]_x[/color] [color=#191970][b]select[/b][/color] [color=#FF0000]2[/color][color=#8B3E2F][b])[/b][/color] [color=#191970][b]exitWith[/b][/color] [color=#8B3E2F][b]{[/b][/color][color=#191970][b]copyToClipboard[/b][/color] [color=#191970][b]str[/b][/color] [color=#000000]_x[/color][color=#8B3E2F][b];[/b][/color] [color=#000000]true[/color][color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color] [color=#000000]false[/color][color=#8B3E2F][b]}[/b][/color] [color=#191970][b]count[/b][/color] [color=#1874CD]_allControls[/color] [color=#191970][b]isEqualTo[/b][/color] [color=#FF0000]1[/color][color=#8B3E2F][b])[/b][/color] [color=#191970][b]then[/b][/color]
[color=#8B3E2F][b]{[/b][/color]
   [color=#191970][b]hintSilent[/b][/color] [color=#7A7A7A]"Visible control found!"[/color][color=#8B3E2F][b];[/b][/color]
[color=#8B3E2F][b]}[/b][/color]
[color=#191970][b]else[/b][/color]
[color=#8B3E2F][b]{[/b][/color]
   [color=#191970][b]hintSilent[/b][/color] [color=#7A7A7A]"No visible controls."[/color][color=#8B3E2F][b];[/b][/color]
[color=#8B3E2F][b]}[/b][/color][color=#8B3E2F][b];[/b][/color][/color]

Kudos to Killzone_Kid for his SQF to BBCode Converter.

If you see a hint saying "Visible control found!", congratulations - the item this code found will be in your clipboard.

I don't get any visible control unless it's one of my own creations. What am I missing? I'd be glad if you could help me here.

Kind regards,

Johnny

Edited by Heeeere's Johnny!

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×