151 lines
4.0 KiB
Lua
151 lines
4.0 KiB
Lua
|
RegisterNUICallback("init", function(data, cb)
|
||
|
SendNUIMessage({
|
||
|
status = "init",
|
||
|
time = config.RefreshTime,
|
||
|
})
|
||
|
|
||
|
if cb then cb('ok') end
|
||
|
end)
|
||
|
|
||
|
RegisterNUICallback("data_status", function(data, cb)
|
||
|
if soundInfo[data.id] ~= nil then
|
||
|
if data.type == "finished" then
|
||
|
if not soundInfo[data.id].loop then
|
||
|
soundInfo[data.id].playing = false
|
||
|
end
|
||
|
TriggerEvent("xSound:songStopPlaying", data.id)
|
||
|
end
|
||
|
if data.type == "maxDuration" then
|
||
|
if not soundInfo[data.id].SkipTimeStamp then
|
||
|
soundInfo[data.id].timeStamp = 0
|
||
|
end
|
||
|
soundInfo[data.id].maxDuration = data.time
|
||
|
|
||
|
soundInfo[data.id].SkipTimeStamp = nil
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if cb then cb('ok') end
|
||
|
end)
|
||
|
|
||
|
RegisterNUICallback("events", function(data, cb)
|
||
|
local id = data.id
|
||
|
local type = data.type
|
||
|
if type == "resetTimeStamp" then
|
||
|
if soundInfo[id] then
|
||
|
soundInfo[id].timeStamp = 0
|
||
|
soundInfo[id].maxDuration = data.time
|
||
|
soundInfo[id].playing = true
|
||
|
end
|
||
|
end
|
||
|
if type == "onPlay" then
|
||
|
if globalOptionsCache[id] then
|
||
|
if globalOptionsCache[id].onPlayStartSilent then
|
||
|
globalOptionsCache[id].onPlayStartSilent(getInfo(id))
|
||
|
end
|
||
|
|
||
|
if globalOptionsCache[id].onPlayStart and not soundInfo[id].SkipEvents then
|
||
|
globalOptionsCache[id].onPlayStart(getInfo(id))
|
||
|
end
|
||
|
|
||
|
soundInfo[id].SkipEvents = nil
|
||
|
end
|
||
|
end
|
||
|
if type == "onEnd" then
|
||
|
if globalOptionsCache[id] then
|
||
|
if globalOptionsCache[id].onPlayEnd then
|
||
|
globalOptionsCache[id].onPlayEnd(getInfo(id))
|
||
|
end
|
||
|
end
|
||
|
if soundInfo[id] then
|
||
|
if soundInfo[id].loop then
|
||
|
soundInfo[id].timeStamp = 0
|
||
|
end
|
||
|
if soundInfo[id].destroyOnFinish and not soundInfo[id].loop then
|
||
|
Destroy(id)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
if type == "onLoading" then
|
||
|
if globalOptionsCache[id] then
|
||
|
if globalOptionsCache[id].onLoading then
|
||
|
globalOptionsCache[id].onLoading(getInfo(id))
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if cb then cb('ok') end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("xsound:stateSound", function(state, data)
|
||
|
local soundId = data.soundId
|
||
|
|
||
|
if state == "destroyOnFinish" then
|
||
|
if soundExists(soundId) then
|
||
|
destroyOnFinish(soundId, data.value)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "timestamp" then
|
||
|
if soundExists(soundId) then
|
||
|
setTimeStamp(soundId, data.time)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "texttospeech" then
|
||
|
TextToSpeech(soundId, data.lang, data.url, data.volume, data.loop or false)
|
||
|
end
|
||
|
|
||
|
if state == "texttospeechpos" then
|
||
|
TextToSpeechPos(soundId, data.lang, data.url, data.volume, data.position, data.loop or false)
|
||
|
end
|
||
|
|
||
|
if state == "play" then
|
||
|
PlayUrl(soundId, data.url, data.volume, data.loop or false)
|
||
|
end
|
||
|
|
||
|
if state == "playpos" then
|
||
|
PlayUrlPos(soundId, data.url, data.volume, data.position, data.loop or false)
|
||
|
end
|
||
|
|
||
|
if state == "position" then
|
||
|
if soundExists(soundId) then
|
||
|
Position(soundId, data.position)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "distance" then
|
||
|
if soundExists(soundId) then
|
||
|
Distance(soundId, data.distance)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "destroy" then
|
||
|
if soundExists(soundId) then
|
||
|
Destroy(soundId)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "pause" then
|
||
|
if soundExists(soundId) then
|
||
|
Pause(soundId)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "resume" then
|
||
|
if soundExists(soundId) then
|
||
|
Resume(soundId)
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if state == "volume" then
|
||
|
if soundExists(soundId) then
|
||
|
if isDynamic(soundId) then
|
||
|
setVolumeMax(soundId, data.volume)
|
||
|
else
|
||
|
setVolume(soundId, data.volume)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end)
|