Client

Manipulate the sound

Play

local soundId = exports['mx-surround']:Play(soundId, url, coords, loop, volume, panner)

This export is a synchronous function, which means that this code returns a soundId to you. And if sound is not created, it returns false

With 1.8.5 players who are far away from the song will not be able to get the maxDuration and timeStampof the song! If you want the far away player to get the maxDuration, you must use server side export

Parameters

  • soundId?: string

    • If not provided, will be created automatically

  • url: string

  • coords?: vector3

    • If not provided, its means that the sound is not dynamic. So player can hear it from everywhere

  • loop?: boolean

  • volume?: number

    • Override default volume (even if sound profile is enabled) (0.0 | 1.0)

  • panner?: PannerNode

Returns

  • soundId | false


Play Async

exports['mx-surround']:PlayAsync(soundId, url, coords, loop, volume, panner)

This is the same as a normal play export. The only difference is that it is async. So there is no return value


Attach To Entity

exports['mx-surround']:attachEntity(soundId, networkId)

Parameters

  • soundId: string

  • networkId: number


Detach From Entity

exports['mx-surround']:detachEntity(soundId)

Parameters

  • soundId: string


Attach To Player

If you are going to attach to a player, you can of course use the attachEntity. But you should definitely use this. Because if the player gets in the car, the script detects it with this export and filters the sound.

exports['mx-surround']:attachPlayer(soundId, playerId)

Parameters

  • soundId: string

  • playerId: number


Detach From Player

exports['mx-surround']:detachPlayer(soundId)

Parameters

  • soundId: string


Stop

exports['mx-surround']:Stop(soundId)

Parameters

  • soundId: string


Pause

exports['mx-surround']:Pause(soundId)

Parameters

  • soundId: string


Resume

exports['mx-surround']:Resume(soundId)

Parameters

  • soundId: string


Destroy

exports['mx-surround']:Destroy(soundId)

Parameters

  • soundId: string


Destroy All

exports['mx-surround']:destroyAllSounds()

Repeat

exports['mx-surround']:repeatSound(soundId)

Parameters

  • soundId: string


Add Filter

exports['mx-surround']:addFilter(soundId, type, filter)

Parameters

  • soundId: string

  • type: string

  • filter: {frequency: number, Q: number, gain:number}


Remove Filter

exports['mx-surround']:removeFilter(soundId)

Parameters

  • soundId: string


To better manage sounds, see these three section

Last updated