activateAddons: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
No edit summary
 
Line 45: Line 45:
|text= This command will activate addons that are referenced via scripts but not included in a missions required addons section. If executed from a configs init event with the [[call]] command, it will effectively override a missions required addons, preventing them from being activated (Appears to only happen in multi player).  
|text= This command will activate addons that are referenced via scripts but not included in a missions required addons section. If executed from a configs init event with the [[call]] command, it will effectively override a missions required addons, preventing them from being activated (Appears to only happen in multi player).  
To activate the passed addons along with those defined in the mission.sqm, execute the command from a configs init event using [[spawn]] or [[execVM]].
To activate the passed addons along with those defined in the mission.sqm, execute the command from a configs init event using [[spawn]] or [[execVM]].
}}
{{Note
|user= samatra
|timestamp= 20220703084305
|text= Here is a handy function to call before you do [[createVehicle]] or other create* command during missing init scripts, which should activate missing addons without having to worry about re-adding previously added addons.
<sqf>
fnc_prepareClassAddons = {
private _class = toLower _this;
// To avoid double checks
if(isNil"var_addonCheckedClasses") then {var_addonCheckedClasses = createHashMap;};
if(_class in var_addonCheckedClasses) exitWith {};
// Finding missing addons
private _needed = unitAddons _class apply {toLower _x};
private _active = activatedAddons;
private _missing = _needed - (_needed arrayIntersect _active);
if(count _missing > 0) then {
// Adding everything again, engine will figure it out itself
_active append _missing;
activateAddons _active;
};
var_addonCheckedClasses set [_class, _needed];
};
</sqf>
Usage would be <sqf inline>"Land_BurntGarbage_01_F" call fnc_prepareClassAddons</sqf>.
}}
}}

Latest revision as of 09:43, 3 July 2022

Hover & click on the images for description

Description

Description:
Activates the listed addons.
Groups:
Mods and Addons

Syntax

Syntax:
activateAddons addonsList
Parameters:
addonsList: Array of Strings
Return Value:
Nothing

Examples

Example 1:
activateAddons ["BISOFP"];

Additional Information

See also:
unitAddons activatedAddons

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
WGL.Q - c
Posted on Jan 21, 2009 - 12:37 (UTC)
Be aware that addon's string is the CfgPatches class of the desired addon to preload.
UNN - c
Posted on May 10, 2009 - 11:17 (UTC)
This command will activate addons that are referenced via scripts but not included in a missions required addons section. If executed from a configs init event with the call command, it will effectively override a missions required addons, preventing them from being activated (Appears to only happen in multi player). To activate the passed addons along with those defined in the mission.sqm, execute the command from a configs init event using spawn or execVM.
samatra - c
Posted on Jul 03, 2022 - 08:43 (UTC)
Here is a handy function to call before you do createVehicle or other create* command during missing init scripts, which should activate missing addons without having to worry about re-adding previously added addons.
fnc_prepareClassAddons = { private _class = toLower _this; // To avoid double checks if(isNil"var_addonCheckedClasses") then {var_addonCheckedClasses = createHashMap;}; if(_class in var_addonCheckedClasses) exitWith {}; // Finding missing addons private _needed = unitAddons _class apply {toLower _x}; private _active = activatedAddons; private _missing = _needed - (_needed arrayIntersect _active); if(count _missing > 0) then { // Adding everything again, engine will figure it out itself _active append _missing; activateAddons _active; }; var_addonCheckedClasses set [_class, _needed]; };
Usage would be "Land_BurntGarbage_01_F" call fnc_prepareClassAddons.