Difference between revisions of "Arma 3: Debug Console"

From Bohemia Interactive Community
Jump to navigation Jump to search
(whitelist support)
(Whitelisting Multiple Users)
Line 24: Line 24:
 
* Using mission config param. You can add ''"\a3\functions_f\Params\paramDebugConsole.hpp"'' [[Arma 3 Mission Parameters|mission parameter]], where server host / admin can choose whether or not he'll allow debug console.
 
* Using mission config param. You can add ''"\a3\functions_f\Params\paramDebugConsole.hpp"'' [[Arma 3 Mission Parameters|mission parameter]], where server host / admin can choose whether or not he'll allow debug console.
 
==== Whitelisting Multiple Users ====
 
==== Whitelisting Multiple Users ====
Since Arma 3 v1.71 it is possible to let more than 1 person access debug console in Multiplayer. This is done by defining <tt>enableDebugConsole</tt> param as [[Array]] by adding UIDs of whitelisted users to this array, for example:
+
Since Arma 3 v1.71 it is possible to let more than 1 person access debug console in Multiplayer. This is done by defining <tt>enableDebugConsole</tt> param as [[Array]] and adding UIDs of whitelisted users to this array, for example:
 
<syntaxhighlight lang=cpp>enableDebugConsole[] = {"81273982178973213", "3749832749732749", "7492374983274234"};</syntaxhighlight>
 
<syntaxhighlight lang=cpp>enableDebugConsole[] = {"81273982178973213", "3749832749732749", "7492374983274234"};</syntaxhighlight>
All users with UIDs matching the added UIDs will be able to access debug console in Multiplayer. Additionally, server host will also be able to use debug console, as well as any logged in admin on dedicated server.  
+
All users with UIDs matching the added UIDs will be able to access debug console in Multiplayer. Additionally, server host will also be able to use debug console, as well as any logged in admin on dedicated server.
 +
 
 
==== Order of Precedence ====
 
==== Order of Precedence ====
 
# [[Arma 3 Mission Parameters | Mission param]] is checked. If is not defined then...
 
# [[Arma 3 Mission Parameters | Mission param]] is checked. If is not defined then...

Revision as of 22:59, 24 May 2017

Arma 3 logo black.png0.54 Configuration in Take On Helicopters differs, Mission Editor: Debug Console (Take On Helicopters)


Debug Console is an editing tool giving designer ability to check various states and execute custom code on the fly.

Debug Console in pause menu
Debug Console in editor

Access

While playing a mission from the editor, the console is immediately available in pause menu. In old 2D editor map screen, you can open in by clicking on "Debug Console" button or using Ctrl+D shortcut. In Eden editor it is available under Tools -> Debug Console.

In multiplayer, the debug console is unavailable by default. It is possible to make it available by configuring access option (see below). It is worth noting that when debug console is configured for admin access, it is only available for logged in admin, voted in admin is treated just like any other user in this respect.

Configuration

The console is automatically available in missions running from editor. If mission designer wishes to enable it elsewhere, he can achieve it in one of the 3 ways:

enableDebugConsole = 1;

Possible values:
0 - Default behavior, available only in editor
1 - Available in SP and for hosts / logged in admins in MP
2 - Available for everyone

  • Using Eden attribute Debug Console, available in Attributes -> General -> States -> Debug Console
  • Using mission config param. You can add "\a3\functions_f\Params\paramDebugConsole.hpp" mission parameter, where server host / admin can choose whether or not he'll allow debug console.

Whitelisting Multiple Users

Since Arma 3 v1.71 it is possible to let more than 1 person access debug console in Multiplayer. This is done by defining enableDebugConsole param as Array and adding UIDs of whitelisted users to this array, for example:

enableDebugConsole[] = {"81273982178973213", "3749832749732749", "7492374983274234"};

All users with UIDs matching the added UIDs will be able to access debug console in Multiplayer. Additionally, server host will also be able to use debug console, as well as any logged in admin on dedicated server.

Order of Precedence

  1. Mission param is checked. If is not defined then...
  2. description.ext param is checked. If is not defined then...
  3. Eden attribute option is checked.

BattlEye Filters

Debug Console uses Remote Execution. If you wish to exclude Debug Console execution from BE Filters, add this to your remoteexec.txt !="BIS_fnc_debugConsoleExec \[[0-2],\{.*\}\]"

Features

  • Expression field
    • Value is saved when console is closed and restored again upon return
    • The expression can be executed by one of the following buttons:
  • 4x Watch field
    • Value is saved when console is closed and restored again upon return
    • When code is taking too long to evaluate (>0.003s), the background turns orange and the value is not saved
  • Buttons (All of the following buttons close the pause menu and open some another window)

Profile Saving

The debug console automatically saves each field as you go, Even after game restart. These can also be access using profileNamespace getVariable with the following code:

  • Expression Field

profileNamespace getVariable "rscdebugconsole_expression";

  • 4x Watch Field

profileNamespace getVariable "rscdebugconsole_watch1"; profileNamespace getVariable "rscdebugconsole_watch2"; profileNamespace getVariable "rscdebugconsole_watch3"; profileNamespace getVariable "rscdebugconsole_watch4"; Using the same variables you can also clear or change the fields.


See Also