directSay: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(Add "directChat" example)
 
(45 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| arma2 |Game name=
|game1= arma2
|version1= 1.00


|1.00|Game version=
|game2= arma2oa
|version2= 1.50


|arg= global |Multiplayer Arguments=
|game3= tkoh
|version3= 1.00


|eff= local |Multiplayer Effects=
|game4= arma3
|version4= 0.50


|gr1= Radio and Chat |GROUP1=
|arg= global


|gr2= Sounds |GROUP2=
|eff= local
____________________________________________________________________________________________


| Sends given audio message to the direct channel. Command operates just like xxxxRadio commands, but the sound is played over direct channel and is independent of [[fadeRadio]]. The message is defined in CfgRadio in the [[description.ext]] file or config radio protocol or a kbAddTopic. The transmission will play only on the PC where command was executed. If you need the transmission to play on all computers, you have to execute it globally (see [[remoteExec]]).
|gr1= Radio and Chat
<br><br>Note:  When transmitting unit gets killed, transmission will be interrupted, however when receiving unit gets killed, the transmission continues to play.  |DESCRIPTION=
____________________________________________________________________________________________


| unit '''directSay''' radioName |SYNTAX=
|gr2= Sounds


|p1= unit: [[Object]] - unit to transmit |PARAMETER1=
|descr= Sends given audio message to the direct channel. Command operates just like xxxxRadio commands, but the sound is played over direct channel and is independent of [[fadeSound]]. The message is defined in CfgRadio in the [[Description.ext|description.ext]] file or config radio protocol or a kbAddTopic. The transmission will play only on the PC where command was executed. If you need the transmission to play on all computers, you have to execute it globally (see [[remoteExec]]).
{{Feature|informative|When transmitting unit gets killed, transmission will be interrupted. However when receiving unit gets killed, the transmission continues to play.}}


|p2= radioName: [[String]] - class name from CfgRadio |PARAMETER2=
|s1= unit [[directSay]] radioName


| [[Nothing]] |RETURNVALUE=
|p1= unit: [[Object]] - unit to transmit


|p2= radioName: [[String]] - class name from CfgRadio


|x1= <code>[[player]] [[directSay]] [[configName]] [[selectRandom]] ("true" [[configClasses]] ([[configFile]] >> "CfgRadio"));</code>|EXAMPLE1=
|r1= [[Nothing]]


____________________________________________________________________________________________
|x1= <sqf>player directSay configName selectRandom ("true" configClasses (configFile >> "CfgRadio"));</sqf>


| [[sideRadio]], [[groupRadio]], [[customRadio]], [[vehicleRadio]], [[globalRadio]], [[commandRadio]] |SEEALSO=
|x2= An equivalent of a '''''directChat''''' command:
<sqf>
[player, "Hello there", 30] call {
params ["_unit", "_text", "_distance"];
[_unit, _text] remoteExec ["globalChat", call BIS_fnc_listPlayers select { _x distance _unit < _distance }];
};
</sqf>


| |MPBEHAVIOUR=
A [[:Category:Functions Library|function]] can be made for [[localize|localisation]] purpose:
____________________________________________________________________________________________
<sqf>
}}
/* TAG_fnc_globalChat */
params [
["_unit", objNull, [objNull]],
["_text", "", [""]]
];


<h3 style='display:none'>Notes</h3>
_unit globalChat (_text call BIS_fnc_localize);
<dl class='command_description'>
</sqf>
<!-- Note Section BEGIN -->
<sqf>
// usage
[player, "STR_HelloThere"] remoteExec ["TAG_fnc_globalChat", call BIS_fnc_listPlayers select { _x distance _unit < 30 }];
</sqf>


<!-- Note Section END -->
|seealso= [[sideRadio]] [[groupRadio]] [[customRadio]] [[vehicleRadio]] [[globalRadio]] [[commandRadio]]
</dl>
}}


<h3 style='display:none'>Bottom Section</h3>
{{Note
 
|user= Killzone_Kid
[[Category:Scripting Commands Arma 2|{{uc:{{PAGENAME}}}}]]
|timestamp= 20161203213200
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
|text= To transmit user custom sounds (see [[Multiplayer_Custom_Sounds_Tutorial]]), prefix the full filename including file extension with #.
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]]
For example if there is a custom user sound file called {{hl|MySound.ogg}}, to play it on the radio use:
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]
<sqf>player directSay "#MySound.ogg";</sqf>  
 
}}
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on December 3, 2016 - 21:32 (UTC)</dd>
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
<dd class="note">
To transmit user custom sounds (see [[Multiplayer_Custom_Sounds_Tutorial]]), prefix the full filename including file extension with #. For example if there is a custom user sound file called <tt>MySound.ogg</tt>, to play it on the radio use:
<code>[[player]] [[directSay]] "#MySound.ogg";</code>  
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 14:31, 30 April 2023

Hover & click on the images for description

Description

Description:
Sends given audio message to the direct channel. Command operates just like xxxxRadio commands, but the sound is played over direct channel and is independent of fadeSound. The message is defined in CfgRadio in the description.ext file or config radio protocol or a kbAddTopic. The transmission will play only on the PC where command was executed. If you need the transmission to play on all computers, you have to execute it globally (see remoteExec).
When transmitting unit gets killed, transmission will be interrupted. However when receiving unit gets killed, the transmission continues to play.
Groups:
Radio and ChatSounds

Syntax

Syntax:
unit directSay radioName
Parameters:
unit: Object - unit to transmit
radioName: String - class name from CfgRadio
Return Value:
Nothing

Examples

Example 1:
player directSay configName selectRandom ("true" configClasses (configFile >> "CfgRadio"));
Example 2:
An equivalent of a directChat command:
[player, "Hello there", 30] call { params ["_unit", "_text", "_distance"]; [_unit, _text] remoteExec ["globalChat", call BIS_fnc_listPlayers select { _x distance _unit < _distance }]; };
A function can be made for localisation purpose:
/* TAG_fnc_globalChat */ params [ ["_unit", objNull, [objNull]], ["_text", "", [""]] ]; _unit globalChat (_text call BIS_fnc_localize);
// usage [player, "STR_HelloThere"] remoteExec ["TAG_fnc_globalChat", call BIS_fnc_listPlayers select { _x distance _unit < 30 }];

Additional Information

See also:
sideRadio groupRadio customRadio vehicleRadio globalRadio commandRadio

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 Dec 03, 2016 - 21:32 (UTC)
To transmit user custom sounds (see Multiplayer_Custom_Sounds_Tutorial), prefix the full filename including file extension with #. For example if there is a custom user sound file called MySound.ogg, to play it on the radio use:
player directSay "#MySound.ogg";