say3D: Difference between revisions
BrettMayson (talk | contribs) mNo edit summary |
BrettMayson (talk | contribs) mNo edit summary |
||
| Line 42: | Line 42: | ||
|p1= from: [[Object]] or [[Array]] of [[Object]]s | |p1= from: [[Object]] or [[Array]] of [[Object]]s | ||
* [[Object]] - origin of the sound | * [[Object]] - origin of the sound | ||
* [[Array]] with [from, to] | * [[Array]] with [from, to] | ||
** from: [[Object]] - origin of the sound | ** from: [[Object]] - origin of the sound | ||
** to: [[Object]] - target | ** to: [[Object]] - target | ||
| Line 48: | Line 48: | ||
|p2= sound: [[String]] or [[Array]] | |p2= sound: [[String]] or [[Array]] | ||
* [[String]] - classname of the sound to be played. Defined in [[CfgSounds]] including [[Description.ext]] | * [[String]] - classname of the sound to be played. Defined in [[CfgSounds]] including [[Description.ext]] | ||
* [[Array]] with [sound, maxDistance, pitch, isSpeech, offset, simulateSpeedOfSound] | * [[Array]] with [sound, maxDistance, pitch, isSpeech, offset, simulateSpeedOfSound] | ||
** sound: [[String]] - classname of the sound to be played. Defined in [[Description.ext#CfgSounds|CfgSounds]] including [[Description.ext]] | ** sound: [[String]] - classname of the sound to be played. Defined in [[Description.ext#CfgSounds|CfgSounds]] including [[Description.ext]] | ||
** maxDistance: [[Number]] - (Optional, default 100) maximum distance in meters at which the sound can be heard | ** maxDistance: [[Number]] - (Optional, default 100) maximum distance in meters at which the sound can be heard | ||
| Line 106: | Line 106: | ||
|user= Killzone_Kid | |user= Killzone_Kid | ||
|timestamp= 20170311144300 | |timestamp= 20170311144300 | ||
|text= This command creates sound object "#soundonvehicle" which can be detected with [[allMissionObjects]] | |text= This command creates sound object "#soundonvehicle" which can be detected with [[allMissionObjects]] | ||
<sqf> | <sqf> | ||
onEachFrame { hintSilent str allMissionObjects "#soundonvehicle" }; | onEachFrame { hintSilent str allMissionObjects "#soundonvehicle" }; | ||
Latest revision as of 11:02, 2 January 2026
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.
- Groups:
- Sounds
Syntax
- Syntax:
- from say3D sound
- Parameters:
- from: Object or Array of Objects
- sound: String or Array
- String - classname of the sound to be played. Defined in CfgSounds including Description.ext
- Array with [sound, maxDistance, pitch, isSpeech, offset, simulateSpeedOfSound]
- 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
1.92 isSpeech: Boolean or
2.04 Number - (Optional, default false)
- 0/false = play as sound (fadeSound applies)
- 1/true = play as speech (fadeSpeech applies), filters are not applied to it (i.e. house or vehicle interior one)
- 2 = play as sound (fadeSound applies) without interior/vehicle muffling
2.00 offset: Number - (Optional, default 0) offset in seconds; ignored when simulateSpeedOfSound is used
2.18 simulateSpeedOfSound: Boolean - (Optional, default false) true to simulate speed of sound (see description note)
- Return Value:
- Object - the sound source (was Nothing before
2.00)
Examples
- Example 1:
- All possible combinations:
- 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
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord.
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" }; 0 spawn { sleep 1; player say3D "Alarm" };