Functions Library – Arma 2

From Bohemia Interactive Community
Revision as of 18:11, 3 August 2016 by R3vo (talk | contribs) (Added link to Arma 3 Functions Library to prevent confusion)
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.

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


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 CSLA
	{
		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 function is defined in description.ext) or 'ca\modules\functions\category\fn_function.sqf" (if function is in config.cpp).

Result is:

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

List of official functions

ArmA 2: Functions