setSoundEffect: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " +\|\$Warning( *)\|" to " |$1Warning$1|")
No edit summary
Line 15: Line 15:
* Sound - plays a 2D sound as if [[playSound]] was used from CfgSounds (mission or main config)
* Sound - plays a 2D sound as if [[playSound]] was used from CfgSounds (mission or main config)
* Voice - attaches a 3D sound from CfgSounds (mission or main config) to the object that activated the trigger and plays it as if [[say3D]] was used
* Voice - attaches a 3D sound from CfgSounds (mission or main config) to the object that activated the trigger and plays it as if [[say3D]] was used
* SoundEnv - plays an environmental sound from CfgEnvSounds (mission or main config)
* SoundEnv - [Triggers only] plays an environmental sound from CfgEnvSounds (mission or main config)
* SoundDet - creates a dynamic sound object attached to a trigger defined in [[CfgSFX]] (mission or main config)
* SoundDet - [Triggers only] creates a dynamic sound object attached to a trigger defined in [[CfgSFX]] (mission or main config)


To stop any sound, deactivate the trigger (might take up to 0.5 sec to stop) or delete the trigger (immediate). Also use <tt>"$NONE$"</tt> to skip the sound (1st item), when there is none to be used (Example 3, 4, 5).
To stop any sound, deactivate the trigger (might take up to 0.5 sec to stop) or delete the trigger (immediate). <br><br>


{{Feature | Warning | SoundEnv is looping sound, when used with waypoint it will never stop once activated }}
Also use <tt>"$NONE$"</tt> to skip the sound (1st item), when there is none to be used (Example 3, 4, 5).
{{Wiki|todo | Remove the note above in Arma3 v2.04, and remove this from examples as simple "" will work then instead ("$NONE$" still supported) }}


| trigger '''setSoundEffect''' [sound, voice, soundEnv, soundDet]
| trigger '''setSoundEffect''' [sound, voice, soundEnv, soundDet]
Line 26: Line 27:
|p1= trigger: [[Object]]
|p1= trigger: [[Object]]


|p2= [sound, voice, soundEnv, soundDet]: [[Array]] of strings
|p2= [sound, voice, soundEnv, soundDet]: [[Array]] of strings, see description


| [[Nothing]]
| [[Nothing]]


|s2= waypoint '''setSoundEffect''' [sound, voice, soundEnv, soundDet]
|s2= waypoint '''setSoundEffect''' [sound, voice]


|p21= waypoint: [[Array]] - format [[Waypoint]]
|p21= waypoint: [[Array]] - format [[Waypoint]]


|p22= [sound, voice, soundEnv, soundDet]: [[Array]] of strings
|p22= [sound, voice]: [[Array]] of strings, see description


|r2= [[Nothing]]
|r2= [[Nothing]]

Revision as of 12:42, 9 February 2021

Hover & click on the images for description

Description

Description:
Description needed
Groups:
SoundsTriggersWaypoints

Syntax

Syntax:
Syntax needed
Parameters:
trigger: Object
[sound, voice, soundEnv, soundDet]: Array of strings, see description
Return Value:
Return value needed

Alternative Syntax

Syntax:
waypoint setSoundEffect [sound, voice]
Parameters:
waypoint: Array - format Waypoint
[sound, voice]: Array of strings, see description
Return Value:
Nothing

Examples

Example 1:
_trigger setSoundEffect ["Alarm", "", "", ""];
Example 2:
[_group1,2] setSoundEffect ["Alarm", "", "", ""];
Example 3:
_trigger setSoundEffect ["$NONE$", "Alarm", "", ""];
Example 4:
_trigger setSoundEffect ["$NONE$", "", "BattlefieldExplosions3", ""];
Example 5:
_trigger setSoundEffect ["$NONE$", "", "", "Owl"];

Additional Information

See also:
See also needed

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 October 2, 2013
Neokika
To avoid having to create a dummy sound definition, you can use $NONE$ instead. private "_trigger"; _trigger = createTrigger ["EmptyDetector", position player]; _trigger setTriggerStatements ["true", "", ""]; _trigger setSoundEffect ["$NONE$", "", "BattlefieldExplosions3", ""];
Posted on March 7, 2012
old_man_auz
When using this function, I found that if the parameter sound was empty, then you would always get a 'Sound not found' error. The following code fixes this problem. You need to create a dummy sound. This is what example 3 is hinting towards. description.ext: class CfgSounds { sounds[] = {}; class NoSound { name = "NoSound"; sound[] = {"", 0, 1}; titles[] = {}; }; //Dummy sound needed for setSoundEffect command, due to stupid bug in engine. }; (code sample above written by 'CarlGustaffa' on the Bohemia Interactive forums.) script.sqf: _trigger = createTrigger[ "EmptyDetector" , _position ]; _trigger setTriggerStatements [ "true" , "" , "" ]; _trigger setSoundEffect[ "NoSound" , "" , "" , "Wind2_EP1" ];