radioChannelCreate: Difference between revisions

From Bohemia Interactive Community
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
No edit summary
 
(15 intermediate revisions by 4 users not shown)
Line 17: Line 17:
|gr2= Custom Radio and Chat
|gr2= Custom Radio and Chat


|descr= Create a custom radio channel with the given color, label, call sign and registered characters. The '''[[Channel IDs|custom channel ID]]''' returned can be used to manipulate the created channel later. There are 10 slots for custom radio channels which would correspond to channels 6-15 (see [[getPlayerChannel]]). The command will find an unused index in this range and create it when found.
|descr= Create a custom radio channel with the given color, label, call sign and registered characters.
The '''[[Channel IDs|custom channel ID]]''' returned can be used to manipulate the created channel later.
There are '''50''' slots (10 slots before {{GVI|arma3|2.22|size= 0.75}}) for custom radio channels which would correspond to channels 6..15 and 26..65 (see [[getPlayerChannel]]).
The command will find an unused index in this range and create it when found.


|s1= [[radioChannelCreate]] [color, label, callSign, units, sentenceType]
|s1= [[radioChannelCreate]] [color, label, callSign, units, sentenceType]


|p1= color: [[Array]] - RGBA color values
|p1= color: [[Array]] - [[Color|RGBA color]] values


|p2= label: [[String]] - label
|p2= label: [[String]] - label


|p3= callSign: [[String]] - call sign
|p3= callSign: [[String]] - chat call sign (or since {{GVI|arma3|2.22|size= 0.75}} [[Array]] - [callSign, callSignVoN]) see [[radioChannelSetCallSign]]


|p4= units: [[Array]] - list of units in the channel
|p4= units: [[Array]] - list of units in the channel


|p5= sentenceType (Optional, default [[true]]): [[Boolean]]
|p5= sentenceType: [[Boolean]] - (Optional, default [[true]])
* [[true]] - use ''Protocol'' message color from {{hl|[[getArray]] ([[configFile]] >> "RscChatListDefault" >> "colorMessageProtocol")}}
* [[true]] - use ''Protocol'' message color from <sqf inline>getArray (configFile >> "RscChatListDefault" >> "colorMessageProtocol")</sqf>
* [[false]] - use ''Normal'' message color from {{hl|[[getArray]] ([[configFile]] >> "RscChatListDefault" >> "colorMessage")}}
* [[false]] - use ''Normal'' message color from <sqf inline>getArray (configFile >> "RscChatListDefault" >> "colorMessage")</sqf>


|r1= [[Number]] - created '''[[Channel IDs|custom channel ID]]''' (used in [[customChat]] command), 0 if failed
|r1= [[Number]] - created '''[[Channel IDs|custom channel ID]]''' (used in [[customChat]] command), 0 if failed. (see [[BIS_fnc_channelNumToRadioChannelID]], [[BIS_fnc_radioChannelIDToChannelNum]])


|x1= <code>_channelID= [[radioChannelCreate]] [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2]];</code>
|x1= <sqf>_channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2]];</sqf>


|x2= <code>_channelID = [[radioChannelCreate]] <nowiki>[[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2],</nowiki> [[true]]<nowiki>];</nowiki>
|x2= <sqf>
{{cc|using [[true]] also disables automatic quotes for chat in channel ({{arma3}})}}</code>
_channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2], true];
// using true also disables automatic quotes for chat in channel (Arma 3)
</sqf>


|x3= Create custom channel and add all players to it, present and JIP:<code>[[if]] ([[isServer]]) [[then]]
|x3= Create custom channel and add all players to it, present and JIP:
<sqf>
if (isServer) then
{
{
[[private]] _channelName = "Q-dance Radio";
private _channelName = "Q-dance Radio";
[[private]] _channelID = [[radioChannelCreate]] [[0.96, 0.34, 0.13, 0.8], _channelName, "%UNIT_NAME", []];
private _channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], _channelName, "%UNIT_NAME", []];
[[if]] (_channelID == 0) [[exitWith]] {[[diag_log]] [[format]] ["Custom channel '%1' creation failed!", _channelName]};
if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]};
[_channelID, {_this [[radioChannelAdd]] [<nowiki/>[[player]]]}] [[remoteExec]] ["call", [0, -2] [[select]] [[isDedicated]], _channelName];
[_channelID, {_this radioChannelAdd [player]}] remoteExec ["call", [0, -2] select isDedicated, _channelName];
};</code>
};
</sqf>


