directSay: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " \{\{GameCategory\|[a-z]+[0-9]?\|Scripting Commands\}\}" to "")
(Add "directChat" example)
 
(18 intermediate revisions by 2 users not shown)
Line 21: Line 21:
|gr2= Sounds
|gr2= Sounds


|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]] 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]]).  
|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]]).  
<br><br>Note:  When transmitting unit gets killed, transmission will be interrupted, however when receiving unit gets killed, the transmission continues to play.
{{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
|s1= unit [[directSay]] radioName


|p1= unit: [[Object]] - unit to transmit
|p1= unit: [[Object]] - unit to transmit
Line 32: Line 32:
|r1= [[Nothing]]
|r1= [[Nothing]]


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


|seealso= [[sideRadio]], [[groupRadio]], [[customRadio]], [[vehicleRadio]], [[globalRadio]], [[commandRadio]]
|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>


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


<dl class="command_description">
_unit globalChat (_text call BIS_fnc_localize);
</sqf>
<sqf>
// usage
[player, "STR_HelloThere"] remoteExec ["TAG_fnc_globalChat", call BIS_fnc_listPlayers select { _x distance _unit < 30 }];
</sqf>


<dt></dt>
|seealso= [[sideRadio]] [[groupRadio]] [[customRadio]] [[vehicleRadio]] [[globalRadio]] [[commandRadio]]
<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>
{{Note
|user= Killzone_Kid
|timestamp= 20161203213200
|text= 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 {{hl|MySound.ogg}}, to play it on the radio use:
<sqf>player directSay "#MySound.ogg";</sqf>  
}}

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";