UserActions

From Bohemia Interactive Community
Jump to navigation Jump to search

Defines an action to be associated with the current object class. Commonly used for operating doors on vehicles.

Class Properties

  • displayName: String - This is the name displayed in the action menu. It supports structured text syntax, for including icons or changing the text appearance.
  • displayNameDefault: String - This is the name displayed near mid screen. It supports structured text syntax, for including icons or changing the text appearance. Often, only an icon is used in this case.
  • priority: Number - Priority value of the action. Actions will be arranged descending according to this. Value can be negative or decimal. Actions with same values will be arranged in order which they were made, newest at the bottom. Typical range is 0 (low priority) to 6 (high priority).
  • radius: Number - Defines the range to the object at which the action will become available. Value is in metres.
  • position: String - Memory point which acts as the centre for the radius check. May be replaced with named selections (actionNamedSel) in Tac-Ops DLC
  • showWindow: Number or Boolean - If set to 1 or true, players see the 'displayNameDefault' name appear near mid screen as they approach the object if the priority is higher than other available actions. Set to 0 or false to turn it off.
  • hideOnUse: Number or Boolean - If set to 1 or true, it will hide the action menu after selecting that action. If set to 0 or "false", it will leave the action menu open and visible after selecting that action, leaving the same action highlighted, for the purpose of allowing you to reselect that same action quickly, or to select another action.
  • onlyForPlayer: Number or Boolean - Probably disables the action appearing in the Action list (option 6) on the main menu for AI. Clarify
  • shortcut: String - One of the key mapping names defined in class 'CfgDefaultKeysMapping' in bin.pbo (e.g. "moveForward").
  • condition: String - Code that must return true for the action to be available. Some standard variables can be used in the evaluation. Variable this references the object to which action is attached to. (Needs confirmation: there must be a caller variable too (_this?). Clarify)
  • statement: String - Code that is executed when the action is activated. Some standard variables can be used in the evaluation. Variable this references object to which action is attached to.
  • aiMaxRange: Number Clarify

Examples

class CfgVehicles //Example for Arma 3
{
  class Civilian;
  class Civilian_F: Civilian
  {
    class UserActions
    {
      class GetInformation
      {
        displayName = "Get Information";
        displayNameDefault = "<img image='\a3\missions_f_oldman\data\img\holdactions\holdAction_talk_ca.paa'/>";
        priority = 10;
        radius = 10; //A too small radius might cause the action to not be visible
        position = "camera";
        showWindow = 0;
        hideOnUse = 1;
        onlyForPlayer = 0;
        shortcut = "";
        condition = "alive this && !isPlayer this"; //Only show if the unit is alive and is not a player
        statement = "if (selectRandom [true, false]) then {hint 'I do not have information for you!'} else {hint 'I tell you everything I know!'};";
      };
    };
  };
};

Additional Information

See also: addAction