UserActions: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<syntaxhighlight lang="cpp">class" to "<syntaxhighlight lang="cpp"> class")
m (Some wiki formatting)
Line 1: Line 1:
__NOTOC__
Defines an action to be associated with the current object class. Commonly used for operating doors on vehicles.
Defines an action to be associated with the current object class. Commonly used for operating doors on vehicles.


== Class Properties ==
== Class Properties ==
* '''displayName''': [[String]] - This is the name displayed in the action menu. It supports [[Structured_Text|structured text]] syntax, for including icons or changing the text appearance.
* '''displayName''': [[String]] - This is the name displayed in the action menu. It supports [[Structured_Text|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|structured text]] syntax, for including icons or changing the text appearance. Often, only an icon is used in this case.
* '''displayNameDefault''': [[String]] - This is the name displayed near mid screen. It supports [[Structured_Text|structured text]] syntax, for including icons or changing the text appearance. Often, only an icon is used in this case.
Line 14: Line 17:
* '''statement''': [[String]] - Code that is executed when the action is activated. Some standard variables can be used in the evaluation. Variable [[Magic Variables#this_2|this]] references object to which action is attached to.
* '''statement''': [[String]] - Code that is executed when the action is activated. Some standard variables can be used in the evaluation. Variable [[Magic Variables#this_2|this]] references object to which action is attached to.
* '''aiMaxRange''': [[Number]] {{Clarify}}
* '''aiMaxRange''': [[Number]] {{Clarify}}


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


== Additional Information ==
'''See also:''' [[addAction]]


__NOTOC__
== See also ==
 
* [[addAction]]
 


{{GameCategory|arma1|Editing}}
{{GameCategory|arma1|Editing}}
{{GameCategory|arma2|Editing}}
{{GameCategory|arma2|Editing}}
{{GameCategory|arma3|Editing}}
{{GameCategory|arma3|Editing}}
{{GameCategory|tkoh|Editing}}

Revision as of 14:38, 19 June 2021

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!' };";
			};
		};
	};
};


See also