radioChannelCreate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(43 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command


____________________________________________________________________________________________
|game1= tkoh
|version1= 1.00


| TKOH |Game name=
|game2= arma3
|version2= 0.50


|1.00|Game version=
|serverExec= server


|serverExec= server |Exec=
|arg= global


|arg= global|Multiplayer Arguments=
|eff= global


|eff= global|Multiplayer Effects=
|gr1= Radio and Chat


|gr1= Radio and Chat |GROUP1=
|gr2= Custom Radio and Chat


|gr2= Custom Radio and Chat |GROUP2=
|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.


| Create a custom radio channel with the given color, label, call sign and registered characters. The '''customChannelID''' 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. |DESCRIPTION=
|s1= [[radioChannelCreate]] [color, label, callSign, units, sentenceType]
____________________________________________________________________________________________


| [[radioChannelCreate]] [color, label, callSign, units, sentenceType] |SYNTAX=
|p1= color: [[Array]] - [[Color|RGBA color]] values


|p1= color: [[Array]] - RGBA color values |PARAMETER1=
|p2= label: [[String]] - label


|p2= label: [[String]] - label |PARAMETER2=
|p3= callSign: [[String]] - call sign - see [[radioChannelSetCallSign]]


|p3= callSign: [[String]] - call sign |PARAMETER3=
|p4= units: [[Array]] - list of units in the channel


|p4= units: [[Array]] - list of units in the channel |PARAMETER4=
|p5= sentenceType: [[Boolean]] - (Optional, default [[true]])
* [[true]] - use ''Protocol'' message color from <sqf inline>getArray (configFile >> "RscChatListDefault" >> "colorMessageProtocol")</sqf>
* [[false]] - use ''Normal'' message color from <sqf inline>getArray (configFile >> "RscChatListDefault" >> "colorMessage")</sqf>


|p5= sentenceType (Optional): [[Boolean]] (Default: [[true]])
|r1= [[Number]] - created '''[[Channel IDs|custom channel ID]]''' (used in [[customChat]] command), 0 if failed
* [[true]] - use ''Protocol'' message color from <tt>[[getArray]] ([[configFile]] >> "RscChatListDefault" >> "colorMessageProtocol")</tt>
* [[false]] - use ''Normal'' message color from <tt>[[getArray]] ([[configFile]] >> "RscChatListDefault" >> "colorMessage")</tt> |PARAMETER5=


| [[Number]] - created '''custom channel ID''' (used in [[customChat]] command), 0 if failed |RETURNVALUE=
|x1= <sqf>_channelID = radioChannelCreate [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2]];</sqf>


|x1= <code>_channelID= [[radioChannelCreate]] [[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2]];</code> |Example1=
|x2= <sqf>
_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>


|x2= <code>_channelID = [[radioChannelCreate]] <nowiki>[[0.96, 0.34, 0.13, 0.8], "Q-dance Radio", "%UNIT_NAME", [player1, player2],</nowiki> [[false]]<nowiki>];</nowiki>
|x3= Create custom channel and add all players to it, present and JIP:
{{cc|disable automatic quotes for chat in channel ({{arma3}})}}</code> |Example2=
<sqf>if (isServer) then
 
|x3= Create custom channel and add all players to it, present and JIP:<code>[[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> |EXAMPLE3=
};
</sqf>


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


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|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.
}}


<dd class="notedate">Posted on January 21, 2016 - 13:30 (UTC)</dd>
{{Note
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
|user= Hypoxic125
<dd class="note">
|timestamp= 20221101063808
Make sure you add all units you intend to speak or receive messages on created custom channel to the channel.
|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]].
</dd>
}}
 
<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>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]

Latest revision as of 01:42, 12 March 2024

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 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.
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 - call sign - 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

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 or on the Forums.
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.