PlaySound

From Eternity Wiki
Revision as of 12:39, 13 February 2021 by Printz (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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

ACS function

For the EDF action pointer, look at the next section below.

Description

This is an ACS built-in function.

Plays sound on a tagged thing.

Usage

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

Parameters

  • 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.

Return value

Examples

No examples given.

Notes

There is also the ThingSound function, but it's older and inferior to this one.

This function's identification in zspecial.acs is: -61:PlaySound(2,7).

See also

EDF codepointer

Description

Plays a sound.

Usage

action PlaySound
misc1 sound_name
misc2 volume

Parameters

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

Examples

No examples given.

Notes

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