createSoundSource: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *T([a-z ])" to "$1 - t$2") |
Lou Montana (talk | contribs) m (Some wiki formatting) |
||
Line 23: | Line 23: | ||
|eff= global | |eff= global | ||
|gr1 | |gr1= Sounds | ||
|descr= Creates a sound source of the given type (type is the name of the subclass of [[ArmA:_CfgVehicles|CfgVehicles]] which is pointing to the sound defined in [[CfgSFX]]). The actual sound object created is of type {{hl|"#dynamicsound"}} and could be detected with [[allMissionObjects]]. If the markers array contains several marker names, the position of a random one is used, otherwise, the given position is used. The sound source is placed inside a circle with this position as its center and placement as its radius. Some of the vanilla classes pre-configured in {{arma3}}: | |gr2= Broken Commands | ||
|descr= Creates a sound source of the given type (type is the name of the subclass of [[ArmA:_CfgVehicles|CfgVehicles]] which is pointing to the sound defined in [[CfgSFX]]). | |||
The actual sound object created is of type {{hl|"#dynamicsound"}} and could be detected with [[allMissionObjects]]. | |||
If the markers array contains several marker names, the position of a random one is used, otherwise, the given position is used. | |||
The sound source is placed inside a circle with this position as its center and placement as its radius. Some of the vanilla classes pre-configured in {{arma3}}: | |||
{{Columns|4| | {{Columns|4| | ||
* {{hl|"Sound_Alarm"}} | * {{hl|"Sound_Alarm"}} | ||
Line 39: | Line 43: | ||
}} | }} | ||
Since {{arma3}} v1.70 it is possible to define sounds for use with [[createSoundSource]] in | Since {{arma3}} v1.70 it is possible to define sounds for use with [[createSoundSource]] in [[Description.ext]]. | ||
As mentioned earlier, the sounds needed for this command should be defined inside [[CfgVehicles]] class, which itself references [[CfgSFX]] class. | |||
If given class searched in main config and is not found, the search will continue in [[Description.ext|description.ext]] - see {{Link|#Example 3}}.<br> | |||
Note that the sound created by [[createSoundSource]] will always be looping. | Note that the sound created by [[createSoundSource]] will always be looping. | ||
|mp= When a [[CfgSFX]] sound definition contains more than 1 sound, there is no guarantee that the sound played will be the same on every PC in Multiplayer. | |||
|pr= {{Feature|important|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.}} | |pr= {{Feature|important|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.}} | ||
Line 49: | Line 56: | ||
|p1= type: [[String]] - [[CfgVehicles]] class | |p1= type: [[String]] - [[CfgVehicles]] class | ||
|p2= position: | |p2= position: [[Position#PositionAGL|PositionAGL]], [[Position#Introduction|Position2D]] or [[Object]] - desired placement position | ||
|p3= markers: [[Array]] - if the markers array contains any markers, the position is randomly picked from array of given markers plus desired placement position. If any of the markers were given | |p3= markers: [[Array]] - if the markers array contains any markers, the position is randomly picked from array of given markers plus desired placement position. | ||
If any of the markers were given a Z coordinate with [[setMarkerPos]], the sound will also be created at the given Z coordinate | |||
|p4= placement: [[Number]] - the sound is placed inside a circle with given position as center and placement as its radius | |p4= placement: [[Number]] - the sound is placed inside a circle with given position as center and placement as its radius | ||
Line 73: | Line 81: | ||
class MyOwl | class MyOwl | ||
{ | { | ||
sound0[] = {"@A3\Sounds_F\environment\animals\birds\owl1", db-10, 1.0, 1000, 0.2, 0, 15, 30}; | sound0[] = { "@A3\Sounds_F\environment\animals\birds\owl1", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound | ||
sound1[] = {"@A3\Sounds_F\environment\animals\birds\owl2", db-10, 1.0, 1000, 0.2, 0, 15, 30}; | sound1[] = { "@A3\Sounds_F\environment\animals\birds\owl2", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound | ||
sound2[] = {"@A3\Sounds_F\environment\animals\birds\owl3", db-10, 1.0, 1000, 0.2, 0, 15, 30}; | sound2[] = { "@A3\Sounds_F\environment\animals\birds\owl3", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound | ||
sounds[] = {sound0, sound1, sound2}; | sounds[] = { "sound0", "sound1", "sound2" }; | ||
empty[] = {"", 0, 0, 0, 0, 0, 0, 0}; | empty[] = { "", 0, 0, 0, 0, 0, 0, 0 }; | ||
}; | }; | ||
}; | }; |
Revision as of 19:02, 3 February 2024
Description
- Description:
- Creates a sound source of the given type (type is the name of the subclass of CfgVehicles which is pointing to the sound defined in CfgSFX).
The actual sound object created is of type "#dynamicsound" and could be detected with allMissionObjects.
If the markers array contains several marker names, the position of a random one is used, otherwise, the given position is used.
The sound source is placed inside a circle with this position as its center and placement as its radius. Some of the vanilla classes pre-configured in Arma 3:
- "Sound_Alarm"
- "Sound_Alarm2"
- "Sound_BattlefieldExplosions"
- "Sound_BattlefieldFirefight"
- "Sound_Fire"
- "Sound_SmokeWreck1"
- "Sound_SparklesWreck1"
- "Sound_SparklesWreck2"
- "Sound_Stream"
Since Arma 3 v1.70 it is possible to define sounds for use with createSoundSource in Description.ext. As mentioned earlier, the sounds needed for this command should be defined inside CfgVehicles class, which itself references CfgSFX class. If given class searched in main config and is not found, the search will continue in description.ext - see Example 3.
Note that the sound created by createSoundSource will always be looping.
- Multiplayer:
- When a CfgSFX sound definition contains more than 1 sound, there is no guarantee that the sound played will be the same on every PC in Multiplayer.
- Problems:
- Groups:
- SoundsBroken Commands
Syntax
- Syntax:
- createSoundSource [type, position, markers, placement]
- Parameters:
- type: String - CfgVehicles class
- position: PositionAGL, Position2D or Object - desired placement position
- markers: Array - if the markers array contains any markers, the position is randomly picked from array of given markers plus desired placement position. If any of the markers were given a Z coordinate with setMarkerPos, the sound will also be created at the given Z coordinate
- placement: Number - the sound is placed inside a circle with given position as center and placement as its radius
- Return Value:
- Object
Examples
- Example 1:
- Example 2:
- Example 3:
- 1.70 Here is an example of suitable mission config definition:
// description.ext class CfgSFX { class MyOwl { sound0[] = { "@A3\Sounds_F\environment\animals\birds\owl1", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound sound1[] = { "@A3\Sounds_F\environment\animals\birds\owl2", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound sound2[] = { "@A3\Sounds_F\environment\animals\birds\owl3", db-10, 1.0, 1000, 0.2, 0, 15, 30 }; // path to addon sound sounds[] = { "sound0", "sound1", "sound2" }; empty[] = { "", 0, 0, 0, 0, 0, 0, 0 }; }; }; class CfgVehicles { class MyOwlSound // class name to be used with createSoundSource { sound = "MyOwl"; // reference to CfgSFX class }; };
Additional Information
- See also:
- playSound playSound3D sideRadio say say2D say3D playMusic playSoundUI
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
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint: Elite version 1.00
- Operation Flashpoint: Elite: New Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Sounds
- Command Group: Broken Commands
- Scripting Commands: Global Effect