Functions Library – Arma 2

From Bohemia Interactive Community
Revision as of 18:39, 4 August 2021 by Lou Montana (talk | contribs) (Some wiki formatting)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Function Library is pack of script functions available from anywhere in game.

Arma 3
This page is mainly Arma 2 related, for Arma 3 visit Arma 3: Functions Library


Initialization

Paths

Editor:

Modules (F7) > Function Library

Data:

ca\modules\functions
ca\modules_e\functions
ca\modules_pmc\functions

Startup

Place Function manager on map. No additional synchronizing needed.

Usage

First, you need to check if Functions were already initialized:

waitUntil { !isNil "BIS_fnc_init" };
Always check for 'BIS_fnc_init', not specific functions (e.g. 'BIS_fnc_setpitchbank')! Never set value of 'BIS_fnc_init' in any part of mission! It may lead to breakdown of some modules!

After that, you can call any function using following syntax:

_fnc = [params] call TAG_fnc_functionName


In-game functions viewer

See BIS_fnc_help


Adding new functions

List of functions is defined in config - CfgFunctions. New ones can be also added in Description.ext file of mission or campaign.

class cfgFunctions
{
	class BIS
	{
		class category1
		{
			class Test1 		{ description = "Testing file 1" };
		};
	};

	class TAG
	{
		class category1
		{
			class Test2
			{
				description = "Testing file 2";
				file = "test.sqf";
			};
		};
	};
};

If 'file' path is not set, system will search for file 'functions\category\fn_function.sqf" (if CfgFunctions is defined in Description.ext) or 'ca\modules\functions\category\fn_function.sqf" (if CfgFunctions is defined in config.cpp).

Result is:

  • BIS_fnc_Test1 - will load script \functions\category1\test1.sqf from mission or campaign directory
  • TAG_fnc_Test2 - will load script test.sqf


List of official functions