Functions Library – Arma 2
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "\[\[Arma 3 ([^ACHJKLMTZ|])([^|]+)\]\]" to "Arma 3: $1$2") |
Lou Montana (talk | contribs) m (Text replacement - "bis_fnc_" to "BIS_fnc_") |
||
Line 20: | Line 20: | ||
=== Usage === | === Usage === | ||
First, you need to check if Functions were already initialized: | First, you need to check if Functions were already initialized: | ||
waituntil {!isnil " | waituntil {!isnil "BIS_fnc_init"}; | ||
{{Feature|important|Always check for 'BIS_fnc_init', not specific functions (e.g. 'BIS_fnc_setpitchbank')! | {{Feature|important|Always check for 'BIS_fnc_init', not specific functions (e.g. 'BIS_fnc_setpitchbank')! | ||
Revision as of 18:24, 20 June 2021
Function Library is pack of script functions available from anywhere in game.
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"};
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