Revision Difference
Sound_Events#528634
<cat>Dev.Intro</cat>⤶
<title>Sound Events</title>⤶
⤶
# Why Sound Events⤶
⤶
You just want to play a sound and are annoyed that you have to create a sound event to do it. Here's some of the things sound events can do for you.⤶
⤶
* Define whether sound is 2D or 3D⤶
* Define how far away you should be able to hear the sound⤶
* Define the volume⤶
* Randomly choose between multiple sounds each play⤶
* Randomly adjust pitch each play⤶
* Can be fired from animations⤶
⤶
# Creating Sound Events In Code⤶
⤶
You can define a sound event as a static field in any class in your addon. The class doesn't have to be an entity, it could be an empty class made especially to define sound events.⤶
⤶
```⤶
class MyClassName⤶
{⤶
static SoundEvent AttackSound = new ( "sounds/weapons/gunshot.vsnd" );⤶
}⤶
```⤶
⤶
⤶
This will create a sound event called `MyClassName.AttackSound`.⤶
⤶
<note>The [VDC describes how to create sound events using the sdk tools](https://developer.valvesoftware.com/wiki/Half-Life:_Alyx_Workshop_Tools/Addon_Sounds). You can ignore this. We're wrapping it like this to make it easier.</note>⤶
⤶
# Using Sound Events⤶
⤶
As stated above, you can trigger sound events from animations. You can also play them in game, through entities.⤶
⤶
```⤶
player.EmitSound( MyClassName.AttackSound ); // play using the SoundEvent directly⤶
player.EmitSound( "MyClassName.AttackSound" ); // play using the name⤶
```⤶
⤶
⤶
# TODO⤶
⤶
Add more complicated creation examples once it's coded