directSay: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
(Add "directChat" example)
 
(56 intermediate revisions by 5 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
|arg= global |= Arguments in MP
|version2= 1.50


|eff= local |= Effects in MP
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| 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]]).
|game4= arma3
<br><br>Note:  When transmitting unit gets killed, transmission will be interrupted, however when receiving unit gets killed, the transmission continues to play.  |= Description
|version4= 0.50
____________________________________________________________________________________________


| unit '''directSay''' radioName |= Syntax
|arg= global


|p1= unit: [[Object]] - unit to transmit |= PARAMETER1
|eff= local


|p2= radioName: [[String]] - class name from CfgRadio |= PARAMETER2
|gr1= Radio and Chat


|p3= |= PARAMETER3
|gr2= Sounds


| [[Nothing]] |= RETURNVALUE
|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.}}


|s1= unit [[directSay]] radioName


|x1= <code>[[player]] [[directSay]] [[configName]] [[selectRandom]] ("true" [[configClasses]] ([[configFile]] >> "CfgRadio"));</code>|= EXAMPLE1
|p1= unit: [[Object]] - unit to transmit


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


| [[sideRadio]], [[groupRadio]], [[customRadio]], [[vehicleRadio]], [[globalRadio]], [[commandRadio]] |= SEEALSO
|r1= [[Nothing]]


| |= MPBEHAVIOUR
|x1= <sqf>player directSay configName selectRandom ("true" configClasses (configFile >> "CfgRadio"));</sqf>
____________________________________________________________________________________________
 
}}
|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>


<h3 style='display:none'>Notes</h3>
A [[:Category:Functions Library|function]] can be made for [[localize|localisation]] purpose:
<dl class='command_description'>
<sqf>
<!-- Note Section BEGIN -->
/* TAG_fnc_globalChat */
params [
["_unit", objNull, [objNull]],
["_text", "", [""]]
];


<!-- Note Section END -->
_unit globalChat (_text call BIS_fnc_localize);
</dl>
</sqf>
<sqf>
// usage
[player, "STR_HelloThere"] remoteExec ["TAG_fnc_globalChat", call BIS_fnc_listPlayers select { _x distance _unit < 30 }];
</sqf>


<h3 style='display:none'>Bottom Section</h3>
|seealso= [[sideRadio]] [[groupRadio]] [[customRadio]] [[vehicleRadio]] [[globalRadio]] [[commandRadio]]
[[Category:ArmA 2: New Scripting Commands List|{{uc:{{PAGENAME}}}}]]
}}
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]


<!-- CONTINUE Notes -->
{{Note
<dl class="command_description">
|user= Killzone_Kid
<dd class="notedate">Posted on December 3, 2016 - 21:32 (UTC)</dd>
|timestamp= 20161203213200
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt>
|text= To transmit user custom sounds (see [[Multiplayer_Custom_Sounds_Tutorial]]), prefix the full filename including file extension with #.
<dd class="note">
For example if there is a custom user sound file called {{hl|MySound.ogg}}, to play it on the radio use:
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:
<sqf>player directSay "#MySound.ogg";</sqf>  
<code>[[player]] [[directSay]] "#MySound.ogg";</code>
}}
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Latest revision as of 13: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";