Dynamic Groups – Arma 3

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Some wiki formatting)
m (Fix)
 
Line 9: Line 9:
To add the Dynamic Groups functionality to your mission do the following steps:
To add the Dynamic Groups functionality to your mission do the following steps:


* Create a file in your mission root folder and name it [[Event Scripts#initServer.sqf|initServer.sqf]] (if you don't have it there already). This file is executed only on the server, when the mission starts.
 
** Into this file, copy & paste one of these lines to make the server initialise the Dynamic Groups framework: <sqf>
Create a file in the mission root directory named [[Event Scripts#initServer.sqf|initServer.sqf]] (if you don't have it there already).
This file is executed only on the server, when the mission starts.
 
Into this file, copy & paste one of these two lines to make the server initialise the Dynamic Groups framework:
<sqf>
["Initialize"] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework
["Initialize"] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework
// or
// or
["Initialize", [true]] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework and groups led by a player at mission start will be registered
["Initialize", [true]] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework and groups led by a player at mission start will be registered
</sqf>
</sqf>
* Create another file in your mission root folder and name it [[Event Scripts#initPlayerLocal.sqf|initPlayerLocal.sqf]] (if you don't have it there already).
 
** This file is executed only by machines which have a human player when the mission starts (every machine  but a dedicated server or a [[Arma 3: Headless Client||headless client]] - see [[hasInterface]]).
 
** Into this file, copy & paste one of these lines to make a client/player initialise the Dynamic Groups framework: <sqf>
Create another file in the mission root directory named [[Event Scripts#initPlayerLocal.sqf|initPlayerLocal.sqf]] (if you don't have it there already).
This file is executed only by machines which have a human player when the mission starts (every machine  but a dedicated server or a [[Arma 3: Headless Client|headless client]] - see [[hasInterface]]).
 
Into this file, copy & paste one of these two lines to make a client/player initialise the Dynamic Groups framework:
<sqf>
["InitializePlayer", [player]] call BIS_fnc_dynamicGroups; // initialises the player/client side Dynamic Groups framework
["InitializePlayer", [player]] call BIS_fnc_dynamicGroups; // initialises the player/client side Dynamic Groups framework
// or
// or
Line 44: Line 52:
</sqf>
</sqf>


See [[BIS_fnc_dynamicGroups]] in the Functions Viewer for more sub-functions and their parameters.
{{Feature|informative|See [[BIS_fnc_dynamicGroups]] in the Functions Viewer for more sub-functions and their parameters.}}




{{GameCategory|arma3|Editing}}
{{GameCategory|arma3|Editing}}
[[Category:Introduced with Arma 3 version 1.42]]
[[Category:Introduced with Arma 3 version 1.42]]

Latest revision as of 21:54, 27 May 2023

Dynamic Groups
Dynamic Groups

Arma 3 logo black.png1.42


Installation

To add the Dynamic Groups functionality to your mission do the following steps:


Create a file in the mission root directory named initServer.sqf (if you don't have it there already). This file is executed only on the server, when the mission starts.

Into this file, copy & paste one of these two lines to make the server initialise the Dynamic Groups framework:

["Initialize"] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework // or ["Initialize", [true]] call BIS_fnc_dynamicGroups; // initialises the Dynamic Groups framework and groups led by a player at mission start will be registered


Create another file in the mission root directory named initPlayerLocal.sqf (if you don't have it there already). This file is executed only by machines which have a human player when the mission starts (every machine but a dedicated server or a headless client - see hasInterface).

Into this file, copy & paste one of these two lines to make a client/player initialise the Dynamic Groups framework:

["InitializePlayer", [player]] call BIS_fnc_dynamicGroups; // initialises the player/client side Dynamic Groups framework // or ["InitializePlayer", [player, true]] call BIS_fnc_dynamicGroups; // initialises the player/client side Dynamic Groups framework and registers the player group


Dynamic Groups Interface Access

The Dynamic Groups interface is tied to the TeamSwitch action, and its default keybind is U.


Additional Functionality

If you would like to register a group manually (same as a player clicking the CREATE button in the UI) use RegisterGroup. Please note that the leader you pass must be the actual leader of the given group, for example:

if (isServer) then { private _group = group player; private _leader = leader _group; private _data = [nil, "Awesome Group", false]; // [<Insignia>, <Group Name>, <Private>] ["RegisterGroup", [_group, _leader, _data]] call BIS_fnc_dynamicGroups; };

See BIS_fnc_dynamicGroups in the Functions Viewer for more sub-functions and their parameters.