70 lines
2.6 KiB
Lua
70 lines
2.6 KiB
Lua
|
local xSound = exports.xsound
|
||
|
|
||
|
RegisterNetEvent('qb-djbooth:server:playMusic', function(song, zoneName)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local boothCoords = Config.Locations[zoneName].coords
|
||
|
local dist = #(coords - boothCoords)
|
||
|
if dist > 3 then return end
|
||
|
xSound:PlayUrlPos(-1, zoneName, song, Config.DefaultVolume, coords)
|
||
|
xSound:Distance(-1, zoneName, Config.Locations[zoneName].radius)
|
||
|
Config.Locations[zoneName].playing = true
|
||
|
TriggerClientEvent('qb-djbooth:client:playMusic', src)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('qb-djbooth:server:stopMusic', function(data)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local boothCoords = Config.Locations[data.zoneName].coords
|
||
|
local dist = #(coords - boothCoords)
|
||
|
if dist > 3 then return end
|
||
|
if Config.Locations[data.zoneName].playing then
|
||
|
Config.Locations[data.zoneName].playing = false
|
||
|
xSound:Destroy(-1, data.zoneName)
|
||
|
end
|
||
|
TriggerClientEvent('qb-djbooth:client:playMusic', src)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('qb-djbooth:server:pauseMusic', function(data)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local boothCoords = Config.Locations[data.zoneName].coords
|
||
|
local dist = #(coords - boothCoords)
|
||
|
if dist > 3 then return end
|
||
|
if Config.Locations[data.zoneName].playing then
|
||
|
Config.Locations[data.zoneName].playing = false
|
||
|
xSound:Pause(-1, data.zoneName)
|
||
|
end
|
||
|
TriggerClientEvent('qb-djbooth:client:playMusic', src)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('qb-djbooth:server:resumeMusic', function(data)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local boothCoords = Config.Locations[data.zoneName].coords
|
||
|
local dist = #(coords - boothCoords)
|
||
|
if dist > 3 then return end
|
||
|
if not Config.Locations[data.zoneName].playing then
|
||
|
Config.Locations[data.zoneName].playing = true
|
||
|
xSound:Resume(-1, data.zoneName)
|
||
|
end
|
||
|
TriggerClientEvent('qb-djbooth:client:playMusic', src)
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('qb-djbooth:server:changeVolume', function(volume, zoneName)
|
||
|
local src = source
|
||
|
local ped = GetPlayerPed(src)
|
||
|
local coords = GetEntityCoords(ped)
|
||
|
local boothCoords = Config.Locations[zoneName].coords
|
||
|
local dist = #(coords - boothCoords)
|
||
|
if dist > 3 then return end
|
||
|
if not tonumber(volume) then return end
|
||
|
if Config.Locations[zoneName].playing then
|
||
|
xSound:setVolume(-1, zoneName, volume)
|
||
|
end
|
||
|
TriggerClientEvent('qb-djbooth:client:playMusic', src)
|
||
|
end)
|