tmbm procuro alguem q saiba colcar sons nos ambientes etc skype para negociar: vinne.giacomitti
[ Pedido ] Math.ramdon em uma script de sound ambient.
Por Developer Berg, 18 de fev. de 2016 em Clients
info
Grupo: Barão
Registrado: 30/01/14
Posts: 201
Reputação: +12
Char no Tibia: Xtibia Infer

info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Cara nao precisa saber como por som, basta saber ler o script. E facil fazer essa mudança, você quer que seja aleatório ppr área?
To no celular, mas basicamente:
SOUNDS = {--area sounds
{fromPos = {x = 000, y = 000, z = 0}, toPos = {x = 000, y = 000, z = 0}, sound = "Musica.mp3"},
}
Troque sound="musica.mp3"},
Por
sound = {"Musica.mp3", "Musica2.mp3}},
Onde tiver SOUNDS.sound troque por SOUNDS.sound[math.random(#SOUNDS.sound)].
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Cara nao precisa saber como por som, basta saber ler o script. E facil fazer essa mudança, você quer que seja aleatório ppr área?
To no celular, mas basicamente:
SOUNDS = {--area sounds
{fromPos = {x = 000, y = 000, z = 0}, toPos = {x = 000, y = 000, z = 0}, sound = "Musica.mp3"},
}
Troque sound="musica.mp3"},
Por
sound = {"Musica.mp3", "Musica2.mp3}},
Onde tiver SOUNDS.sound troque por SOUNDS.sound[math.random(#SOUNDS.sound)].
ae cara valeu kk, n sou bom em script, consigo ler as scripts mas n sei como fazer kk
só mais uma ajudinha, como eu poderia colocar sons em mais áreas com essa script ? já tentei assim na tabela mais n vai, se eu colocar assim, só fica tocando a primeira área da tabela, e as vezes até mesmo n toca nem uma das duas.
SOUNDS = {--area sounds
{fromPos = {x = 000, y = 000, z = 0}, toPos = {x = 000, y = 000, z = 0}, sound = {"Saffron.mp3"}},
{fromPos = {x = 000, y = 000, z = 0}, toPos = {x = 000, y = 000, z = 0}, sound = {"Cerulean.mp3"}},
}
como eu poderia colocar sons em mais áreas ? pq desse jeito ai que mostrei na tabela n funciona ![]()
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Uai eh so trocar o frompos e topos da linha q vc adicionar.
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Uai eh so trocar o frompos e topos da linha q vc adicionar.
kk ss, eu só fiz copiar e colar ai pra postar, mas mesmo se eu mudar a from e o topos, ainda sim n vai kk.
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

SOUNDS = {--area sounds
{fromPos = {x = x1, y = y1, z = z1}, toPos = {x = x2, y = y2, z = z2}, sound = {"Saffron.mp3"}},
{fromPos = {x = x3, y = y3, z = z3}, toPos = {x = x4, y = y4, z = z4}, sound = {"Cerulean.mp3"}},
}
Me manda o que você colocou ai pra eu ver
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

SOUNDS = {--area sounds
{fromPos = {x = x1, y = y1, z = z1}, toPos = {x = x2, y = y2, z = z2}, sound = {"Saffron.mp3"}},
{fromPos = {x = x3, y = y3, z = z3}, toPos = {x = x4, y = y4, z = z4}, sound = {"Cerulean.mp3"}},
}
Me manda o que você colocou ai pra eu ver
skulls, eu coloquei 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"}},
mas se eu colocar assim, as duas áreas ai que está configuradas nas 2 tags n está funcionando, as 2 param de funcionar, mas se eu deixar assim.
SOUNDS = {--area sounds
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
ela funciona normalmente, ela n funciona se eu adicionar mais de uma área na script.
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Com a configuração que da erro, ele não toca nada? Nenhuma das duas?
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Com a configuração que da erro, ele não toca nada? Nenhuma das duas?
ss, não toca nem uma das duas, e não da erros no terminal do otc.
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Posta os erros, por favor. Me ajude a te ajudar, coloca o maximo de informações que tiver, xD
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Posta os erros, por favor. Me ajude a te ajudar, coloca o maximo de informações que tiver, xD
kk n tem erros pow, não aparece erros no terminal, se aparecesse iria facilitar mesmo kk, é pq esse n é o Rc-sound que todos usam, essa é uma script feita pelo Vytor17, tipo, se eu configurar a script só com essa tag na tabela.
{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
pega normal, vai ficar tocando as musicas normalmente rs, mas se eu adicionar outra tag na tabela sem apagar essa que já tinha, no caso ficando as duas tags na tabela, tipo assim
{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"}},
ela para de funcionar, n pega mais som em nem uma área, nem na primeira, e nem na segunda tag que adicionei
e como falei, não aparece nem um erro no terminal ![]()
info
Grupo: Herói
Registrado: 25/02/07
Posts: 859
Reputação: +331
Gênero: Masculino

Posta a ultima versaobai por favor.
info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg

Posta a ultima versaobai por favor.
olha ai.
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
function Play(sound, loop, vol)
music = advsound.playMusic('data/sounds/'..sound, loop, false) -- Play("Nome Da Musica.mp3", true, 0.5) --
advsound.setVolume(music, vol)
return true
end
up



info
Grupo: Conde
Registrado: 12/04/15
Posts: 655
Reputação: +65
Gênero: Masculino
Char no Tibia: Developer Berg
olá gente, estou usando o Advanced Sound do Vyctor17 para soltar sons em certas posições, mais ou menos que nem o Rc-Sound, e queria pedir para alguém experiente fazer um Math.ramdon nessa script para tocar dois ou mais sons na mesma área sendo que aleatório os sons, e se vc entrar e sair dessa área, ela troca de musica aleatória também, que nem o pxg, ou padventures que os sistemas de sons lá é assim.
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 = 000, y = 000, z = 0}, toPos = {x = 000, y = 000, z = 0}, sound = "Musica.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, 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 endup
Up
Up
up
up
Editado Fevereiro 18 por ricardoberg