From Eternity Wiki
Jump to: navigation, search

PlaySound exists both as an ACS function and as an EDF codepointer. Syntax differs.

ACS function

void PlaySound(int tid, str sound [, int channel [, fixed volume [, bool looping [, fixed attenuation]]]])

Plays sound on a tagged thing.


  • tid: tag of thing to play the sound
  • sound: name of sound to play
  • channel: optional, one of the eight channels to play sounds from. Default: CHAN_BODY. Possible values are: CHAN_AUTO, CHAN_WEAPON, CHAN_VOICE, CHAN_ITEM, CHAN_BODY, CHAN_5, CHAN_6, CHAN_7.
  • volume: optional, default 127*512=65024 (0.9921875). Volume of sound to play. A value of 1.0 is close to the default.
  • looping: whether to loop the sound (default: FALSE).
  • attenuation: attenuation, how much to fade sound with distance, default ATTN_NORM. Note that despite this being a fixed-point number, it really only results in some specific attenuation patterns. Expected values are: ATTN_NONE, ATTN_NORM, ATTN_IDLE and ATTN_STATIC.

See also

EDF codepointer


Plays a sound.


action PlaySound
misc1 sound_name
misc2 volume


  • misc1 = Sound mnemonic or DeHackEd number to play (must be valid, no default)
  • misc2 = Select sound volume
    • 0 = normal (default)
    • 1 = full volume


No examples given.


Causes the object to emit the sound indicated by the provided sound mnemonic or DeHackEd number, at the indicated volume level.

If the sound name or number is invalid, nothing will happen.

Can be used with PlayerThunk.

For Decorate availability, use PlaySoundEx instead. The offset(misc1, misc2) specifier can also be used in Decorate for this codepointer, but you're forced to use the DeHackEd number in misc1, cannot use the actual name.

See also