|seealso= [[radioChannelAdd]] [[radioChannelRemove]] [[radioChannelSetCallSign]] [[radioChannelSetLabel]] [[customChat]] [[customRadio]], [[setCurrentChannel]], [[currentChannel]], [[enableChannel]], [[channelEnabled]], [[getPlayerChannel]]
|seealso= [[radioChannelAdd]] [[radioChannelRemove]] [[radioChannelSetCallSign]] [[radioChannelSetLabel]] [[customChat]] [[customRadio]] [[setCurrentChannel]] [[currentChannel]] [[enableChannel]] [[channelEnabled]] [[getPlayerChannel]] [[radioChannelInfo]]
}}
}}


<dl class="command_description">
{{Note
|user= Killzone_Kid
|timestamp= 20160121133000
|text= Make sure you add all units you intend to speak or receive messages on created custom channel to the channel.
}}


<dt></dt>
{{Note
<dd class="notedate">Posted on January 21, 2016 - 13:30 (UTC)</dd>
|user= Hypoxic125
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
|timestamp= 20221101063808
<dd class="note">
|text= Units are removed from the chat channel on RESPAWN. Be sure to add units back to their custom chat channels upon respawn via [[Event_Scripts#onPlayerRespawn.sqf|onPlayerRespawn.sqf]] or [[Arma_3:_Event_Handlers#Respawn|Respawn Event Handler]].
Make sure you add all units you intend to speak or receive messages on created custom channel to the channel.
}}
</dd>
 
<dt><dt>
<dd class="notedate">Posted on October 12, 2017 - 12:27 (UTC)</dd>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dd class="note">
'''WARNING''': Be aware that created channels order and count are different between server and client. '''Example 3''' shown that server-side channel ID is actually ''4'', while client [[currentChannel]] on the same channel results in ''9''.
Behaviour is yet unknown for me.
</dd>
 
</dl>

Latest revision as of 12:40, 23 November 2025

Hover & click on the images for description

Description

Description:
Create a custom radio channel with the given color, label, call sign and registered characters. The custom channel ID returned can be used to manipulate the created channel later. There are 50 slots (10 slots before Arma 3 logo black.png 2.22) for custom radio channels which would correspond to channels 6..15 and 26..65 (see getPlayerChannel). The command will find an unused index in this range and create it when found.
Groups:
Radio and ChatCustom Radio and Chat

Syntax

Syntax:
radioChannelCreate [color, label, callSign, units, sentenceType]
Parameters:
color: Array - RGBA color values
label: String - label
callSign: String - chat call sign (or since Arma 3 logo black.png 2.22 Array - [callSign, callSignVoN]) see radioChannelSetCallSign
units: Array - list of units in the channel
sentenceType: Boolean - (Optional, default true)
Return Value:
Number - created custom channel ID (used in customChat command), 0 if failed. (see BIS_fnc_channelNumToRadioChannelID, BIS_fnc_radioChannelIDToChannelNum)

Examples

Example 1:
_channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2]];
Example 2:
_channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2], true]; // using true also disables automatic quotes for chat in channel (Arma 3)
Example 3:
Create custom channel and add all players to it, present and JIP:
if (isServer) then { private _channelName = "Q-dance Radio"; private _channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], _channelName, "%UNIT_NAME", []]; if (_channelID == 0) exitWith {diag_log format ["Custom channel '%1' creation failed!", _channelName]}; [_channelID, {_this radioChannelAdd [player]}] remoteExec ["call", [0, -2] select isDedicated, _channelName]; };

Additional Information

See also:
radioChannelAdd radioChannelRemove radioChannelSetCallSign radioChannelSetLabel customChat customRadio setCurrentChannel currentChannel enableChannel channelEnabled getPlayerChannel radioChannelInfo

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord.
Only post proven facts here! Add Note
Killzone_Kid - c
Posted on Jan 21, 2016 - 13:30 (UTC)
Make sure you add all units you intend to speak or receive messages on created custom channel to the channel.
Hypoxic125 - c
Posted on Nov 01, 2022 - 06:38 (UTC)
Units are removed from the chat channel on RESPAWN. Be sure to add units back to their custom chat channels upon respawn via onPlayerRespawn.sqf or Respawn Event Handler.