Server-side exports

These functions should be used in the server script files.

API for playing audio

Play3DPos(source, uniqueId, position, distance, sound, volume, looped)

AddEventHandler("event", function()
    local sound = exports["high_3dsounds"]:Play3DPos(
        source, -- player source
        "firstSound", -- uniqueId
        vector3(123.0, 123.0, 123.0), -- position
        50.0, -- distance
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ", -- sound URL/file name
        1.0, -- volume
        true -- looped
    )
end)

Arguments

Can't be empty - *

This export function plays a sound at a specified position.

Play3DEntity(source, entityNetId, distance, sound, volume, looped)

AddEventHandler("event", function()
    local sound = exports["high_3dsounds"]:Play3DEntity(
        source, -- player source
        NetworkGetNetworkIdFromEntity(PlayerPedId()), -- entity net id
        50.0, -- distance
        "fileName", -- sound URL/file name
        1.0, -- volume
        true -- looped
    )
end)

Arguments

Can't be empty - *

This export function plays a sound on a specified entity.

Returned data in Play3D* function variable

Entity player data (Yellow) Player at a position data (White)

Audio manipulation API

soundVar.modify(source, field, newValue, secondValue)

AddEventHandler("event", function()
    local src = source
    local sound = exports["high_3dsounds"]:Play3DPos(...) -- Put your own arguments inside
    sound.modify(src, "volume", 1.0)
end)

Arguments

Can't be empty - *

Modifiable fields

This export function modifies the specified sound value.

soundVar.destroy(source)

AddEventHandler("event", function()
    local src = source
    local sound = exports["high_3dsounds"]:Play3DPos(...) -- Put your own arguments inside
    sound.destroy(src)
end)

Arguments

Can't be empty - *

This export function destroys the sound element.

soundVar.replay(source)

AddEventHandler("event", function()
    local src = source
    local sound = exports["high_3dsounds"]:Play3DPos(...) -- Put your own arguments inside
    sound.replay(src)
end)

Arguments

Can't be empty - *

This export function replays the sound from the beginning.

Other API functions

getSound(uniqueId)

local sound = exports["high_3dsounds"]:getSound("mySound")
sound.modify("volume", 1.0)

This export function gets the sound object.

getSoundData(uniqueId, field)

local volume = exports["high_3dsounds"]:getSoundData("mySound", "volume")
print("Sound volume: " .. volume)

This export function gets a specified data field of the sound object.

Last updated