say3D: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "[[Category:Scripting_Commands_Take_On_Helicopters" to "[[Category:Scripting Commands Take On Helicopters") |
Lou Montana (talk | contribs) (Fix Category:Pages using duplicate arguments in template calls and some wiki formatting) |
||
Line 11: | Line 11: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| Unit or object will say given sound in 3D Space. This allows broadcasting of positional music or sound from a source, without having to script a fade sound or music command. Compare this with [[say2D]] which will always play a sound at the location of the player after he has been in the vicinity of a broadcasting sound. Sound is defined in "CfgSounds" of the [[Description.ext]] or main config | | Unit or object will say given sound in 3D Space. | ||
This allows broadcasting of positional music or sound from a source, without having to script a fade sound or music command. | |||
Compare this with [[say2D]] which will always play a sound at the location of the player after he has been in the vicinity of a broadcasting sound. | |||
Sound is defined in [[Description.ext#CfgSounds|"CfgSounds"]] of the [[Description.ext]] or main config. | |||
{{ | {{Informative | You can stop [[say3D]] sound currently playing in 2 ways: | ||
* delete the source of the sound (from) with [[deleteVehicle]], or | |||
* kill the source with e.g [[setDamage]].}} |DESCRIPTION= | |||
|pr= For some unknown reason if at the moment of command execution the player is in first person view and is inside a vehicle, the sound created is greatly attenuated. |PROBLEMS= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| from | | from [[say3D]] sound |SYNTAX= | ||
|p1= from: [[Object]] - origin of the sound | |p1= from: [[Object]] - origin of the sound | ||
|p2= sound: [[String]] - classname of the sound to be played. Defined in CfgSounds including [[Description.ext]] | |p2= sound: [[String]] - classname of the sound to be played. Defined in CfgSounds including [[Description.ext]] | ||
| [[Nothing]] |RETURNVALUE= | | [[Nothing]] |RETURNVALUE= | ||
____________________________________________________________________________________________ | |||
| s2 = from | | s2 = from [[say3D]] [sound, maxDistance, pitch,isSpeech] |SYNTAX2= | ||
|p21= from: [[Object]] - origin of the sound | |p21= from: [[Object]] - origin of the sound | ||
| | |p22= sound: [[String]] - classname of the sound to be played. Defined in CfgSounds including [[Description.ext]] | ||
|p23= maxDistance: [[Number]] - (Optional, default 100) max distance in meter at which the sound can be heard. | |||
|p24= pitch: [[Number]] - (Optional, default 1) pitch of the sound. | |||
| | |p25= isSpeech: [[Boolean]] - play as speech through radio channel, [[fadeSpeech]] applies. | ||
If true, filters are not applied to it (i.e. house or vehicle interior one). Available since 1.91.145286 | |||
| | |r2= [[Nothing]] |RETURNVALUE2= | ||
____________________________________________________________________________________________ | |||
| | |||
| | |s3= [from, to] [[say3D]] sound |SYNTAX3= | ||
| | |p41= from: [[Object]] - origin of the sound | ||
| | |p42= to: [[Object]] - target | ||
|p43= sound: [[String]] - classname of the sound to be played. Defined in CfgSounds including [[Description.ext]] | |||
| r4= [[Nothing]] | | |r3= [[Nothing]] |RETURNVALUE3= | ||
____________________________________________________________________________________________ | |||
|s4 = [from, to] [[say3D]] [sound, maxDistance, pitch, isSpeech] |SYNTAX4= | |||
|p61= from: [[Object]] - origin of the sound | |||
|p62= to: [[Object]] - target | |||
|p63= sound: [[String]] - classname of the sound to be played. Defined in CfgSounds including [[Description.ext]] | |||
|p64= maxDistance: [[Number]] - (Optional, default 100) max distance in meter at which the sound can be heard. | |||
|p65= pitch: [[Number]] - (Optional, default 1) pitch of the sound. | |||
|p66= isSpeech: [[Boolean]] - play as speech through radio channel, [[fadeSpeech]] applies. | |||
If true, filters are not applied to it (i.e. house or vehicle interior one). Available since 1.91.145286 | |||
|r4= [[Nothing]] |RETURNVALUE4= | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= <code> helicopter1 [[say3D]] "Fortunateson"</code> |EXAMPLE1= | |x1= <code> helicopter1 [[say3D]] "Fortunateson"</code> |EXAMPLE1= | ||
|x2= Workaround for dead bodies | |||
|x2= Workaround for dead bodies: | |||
<code>[[private]] _dummy = "#particlesource" [[createVehicleLocal]] [[ASLToAGL]] [[getPosWorld]] _corpse; | <code>[[private]] _dummy = "#particlesource" [[createVehicleLocal]] [[ASLToAGL]] [[getPosWorld]] _corpse; | ||
_dummy [[say3D]] "whatever"; | _dummy [[say3D]] "whatever"; | ||
_dummy [[spawn]] { | _dummy [[spawn]] { | ||
[[sleep]] 5; {{cc|at least the length of your sound}} | |||
[[deleteVehicle]] _this; | |||
};</code> |EXAMPLE2= | };</code> |EXAMPLE2= | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[say]], [[say2D]], [[playSound]], [[createSoundSource]] |SEEALSO= | | [[say]], [[say2D]], [[playSound]], [[createSoundSource]] |SEEALSO= | ||
}} | }} | ||
Line 79: | Line 94: | ||
<dl class='command_description'> | <dl class='command_description'> | ||
<!-- Note Section BEGIN --> | <!-- Note Section BEGIN --> | ||
< | <dd class="notedate">Posted on 7 March 2013</dd> | ||
<dt class="note">[[User:Rocket|Rocket]]</dt> | |||
<dd class="note"> | |||
The only difference with this command and [[say]] is during cutscenes (when some camera effect is active). In cutscenes, [[say3D]] is 3D, [[say]] is not. | |||
</dd> | |||
<dd class="notedate">Posted on July 19, 2015 - 21:26 (UTC)</dd> | <dd class="notedate">Posted on July 19, 2015 - 21:26 (UTC)</dd> | ||
<dt class="note">[[User:Benargee|Benargee]]</dt> | <dt class="note">[[User:Benargee|Benargee]]</dt> | ||
<dd class="note">In | <dd class="note">In {{arma2}} 1.63, the object this command is assigned to must be alive for the sound to broadcast. If the object is killed while the sound is still playing, the sound will stop immediately. <br> | ||
Here is a link to the forum to get around this issue: [http://forums.bistudio.com/showthread.php?146122-Making-a-dead-soldier-play-a-sound-in-3d]<br> | Here is a link to the forum to get around this issue: [http://forums.bistudio.com/showthread.php?146122-Making-a-dead-soldier-play-a-sound-in-3d]<br> | ||
I have not tested this in Arma 3 yet. | I have not tested this in Arma 3 yet. | ||
</dd> | </dd> | ||
<dd class="notedate">Posted on March 11, 2017 - 14:43 (UTC)</dd> | <dd class="notedate">Posted on March 11, 2017 - 14:43 (UTC)</dd> | ||
<dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt> | <dt class="note">[[User:Killzone Kid|Killzone Kid]]</dt> | ||
Line 109: | Line 113: | ||
This command creates sound object "#soundonvehicle" which can be detected with [[allMissionObjects]]: | This command creates sound object "#soundonvehicle" which can be detected with [[allMissionObjects]]: | ||
<code>[[onEachFrame]] {[[hintSilent]] [[str]] [[allMissionObjects]] "#soundonvehicle"}; | <code>[[onEachFrame]] {[[hintSilent]] [[str]] [[allMissionObjects]] "#soundonvehicle"}; | ||
[] [[spawn]] {[[sleep]] 1; [[player]] [[say3D]] "Alarm"};</code> | [] [[spawn]] {[[sleep]] 1; [[player]] [[say3D]] "Alarm"};</code> | ||
</dd> | </dd> | ||
<!-- Note Section END --> | |||
</dl> | </dl> | ||
< | |||
<h3 style='display:none'>Bottom Section</h3> | |||
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Scripting Commands Take On Helicopters|{{uc:{{PAGENAME}}}}]] | |||
[[Category:Broken Scripting Commands|{{uc:{{PAGENAME}}}}]] |
Revision as of 01:13, 18 June 2020
Description
- Description:
- Unit or object will say given sound in 3D Space. This allows broadcasting of positional music or sound from a source, without having to script a fade sound or music command. Compare this with say2D which will always play a sound at the location of the player after he has been in the vicinity of a broadcasting sound. Sound is defined in "CfgSounds" of the Description.ext or main config.
- Problems:
- For some unknown reason if at the moment of command execution the player is in first person view and is inside a vehicle, the sound created is greatly attenuated.
- Groups:
- Uncategorised
Syntax 1
- Syntax:
- from say3D sound
- Parameters:
- from: Object - origin of the sound
- sound: String - classname of the sound to be played. Defined in CfgSounds including Description.ext
- Return Value:
- Nothing
Syntax 2
- Syntax:
- from say3D [sound, maxDistance, pitch,isSpeech]
- Parameters:
- from: Object - origin of the sound
- sound: String - classname of the sound to be played. Defined in CfgSounds including Description.ext
- maxDistance: Number - (Optional, default 100) max distance in meter at which the sound can be heard.
- pitch: Number - (Optional, default 1) pitch of the sound.
- isSpeech: Boolean - play as speech through radio channel, fadeSpeech applies. If true, filters are not applied to it (i.e. house or vehicle interior one). Available since 1.91.145286
- Return Value:
- Nothing
Syntax 3
- Syntax:
- [from, to] say3D sound
- Parameters:
- from: Object - origin of the sound
- to: Object - target
- sound: String - classname of the sound to be played. Defined in CfgSounds including Description.ext
- Return Value:
- Nothing
Syntax 4
- Syntax:
- [from, to] say3D [sound, maxDistance, pitch, isSpeech]
- Parameters:
- from: Object - origin of the sound
- to: Object - target
- sound: String - classname of the sound to be played. Defined in CfgSounds including Description.ext
- maxDistance: Number - (Optional, default 100) max distance in meter at which the sound can be heard.
- pitch: Number - (Optional, default 1) pitch of the sound.
- isSpeech: Boolean - play as speech through radio channel, fadeSpeech applies. If true, filters are not applied to it (i.e. house or vehicle interior one). Available since 1.91.145286
- Return Value:
- Nothing
Examples
- Example 1:
helicopter1 say3D "Fortunateson"
- Example 2:
- Workaround for dead bodies:
private _dummy = "#particlesource" createVehicleLocal ASLToAGL getPosWorld _corpse; _dummy say3D "whatever"; _dummy spawn { sleep 5; // at least the length of your sound deleteVehicle _this; };
Additional Information
- See also:
- saysay2DplaySoundcreateSoundSource
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
Notes
- Posted on 7 March 2013
- Rocket
- The only difference with this command and say is during cutscenes (when some camera effect is active). In cutscenes, say3D is 3D, say is not.
- Posted on July 19, 2015 - 21:26 (UTC)
- Benargee
- In Arma 2 1.63, the object this command is assigned to must be alive for the sound to broadcast. If the object is killed while the sound is still playing, the sound will stop immediately.
Here is a link to the forum to get around this issue: [1]
I have not tested this in Arma 3 yet. - Posted on March 11, 2017 - 14:43 (UTC)
- Killzone Kid
-
This command creates sound object "#soundonvehicle" which can be detected with allMissionObjects:
onEachFrame {hintSilent str allMissionObjects "#soundonvehicle"}; [] spawn {sleep 1; player say3D "Alarm"};