Arma 3: Notification

From Bohemia Interactive Community
Jump to navigation Jump to search
Notification preview

Arma 3 allows to show mission or system notification using BIS fnc showNotification function:

["TaskSucceeded", ["Disable the nuke"]] call BIS fnc showNotification;
["ScoreAdded", ["Disabled the nuke without triggering an alarm.", 5]] call BIS fnc showNotification;

Instead of defining every single param over and over again in multiple missions, it is possible to reference a template defined in CfgNotifications class either in mission / campaign Description.ext or in global config.cpp.

BIS fnc showNotification only offers possibility to change:
  • title
  • description
  • iconPicture
  • iconText
  • soundRadio
The rest is CfgNotifications-dependent.
class CfgNotifications
{
	class Default
	{
		title = "";				// Title displayed as text on black background. Filled by arguments.
		iconPicture = "";		// Small icon displayed in left part. Colored by "color", filled by arguments.
		iconText = "";			// Short text displayed over the icon. Colored by "color", filled by arguments.
		description = "";		// Brief description displayed as structured text. Colored by "color", filled by arguments.
		color[] = {1,1,1,1};	// Icon and text color
		duration = 5;			// How many seconds will the notification be displayed
		priority = 0;			// Priority; higher number = more important; tasks in queue are selected by priority
		difficulty[] = {};		// Required difficulty settings. All listed difficulties has to be enabled
	};

	// Example 1
	class TaskAssigned
	{
		title = "TASK ASSIGNED";
		iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa";
		description = "%1";
		priority = 7;
	};

	// Example 2
	class ScoreAdded
	{
		title = "Score bonus";
		iconText = "+%2";
		description = "%1";
		color[] = {0.5,1,1,1};
		priority = 0;
		difficulty[] = {"netStats"};
	};
};

Arma 3 logo black.png2.06 Default version:

color[] = {
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"
};
colorIconPicture[] = {
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"
};
colorIconText[] = {
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
	"(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"
};
description = "";
difficulty[] = {};
duration = 3;
iconPicture = "";
iconText = "";
priority = 0;
sound = "defaultNotification";				// Sound to be played upon notification is created. (cfgSounds)
soundClose = "defaultNotificationClose";	// Sound to be played upon notification is collapsed. (cfgSounds)
soundRadio = ""; // Radio message to be played upon notification is created. HQ entity of player side is used. (cfgRadio)
title = "";