say3D: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 26: | Line 26: | ||
Sound is defined in [[Description.ext#CfgSounds|"CfgSounds"]] of the [[Description.ext]] or main config. | Sound is defined in [[Description.ext#CfgSounds|"CfgSounds"]] of the [[Description.ext]] or main config. | ||
{{Feature | | {{Feature|informative| | ||
* an object can only "say" '''one''' sound at a time | |||
* in order to stop a [[say3D]] sound: | |||
* delete the '''sound source''' with [[deleteVehicle]], or | ** delete the '''sound source''' with [[deleteVehicle]], or | ||
* kill the '''sound source''' with e.g [[setDamage]]. | ** kill the '''sound source''' with e.g [[setDamage]]. | ||
Prior to {{arma3}} | Prior to {{GVI|arma3|2.00}}, the '''sound source''' object was not returned by the command, so the '''from''' object had to be deleted instead (see Examples [[#Example 2|2]] and [[#Example 3|3]]). | ||
}} | }} | ||
|pr= | |pr= If the player is in first person view inside a vehicle at the moment of command execution, the sound created is greatly attenuated. | ||
|s1= from [[say3D]] sound | |s1= from [[say3D]] sound | ||
|p1= from: [[Object]] - | |p1= from: [[Object]] - origin of the sound | ||
|p2= sound: [[String]] - | |p2= sound: [[String]] - classname of the sound to be played. Defined in [[Description.ext#CfgSounds|CfgSounds]] including [[Description.ext]] | ||
|r1= [[Object]] - | |r1= [[Object]] - the sound source (was [[Nothing]] before {{GVI|arma3|2.00|size=0.75}}) | ||
|s2= from [[say3D]] [sound, maxDistance, pitch, isSpeech, offset] | |s2= from [[say3D]] [sound, maxDistance, pitch, isSpeech, offset] | ||
Line 62: | Line 62: | ||
|p26since= arma3 2.00 | |p26since= arma3 2.00 | ||
|r2= [[Object]] - | |r2= [[Object]] - the sound source (was [[Nothing]] before {{GVI|arma3|2.00|size=0.75}}) | ||
|s3= [from, to] [[say3D]] sound | |s3= [from, to] [[say3D]] sound | ||
Line 72: | Line 72: | ||
|p43= sound: [[String]] - Classname of the sound to be played. Defined in [[Description.ext#CfgSounds|CfgSounds]] including [[Description.ext]] | |p43= sound: [[String]] - Classname of the sound to be played. Defined in [[Description.ext#CfgSounds|CfgSounds]] including [[Description.ext]] | ||
|r3= [[Object]] - | |r3= [[Object]] - the sound source (was [[Nothing]] before {{GVI|arma3|2.00|size=0.75}}) | ||
|s4= [from, to] [[say3D]] [sound, maxDistance, pitch, isSpeech, offset] | |s4= [from, to] [[say3D]] [sound, maxDistance, pitch, isSpeech, offset] | ||
Line 94: | Line 94: | ||
|p67since= arma3 2.00 | |p67since= arma3 2.00 | ||
|r4= [[Object]] - | |r4= [[Object]] - the sound source (was [[Nothing]] before {{GVI|arma3|2.00|size=0.75}}) | ||
|x1= <code>helicopter1 [[say3D]] "Fortunateson";</code> | |x1= <code>helicopter1 [[say3D]] "Fortunateson";</code> | ||
Line 106: | Line 106: | ||
};</code> | };</code> | ||
|x3= <code>{{cc|Since | |x3= <code>{{cc|Since {{arma3}} v2.00, the sound source is returned and can be deleted directly }} | ||
_soundSrc = helicopter1 [[say3D]] "Fortunateson"; | _soundSrc = helicopter1 [[say3D]] "Fortunateson"; | ||
[[sleep]] 5; | [[sleep]] 5; | ||
Line 114: | Line 114: | ||
}} | }} | ||
{{Note | |||
|user= Rocket | |||
|timestamp= 20130307131700 | |||
|text= 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. | |||
}} | |||
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. | |||
{{Note | |||
|user= Benargee | |||
|timestamp= 20150619212600 | |||
|text= 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 [http://forums.bistudio.com/showthread.php?146122-Making-a-dead-soldier-play-a-sound-in-3d a link to the forum] to get around this issue.<br> | Here is [http://forums.bistudio.com/showthread.php?146122-Making-a-dead-soldier-play-a-sound-in-3d a link to the forum] to get around this issue.<br> | ||
I have not tested this in | I have not tested this in {{arma3}} yet. | ||
}} | |||
{{Note | |||
|user= Killzone_Kid | |||
|timestamp= 20170311144300 | |||
|text= 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> | ||
}} | |||
Revision as of 23:55, 5 February 2022
Description
- Description:
- Lets an object 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:
- If the player is in first person view inside a vehicle at the moment of command execution, the sound created is greatly attenuated.
- Groups:
- Broken CommandsSounds
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:
- Object - the sound source (was Nothing before 2.00)
Syntax 2
- Syntax:
- from say3D [sound, maxDistance, pitch, isSpeech, offset]
- 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) Maximum distance in meters at which the sound can be heard
- pitch: Number - (Optional, default 1) Pitch of the sound
- since 1.92
- isSpeech: Boolean - (Optional, default false)
- true = play as speech (fadeSpeech applies), filters are not applied to it (i.e. house or vehicle interior one)
- false = play as sound, fadeSound applies
- since 2.00
- offset: Number - (Optional, default 0) Offset in seconds. Same as playMusic.
- Return Value:
- Object - the sound source (was Nothing before 2.00)
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:
- Object - the sound source (was Nothing before 2.00)
Syntax 4
- Syntax:
- [from, to] say3D [sound, maxDistance, pitch, isSpeech, offset]
- 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) Maximum distance in meters at which the sound can be heard
- pitch: Number - (Optional, default 1) Pitch of the sound
- since 2.00
- isSpeech: Boolean - (Optional, default false)
- true = play as speech (fadeSpeech applies), filters are not applied to it (i.e. house or vehicle interior one)
- false = play as sound, fadeSound applies
- since 2.00
- offset: Number - (Optional, default 0) Offset in seconds. Same as playMusic.
- Return Value:
- Object - the sound source (was Nothing before 2.00)
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; };
- Example 3:
// Since Arma 3 v2.00, the sound source is returned and can be deleted directly _soundSrc = helicopter1 say3D "Fortunateson"; sleep 5; deleteVehicle _soundSrc; // stop the sound after ~5 seconds
Additional Information
- See also:
- say say2D playSound createSoundSource
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
- Posted on Mar 07, 2013 - 13:17 (UTC)
- 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 Jun 19, 2015 - 21:26 (UTC)
-
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.
I have not tested this in Arma 3 yet.
- Posted on Mar 11, 2017 - 14:43 (UTC)
-
This command creates sound object "#soundonvehicle" which can be detected with allMissionObjects:
onEachFrame {hintSilent str allMissionObjects "#soundonvehicle"}; [] spawn {sleep 1; player say3D "Alarm"};
Categories:
- Scripting Commands
- Introduced with Arma 2 version 1.00
- Arma 2: New Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Broken Commands
- Command Group: Sounds
- Scripting Commands: Local Effect