Dynamic Groups – Arma 3

From Bohemia Interactive Community
Revision as of 19:31, 31 January 2021 by Lou Montana (talk | contribs) (Text replacement - " (={2,})([^ = ])(.*)([^ = ])(={2,}) * " to " $1 $2$3$4 $5 ")
Jump to navigation Jump to search

-wrong parameter ("A3") defined!-[[:Category:Introduced with A3 version 1.42|1.42]]

DYNAMIC GROUPS

Dynamic Groups
Dynamic Groups

Installation

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


InitServer.sqf

Create a file in your mission root folder and name it initServer.sqf (if you don't have it there already). This file is executed only on the server, when the mission starts. Onto this file, copy & paste the following line, which will make the server initialize the Dynamic Groups framework.

Option 1

["Initialize"] call BIS_fnc_dynamicGroups; // Initializes the Dynamic Groups framework

Option 2

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

Note that, this function has no effect if called in a machine which is not the server.


InitPlayerLocal.sqf

Create another file in your mission root folder and name it 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, which means everyone but a dedicated server, will actually execute this file. Onto this file, copy & paste the following line, which will make a client/player initialize the Dynamic Groups framework.

Option 1:

["InitializePlayer", [player]] call BIS_fnc_dynamicGroups; // Initializes the player/client side Dynamic Groups framework

Option 2:

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


Accessing the Dynamic Groups interface

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


Additional Functionality

If you would like to register a group manually (same as a player clicking 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 Functions Viewer or BIS_fnc_dynamicGroups for more sub-functions and their parameters: