Olá Gente, queria pedir a ajuda de vcs hoje, estou usando o mod Advanced Sound do Vyctor17, mas tem um bug na tabela do mod de sound, tipo assim a tabela é essa.
SOUNDS = {--area sounds
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
}
se eu colocar somente um lugar com som nessa tabela funciona normalmente, mas se eu acrescentar 2 tags na tabela, para adicionar som em outros cantos alem desse canto que ta ai na tabela tipo assim.
SOUNDS = {--area sounds
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
{fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}},
}
o som n toca, alias, o som das duas áreas n tocam, nem a primeira que no caso é a de saffron, e nem a segunda que é a de cerulean, só funciona quando tem somente uma tag na tabela que nem o primeiro exemplo que mostrei e vou mostrar agr denovo.
SOUNDS = {--area sounds
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
}
alguém me ajuda pfv, queria poder colocar sons em mais áreas da tabela sem parar de funcionar os sons.
Script.
require('advsound')
require('ex')
SOUNDS_CONFIG = {
folder = 'mods/Advanced Sound/Sounds/',
loop=false,
start_paused=false,
checkInterval = 500,
}
local UPDATESOUND_OPCODE = 85
local PAUSESOUND_OPCODE = 81
SOUNDS = {--area sounds
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
{fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}},
}
local toggleSoundEvent
local e
local audio = nil
local window = nil
local volume = 100
local str
function 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)
end
function iniciar()
if (g_game.isOnline()) then
removeEvent(e)
toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval)
end
end
local m
function startAsound()
local player = g_game.getLocalPlayer()
if not player then return end
local pos = player:getPosition()
for i = 1, #SOUNDS do
if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then
if audio == nil then
m = advsound.playMusic(SOUNDS_CONFIG.folder..SOUNDS[i].sound[math.random(#SOUNDS[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)
end
local music
function 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)
end
function pauseSound(protocol, opcode, buffer)
if opcode == 81 then
advsound.pauseAll()
end
end
function terminate()
disconnect(g_game, { onGameEnd = terminate })
e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval)
audio = nil
advsound.pauseAll()
end
function 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.z
end
Pergunta
Developer Berg 65
Olá Gente, queria pedir a ajuda de vcs hoje, estou usando o mod Advanced Sound do Vyctor17, mas tem um bug na tabela do mod de sound, tipo assim a tabela é essa.
SOUNDS = {--area sounds {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, }se eu colocar somente um lugar com som nessa tabela funciona normalmente, mas se eu acrescentar 2 tags na tabela, para adicionar som em outros cantos alem desse canto que ta ai na tabela tipo assim.
SOUNDS = {--area sounds {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, {fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}}, }o som n toca, alias, o som das duas áreas n tocam, nem a primeira que no caso é a de saffron, e nem a segunda que é a de cerulean, só funciona quando tem somente uma tag na tabela que nem o primeiro exemplo que mostrei e vou mostrar agr denovo.
SOUNDS = {--area sounds {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, }alguém me ajuda pfv, queria poder colocar sons em mais áreas da tabela sem parar de funcionar os sons.
Script.
require('advsound') require('ex') SOUNDS_CONFIG = { folder = 'mods/Advanced Sound/Sounds/', loop=false, start_paused=false, checkInterval = 500, } local UPDATESOUND_OPCODE = 85 local PAUSESOUND_OPCODE = 81 SOUNDS = {--area sounds {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, {fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}}, } local toggleSoundEvent local e local audio = nil local window = nil local volume = 100 local str function 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) end function iniciar() if (g_game.isOnline()) then removeEvent(e) toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval) end end local m function startAsound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() for i = 1, #SOUNDS do if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then if audio == nil then m = advsound.playMusic(SOUNDS_CONFIG.folder..SOUNDS[i].sound[math.random(#SOUNDS[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) end local music function 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) end function pauseSound(protocol, opcode, buffer) if opcode == 81 then advsound.pauseAll() end end function terminate() disconnect(g_game, { onGameEnd = terminate }) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) audio = nil advsound.pauseAll() end function 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.z endLink para o comentário
https://xtibia.com/forum/topic/239637-ajuda-com-tabela/Compartilhar em outros sites
22 respostass a esta questão
Posts Recomendados