{"name":"setGroupId","operator":null,"title":"setGroupId","type":"command","url":"https://community.bistudio.com/wiki/setGroupId","revid":376660,"updated":"2025-11-03T17:32:23Z","groups":["Groups"],"status":"ok","replaced_by":[],"games":[{"game":"ofp","name":"Operation Flashpoint","version":"1.00"},{"game":"ofpe","name":"Operation Flashpoint: Elite","version":"1.00"},{"game":"arma1","name":"Armed Assault","version":"1.00"},{"game":"arma2","name":"Arma 2","version":"1.00"},{"game":"arma2oa","name":"Arma 2: Operation Arrowhead","version":"1.50"},{"game":"tkoh","name":"Take On Helicopters","version":"1.00"},{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"ofp","name":"Operation Flashpoint","version":"1.00"},"arma3_since":"0.50","branch":null,"locality":{"argument":"global","effect":"local","server_exec":false},"exec":null,"description":"Sets the group radio callsign, how it will be displayed in radio chat. Two groups on the same side **cannot** have the same callsign (possible on different sides) - see #Example 4.\n\nThe identity setup can consist of format keywords (marked with **%**) and param keywords taken from **CfgWorlds** config.\nFormatting is almost like using the format command but with some special group keywords (see #Example 2).\n\n| %GroupSquad | %GroupPlatoon | %GroupCompany | %GroupNames | %GroupColors |\n|---|---|---|---|---|\n| - \"Squad1\" → 1<br>- \"Squad2\" → 2<br>- \"Squad3\" → 3<br>- \"Squad4\" → 4 | - \"Platoon1\" → 1<br>- \"Platoon2\" → 2<br>- \"Platoon3\" → 3<br>- \"Platoon4\" → 4 | - \"CompanyAlpha\" → Alpha<br>- \"CompanyBravo\" → Bravo<br>- \"CompanyCharlie\" → etc.<br>- \"CompanyDelta\"<br>- \"CompanyEcho\"<br>- \"CompanyFoxtrot\"<br>- \"CompanyGolf\"<br>- \"CompanyHotel\"<br>- \"CompanyIndia\"<br>- \"CompanyKilo\"<br>- \"CompanyLima\"<br>- \"CompanyMike\"<br>- \"CompanyNovember\"<br>- \"CompanyOscar\"<br>- \"CompanyPapa\"<br>- \"CompanyQuebec\"<br>- \"CompanyRomeo\"<br>- \"CompanySierra\"<br>- \"CompanyTango\"<br>- \"CompanyUniform\"<br>- \"CompanyVictor\"<br>- \"CompanyWhiskey\"<br>- \"CompanyXray\" → X-Ray<br>- \"CompanyYankee\"<br>- \"CompanyZulu\" | - \"Alpha\"<br>- \"Bravo\"<br>- \"Charlie\"<br>- \"Delta\"<br>- \"Echo\"<br>- \"Foxtrot\"<br>- \"Golf\"<br>- \"Hotel\"<br>- \"November\"<br>- \"Kilo\"<br>- \"Yankee\"<br>- \"Zulu\"<br>- \"Convoy\"<br>- \"Buffalo\"<br>- \"Guardian\"<br>- \"Two\"<br>- \"Three\"<br>- \"Fox\" | - \"GroupColor0\" → (nothing)<br>- \"GroupColor1\" → Black<br>- \"GroupColor2\" → Red<br>- \"GroupColor3\" → Green<br>- \"GroupColor4\" → Blue<br>- \"GroupColor5\" → Yellow<br>- \"GroupColor6\" → Orange<br>- \"GroupColor7\" → Pink<br>- \"Six\" → Six |\n\n| Letter | Colour |\n|---|---|\n| - \"Alpha\"<br>- \"Bravo\"<br>- \"Charlie\"<br>- \"Delta\"<br>- \"Echo\"<br>- \"Foxtrot\"<br>- \"Golf\"<br>- \"Hotel\"<br>- \"Kilo\"<br>- \"Yankee\"<br>- \"Zulu\"<br>- \"Buffalo\"<br>- \"Convoy\"<br>- \"Guardian\"<br>- \"November\"<br>- \"Two\"<br>- \"Three\"<br>- \"Fox\" | - \"GroupColor0\" → (nothing)<br>- \"GroupColor1\" → Black<br>- \"GroupColor2\" → Red<br>- \"GroupColor3\" → Green<br>- \"GroupColor4\" → Blue<br>- \"GroupColor5\" → Yellow<br>- \"GroupColor6\" → Orange<br>- \"GroupColor7\" → Pink<br>- \"Six\" → Six |\n\n> [!NOTE]\n> **Operation Flashpoint:** - In **Operation Flashpoint**, the group ID cannot be freely decided and format must be [letter, colour, picture] or [letter, colour] - *nameFormat* **cannot** be a custom text - see #Example 3.\n> - The radio callsign strings can be overwritten in a mission by writing Stringtable entries of the same name. Some entry names:\n> - STR_CFG_*GRPNAMES*_**ALPHA**\n> - STR_CFG_*GRPNAMES*_**FOX**\n> - STR_CFG_*GRPCOL*_**BLACK**\n> - STR_CFG_*GRPNAMES*_**SIX** (unlike its name suggests, this is a \"group colour\")\n> - STR_CFG_FIREFLYBASE\n> - STR_CFG_PAPABEAR\n> - STR_CFG_HQ_BASE","syntaxes":[{"syntax":"group setGroupId [nameFormat, nameParam1, nameParam2, ...]","since":null,"effect":null,"exec":null,"params":[{"name":"group","type":"Object or Group","optional":false,"default":null,"description":null,"types":["Object","Group"],"since":null,"text":"group: Object or Group"},{"name":"nameFormat","type":"String","optional":false,"default":null,"description":"format template (%keyword1 - %keyword2...etc)","types":["String"],"since":null,"text":"nameFormat: String - format template (%keyword1 - %keyword2...etc)"},{"name":"nameParamN","type":"String","optional":false,"default":null,"description":"param keyword","types":["String"],"since":null,"text":"nameParamN: String - param keyword"}],"returns":{"type":"Nothing","types":["Nothing"],"description":null,"text":"Nothing"},"form":"binary","operator":null,"left":{"text":"group","types":["Object","Group"]},"right":{"text":"[nameFormat, nameParam1, nameParam2, ...]","types":["Array"]}}],"examples":[{"text":"**Arma 3**:\n\n```sqf\ngroup player setGroupId [\"Some name for the group\"];\nhint groupId group player;    // \"Some name for the group\"\nplayer sideChat \"lalala\";    // Some name for the group (KK): \"lalala\"\n```","code":["group player setGroupId [\"Some name for the group\"];\nhint groupId group player;\t// \"Some name for the group\"\nplayer sideChat \"lalala\";\t// Some name for the group (KK): \"lalala\""]},{"text":"**Arma 3**:\n\n```sqf\ngroup player setGroupId [\"%GroupNames :=: %GroupColors\", \"Alpha\", \"GroupColor2\"];\nhint groupId group player;    // \"Alpha :=: Red\"\nplayer sideChat \"lalala\";    // Alpha :=: Red (KK): \"lalala\"\n```","code":["group player setGroupId [\"%GroupNames :=: %GroupColors\", \"Alpha\", \"GroupColor2\"];\nhint groupId group player;\t// \"Alpha :=: Red\"\nplayer sideChat \"lalala\";\t// Alpha :=: Red (KK): \"lalala\""]},{"text":"**Armed Assault / Arma 2 / Arma 3**:\n\n```sqf\ngroup player setGroupId [\"First Assault Recon Team\"];\n```\n\n**Operation Flashpoint**:\n\n```sqf\n_group1 setGroupId [\"Delta\", \"GroupColor4\"]\n```","code":["group player setGroupId [\"First Assault Recon Team\"];","_group1 setGroupId [\"Delta\", \"GroupColor4\"]"]},{"text":"When trying to apply the same callsign to two groups of the same side, the callsigns will simply be swapped, e.g:\n\n```sqf\ngroup1 setGroupId [\"Active Group\"];\ngroup2 setGroupId [\"Inactive Group\"];\ngroup2 setGroupId [\"Active Group\"]; // group1 is \"Inactive Group\" now\n```","code":["group1 setGroupId [\"Active Group\"];\ngroup2 setGroupId [\"Inactive Group\"];\ngroup2 setGroupId [\"Active Group\"]; // group1 is \"Inactive Group\" now"]}],"multiplayer":"For the global variant of this command see setGroupIdGlobal.","problems":null,"aliases":[],"see_also":["setGroupIdGlobal","groupId","group"],"notes":[{"user":"Killzone_Kid","date":"2015-04-21T23:21:00Z","text":""}],"categories":["ArmA: Armed Assault: Scripting Commands","Arma 2: Operation Arrowhead: Scripting Commands","Arma 2: Scripting Commands","Arma 3: Scripting Commands","Command Group: Groups","Introduced with Operation Flashpoint version 1.00","Operation Flashpoint: Elite: Scripting Commands","Operation Flashpoint: New Scripting Commands","Operation Flashpoint: Scripting Commands","Scripting Commands","Scripting Commands: Local Effect","Take On Helicopters: Scripting Commands"]}