Advanced Hints (Field Manual) – Arma 3

From Bohemia Interactive Community
Revision as of 23:00, 8 January 2014 by DarkDruid (talk | contribs)
Jump to navigation Jump to search

Summary

Advanced hints are system of educative/informative hints. There are two place where you can see these hints:

  • Field Manual - list of all advanced hints, you can open it from main menu or pause menu
  • In Game - mission designer can call any advanced hint by function BIS_fnc_advHint

Specifications:

  • There is a set of default advanced hints in the game. Players are able to add own hints.
  • Hints can be related only to a mission, campaign or the whole game. Hints related to any mission/campaign are not accessible in other missions/campaigns.
  • Showing of advanced hints in mission can be disabled by player in game options.
  • If player creates its own hint in config, this hint is added into Field Manual automatically (hint just need to be defined in the right class, see Config definition)


Calling of hint in mission

  • Simple function triggered by the designer at any needed point in the mission flow
  • Syntax: [classes, duration1, condition1, duration2, condition2, showing, onlyFullHint, onlyOnce] call BIS_fnc_advHint;where:
    • Classes - [Array] in format [main class, class]. Main class and class are classes in a config (see Config definition part) that includes title, image, description text possibly including keybinds (html formatted); required parameter
    • Duration1 - [Number] An amount of time the SHORT version of hint is shown; optional - default 30 s
    • Condition1 - [String] A condition that hide the SHORT version of hint when becomes true; optional - default nothing
    • Duration2 - [Number] An amount of time the FULL version of hint is shown; optional - default 30 s
    • Condition2 - [String] A condition that hide the FULL version of hint when becomes true; optional - default nothing
    • Showing - [Bool] true show hint even if tutorial hints are disabled via game settings; optional - default false
    • OnlyFullHint - [Bool] true show directly the full hint without using of the short hint, optional - default false
    • OnlyOnce - [Bool] show the hint in a mission only once (true) or multiple times (false), optional - default false

Note: Grey paremeters aren't implemented yet.


Config

  • System can read definitions from configFile, campaignConfigFile and missionConfigFile (so mission/campaign specific hints are possible).
  • Hint must by defined in class CfgHints.

Definition:

class CfgHints
{
	class InfantryMovement
	{
		// Topic title (displayed only in topic listbox in Field Manual)
		displayName = "Infantry Controls";
		class SteppingOver
		{
			// Hint title, filled by arguments from 'arguments' param
			displayName = "Stepping over obstacles";
                        // Optional hint subtitle, filled by arguments from 'arguments' param
			displayNameShort = "Stepping over obstacles";
			// Structured text, filled by arguments from 'arguments' param
			description = "Press %11 to step over low obstacle. Your %13 is %14";
                        // Optional structured text, filled by arguments from 'arguments' param (first argument
                        // is %11, see notes bellow), grey color of text
                        tip = "The free look represents turning the head sideways and up or down.";
			arguments[] = {
				{{"getOver"}}, // Double nested array means assigned key (will be specially formatted)
                                {"name"}, // Nested array means element (specially formatted part of text)
				"name player" // Simple string will be simply compiled and called
                                              // String is used as a link to localization database in case it starts by str_
			};
			// Optional image
			image = "\path\image_ca.paa";
			// Hint scope, values as everywhere else in game. 2 means displayed, 0 and 1 not.)
			scope = 2;
		};
	};
};

Definition notes:

  • First item from arguments field in config is inserted in text via variable %11, second item via %12, etc.
  • Variables %1 - %10 are hardcoded:
    • %1 - small empty line
    • %2 - bullet (for item in list)
    • %3 - highlight start
    • %4 - highlight end
    • %5 - warning color formated for using in structured text tag
    • %6 - civilian color formated for using in structured text tag (configfile >> 'CfgInGameUI' >> 'IslandMap' >> 'colorCivilian')
    • %7 - enemy color formated for using in structured text tag (configfile >> 'CfgInGameUI' >> 'IslandMap' >> 'colorEnemy')
    • %8 - friendly color formated for using in structured text tag (configfile >> 'CfgInGameUI' >> 'IslandMap' >> 'colorFriendly')
    • %9 - neutral color formated for using in structured text tag (configfile >> 'CfgInGameUI' >> 'IslandMap' >> 'colorNeutral')
    • %10 - unknown color formated for using in structured text tag (configfile >> 'CfgInGameUI' >> 'IslandMap' >> 'colorUnknown')
  • color formated for using in structured text is string: "color = 'given_color'"