Por Fjinst, 07 de abr. de 2017 em Tópicos Sem Resposta
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
Olá a todos, possuo esse script do mod Advanced Sound feito pelo vyctor17, alguém pode me ajudar em uma coisa?
Bom, o mod funciona perfeito, exceto nas partes das músicas ambientes
Suponhamos que eu tenho uma música
MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"} }
Até ai tudo bem, funciona okay por ser só uma música tipo assim, porém quando eu adiciono uma nova música
tipo assim:
MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"}, {fromPos = {x = 1353, y = 1136, z = 6}, toPos = {x = 1603, y = 1367, z = 6}, sound = "ambient.mp3"}}
Para de funcionar, alguém sabe qual o motivo disso? segue abaixo o script do mod
PS: Já testei mudar virgulas, outras coisas mas sem resultados
require('advsound')require('ex')SOUNDS_CONFIG = { folder = 'mods/Advanced Sound/Sounds/', loop=true, start_paused=false, checkInterval = 500,}local UPDATESOUND_OPCODE = 85local PAUSESOUND_OPCODE = 81MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"} }local toggleSoundEventlocal elocal audio = nillocal window = nillocal volume = 100local strfunction init() connect(g_game, { onGameEnd = terminate }) window = modules.client_options.audioPanel str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) ProtocolGame.registerExtendedOpcode(UPDATESOUND_OPCODE, getSound) ProtocolGame.registerExtendedOpcode(PAUSESOUND_OPCODE, pauseSound) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval)endfunction iniciar() if (g_game.isOnline()) then removeEvent(e) toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval) endendlocal m function startAsound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() for i = 1, #MUSICAS do if(isInPos(pos, MUSICAS[i].fromPos, MUSICAS[i].toPos)) then if audio == nil then m = advsound.playMusic(SOUNDS_CONFIG.folder..MUSICAS[i].sound, true, SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(m, volume/100) audio = true end else audio = nil advsound.setPaused(m, true) removeEvent(toggleSoundEvent) end end toggleSoundEvent = scheduleEvent(startAsound, SOUNDS_CONFIG.checkInterval)endlocal musicfunction getSound(protocol, opcode, buffer) local cof = string.explode(buffer, "|") local conff = { ["true"] = true, ["false"] = false, } music = advsound.playMusic(SOUNDS_CONFIG.folder..cof[1], conff[cof[2]], SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(music, volume/100)endfunction pauseSound(protocol, opcode, buffer) if opcode == 81 then advsound.pauseAll() endendfunction terminate() disconnect(g_game, { onGameEnd = terminate }) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) audio = nil advsound.pauseAll()endfunction isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.zend
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Char no Tibia: Developer Berg
estou com o mesmo problema
info
Grupo: Visconde
Registrado: 26/04/08
Posts: 251
Reputação: +36
Gênero: Masculino
Char no Tibia: Senhor Mithril
Olá a todos, possuo esse script do mod Advanced Sound feito pelo vyctor17, alguém pode me ajudar em uma coisa?
Bom, o mod funciona perfeito, exceto nas partes das músicas ambientes
Suponhamos que eu tenho uma música
MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"} }Até ai tudo bem, funciona okay por ser só uma música tipo assim, porém quando eu adiciono uma nova música
tipo assim:
MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"}, {fromPos = {x = 1353, y = 1136, z = 6}, toPos = {x = 1603, y = 1367, z = 6}, sound = "ambient.mp3"}}Para de funcionar, alguém sabe qual o motivo disso? segue abaixo o script do mod
PS: Já testei mudar virgulas, outras coisas mas sem resultados
require('advsound')require('ex')SOUNDS_CONFIG = { folder = 'mods/Advanced Sound/Sounds/', loop=true, start_paused=false, checkInterval = 500,}local UPDATESOUND_OPCODE = 85local PAUSESOUND_OPCODE = 81MUSICAS = {--area sounds {fromPos = {x = 1353, y = 1136, z = 7}, toPos = {x = 1603, y = 1367, z = 7}, sound = "ambient.mp3"} }local toggleSoundEventlocal elocal audio = nillocal window = nillocal volume = 100local strfunction init() connect(g_game, { onGameEnd = terminate }) window = modules.client_options.audioPanel str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) ProtocolGame.registerExtendedOpcode(UPDATESOUND_OPCODE, getSound) ProtocolGame.registerExtendedOpcode(PAUSESOUND_OPCODE, pauseSound) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval)endfunction iniciar() if (g_game.isOnline()) then removeEvent(e) toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval) endendlocal m function startAsound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() for i = 1, #MUSICAS do if(isInPos(pos, MUSICAS[i].fromPos, MUSICAS[i].toPos)) then if audio == nil then m = advsound.playMusic(SOUNDS_CONFIG.folder..MUSICAS[i].sound, true, SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(m, volume/100) audio = true end else audio = nil advsound.setPaused(m, true) removeEvent(toggleSoundEvent) end end toggleSoundEvent = scheduleEvent(startAsound, SOUNDS_CONFIG.checkInterval)endlocal musicfunction getSound(protocol, opcode, buffer) local cof = string.explode(buffer, "|") local conff = { ["true"] = true, ["false"] = false, } music = advsound.playMusic(SOUNDS_CONFIG.folder..cof[1], conff[cof[2]], SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) advsound.setVolume(music, volume/100)endfunction pauseSound(protocol, opcode, buffer) if opcode == 81 then advsound.pauseAll() endendfunction terminate() disconnect(g_game, { onGameEnd = terminate }) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) audio = nil advsound.pauseAll()endfunction isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.zend