ArmA 2 Forum, ArmA 2 Home, ArmA 2 Config, ArmA 2 File Formats, ArmA 2 Missions, ArmA 2 3D Modeling, ArmA 2 Scripting, ArmA 2 Terrain, ArmA 2 Texturing, ArmA 2 Tools
Functions Library
Function Library is pack of script functions available from anywhere in game.
Initialization
Paths
Editor: Units (F1) > Game Logic > Modules > Function Library
Data: ca\modules\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 (TODO)
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: