DOCUMENTATION
  • 🌐INTRODUCTION
  • ℹ️INFORMATION
  • 💲PAID SCRIPTS
    • 🎧Surround (Spatial Audio)
      • Introduction
      • Installation
      • API
        • Client
          • Set
          • Get
          • Handlers
        • Server
          • Set
          • Get
        • Shared
      • Examples
    • 🏨Motels
      • Introduction
        • Motel Manager
        • Customer
        • Rent Cycle
        • Share Key
        • Auto System
        • Admin
        • Logs
        • Configurable Codes
        • Optimization
      • Installation
  • 🆓FREE SCRIPTS
    • FiveM Manager Bot
      • INSTALLATION
Powered by GitBook
On this page
  • Play
  • Play Async
  • Stop
  • Pause
  • Resume
  • Destroy
  • Destroy All
  • Attach Entity
  • Detach Entity
  • Attach To Player
  • Detach From Player

Was this helpful?

  1. PAID SCRIPTS
  2. Surround (Spatial Audio)
  3. API

Server

Manipulate the sound

PreviousHandlersNextSet

Last updated 2 months ago

Was this helpful?

If you don't pass -1 to source, sound will not be saved on the server side. So there will be no sync.

Play

local soundId = exports['mx-surround']:Play(source, 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

Parameters

  • source: number

    • You can pass -1 for sync

  • soundId?: string

    • If not provided, will be created automatically

  • url: string

  • coords: vector3

    • Unlike the client side the coords param is required on the server side

  • loop?: boolean

  • volume?: number

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

  • panner?: PannerNode

Returns

  • soundId | false


Play Async

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

This export does not return the soundId compared to the above. However, it works faster and you can connect the sound directly to an entity or player at startup. Very useful for asset sounds

It should only be used for asset sounds, DO NOT use it for youtube, spotify and soundcloud!

Parameters

  • source: number

    • You can pass -1 for sync

  • soundId?: string

    • If not provided, will be created automatically

  • url: string

  • coords: vector3

    • Unlike the client side the coords param is required on the server side

  • loop?: boolean

  • volume?: number

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

  • panner?: PannerNode

  • data?: { attachEntity: number, attachPlayer: number }


Stop

The difference from Pause export is this: If you are playing a song on spotify or youtube, it completely deletes the player so that there is no player in the dom. This is very important for optimization

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

Parameters

  • source: number

  • soundId: string


Pause

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

Parameters

  • source: number

  • soundId: string


Resume

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

Parameters

  • source: number

  • soundId: string


Destroy

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

Parameters

  • source: number

  • soundId: string


Destroy All

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

Attach Entity

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

Parameters

  • source: number

  • soundId: string

  • networkId: number


Detach Entity

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

Parameters

  • source: number

  • 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(source, soundId, playerId)

Parameters

  • source: number

  • soundId: string

  • playerId: number


Detach From Player

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

Parameters

  • source: number

  • soundId: string


💲
🎧
See how to use
See how to use