Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá gente happy.png é o seguinte, to usando otclient e to colocando sons nas citys do meu server, e eu queria saber como eu poderia colocar 2 tipos de sons ( Musicas ) nas mesmas coordenadas, tipo, a pessoa vai nessa tal posição " X, Y, Z " ai quando a pessoa entra nessa tal coordenada começa a tocar uma musica, e quando a pessoa sair e entrar nessa mesma coordenada começa a tocar outro tipo de musica, sendo que na mesma coordenada da 1° musica ^^

 

script localizada na pasta Mudules/Rcsound

SOUNDS_CONFIG = {
	soundChannel = SoundChannels.Music,
	checkInterval = 500,
	folder = 'music/',
	noSound = 'No sound file for this area.',
}

SOUNDS = {
-- PVP
	{fromPos = {x=936, y=1025, z=13}, toPos = {x=952, y=1043, z=13}, priority = 1, sound="Balada.ogg"},
	{fromPos = {x=953, y=1016, z=13}, toPos = {x=990, y=1047, z=13}, priority = 1, sound="Pvp.ogg"},
} ----------

-- Sound
local rcSoundChannel
local showPosEvent
local playingSound

-- Design
soundWindow = nil
soundButton = nil

function toggle()
  if soundButton:isOn() then
    soundWindow:close()
    soundButton:setOn(false)
  else
    soundWindow:open()
    soundButton:setOn(true)
  end
end

function onMiniWindowClose()
  soundButton:setOn(false)
end

function init()
	for i = 1, #SOUNDS do
		SOUNDS[i].sound = SOUNDS_CONFIG.folder .. SOUNDS[i].sound
	end
	
	connect(g_game, { onGameStart = onGameStart,
                    onGameEnd = onGameEnd })
	
	rcSoundChannel = g_sounds.getChannel(SOUNDS_CONFIG.soundChannel)
	-- rcSoundChannel:setGain(value/COUNDS_CONFIG.volume)

	soundButton = modules.client_topmenu.addRightGameToggleButton('soundButton', tr('Sound Info') .. '', '/images/audio', toggle)
	soundButton:setOn(true)
	
	soundWindow = g_ui.loadUI('rcsound', modules.game_interface.getRightPanel())
	soundWindow:disableResize()
	soundWindow:setup()
	
	if(g_game.isOnline()) then
		onGameStart()
	end
end

function terminate()
	disconnect(g_game, { onGameStart = onGameStart,
                       onGameEnd = onGameEnd })
	onGameEnd()
	soundWindow:destroy()
	soundButton:destroy()
end

function onGameStart()
	stopSound()
	toggleSoundEvent = addEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end

function onGameEnd()
	stopSound()
	removeEvent(toggleSoundEvent)
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 toggleSound()
	local player = g_game.getLocalPlayer()
	if not player then return end
	
	local pos = player:getPosition()
	local toPlay = nil

	for i = 1, #SOUNDS do
		if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then
			if(toPlay) then
				toPlay.priority = toPlay.priority or 0
				if((toPlay.sound~=SOUNDS[i].sound) and (SOUNDS[i].priority>toPlay.priority)) then
					toPlay = SOUNDS[i]
				end
			else
				toPlay = SOUNDS[i]
			end
		end
	end

	playingSound = playingSound or {sound='', priority=0}
	
	if(toPlay~=nil and playingSound.sound~=toPlay.sound) then
		g_logger.info("RC Sounds: New sound area detected:")
		g_logger.info("  Position: {x=" .. pos.x .. ", y=" .. pos.y .. ", z=" .. pos.z .. "}")
		g_logger.info("  Music: " .. toPlay.sound)
		stopSound()
		playSound(toPlay.sound)
		playingSound = toPlay
	elseif(toPlay==nil) and (playingSound.sound~='') then
		g_logger.info("RC Sounds: New sound area detected:")
		g_logger.info("  Left music area.")
		stopSound()
	end

	toggleSoundEvent = scheduleEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end

function playSound(sound)
	rcSoundChannel:enqueue(sound, 0)
	setLabel(clearName(sound))
end

function clearName(soundName)
	local explode = string.explode(soundName, "/")
	soundName = explode[#explode]
	explode = string.explode(soundName, ".ogg")
	soundName = ''
	for i = 1, #explode-1 do
		soundName = soundName .. explode[i]
	end
	return soundName
end

function stopSound()
	setLabel(SOUNDS_CONFIG.noSound)
	rcSoundChannel:stop()
	playingSound = nil
end

function setLabel(str)
	soundWindow:recursiveGetChildById('currentSound'):getChildById('value'):setText(str)
end
Link para o post
Compartilhar em outros sites

Já tentou fazer uma montagem nas músicas ??  ;D

https://www.youtube.com/watch?v=qasiClB3dk4

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

    {fromPos = {x=936, y=1025, z=13}, toPos = {x=952, y=1043, z=13}, priority = 1, sound="Balada.ogg"},
    {fromPos = {x=953, y=1016, z=13}, toPos = {x=990, y=1047, z=13}, priority = 1, sound="Pvp.ogg"},

 

- Se nao me engano as Posiçoes:

- FomPos é Posição (Esquerdo Superior) 

- toPos é Posição (Direito inferior)

 

Vou postar uma imagem para quem nao sabe oque é (Esquerdo Superior e Direito Inferior):

 

post-59798-0-51306700-1431885631_thumb.p 

 

Editado por Nextbr (veja o histórico de edições)

 

 

Link para o post
Compartilhar em outros sites

Nextbr Ele quer que toque 2 musicas ao mesmo tempo...Exemplo: Acaba uma começa a outra

Editado por Vinicius Xxgamexx (veja o histórico de edições)

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Nextbr Ele quer que toque 2 musicas ao mesmo tempo...Exemplo: Acaba uma começa a outra

A sim Tendi, Vlw ele quer por um Multimidia na area  kkkkkk .

- No caso ele tem que fazer o tutorial do Video que voce postou =)

Editado por Nextbr (veja o histórico de edições)

 

 

Link para o post
Compartilhar em outros sites

A sim Tendi, Vlw ele quer por um Multimidia na area  kkkkkk .

- No caso ele tem que fazer o tutorial do Video que voce postou =)

tipo eu n quero juntar as musicas, eu quero que elas toquem aleatoriamente, e como o "Vinicius Xxgamexx " falou, eu quero que toquem varias musicas no mesmo lugar, sendo que aleatórias

Link para o post
Compartilhar em outros sites

Nextbr Parece que não  :P, a multimídia dele é no math.random kkk

mais enfim...  zangoosedoido Olha já aviso que não tenho nenhuma experiencia com OTC:

SOUNDS_CONFIG = {
soundChannel = SoundChannels.Music,
checkInterval = 500,
folder = 'music/',
noSound = 'No sound file for this area.',
}
 
SOUNDS = {
-- PVP
{fromPos = {x=936, y=1025, z=13}, toPos = {x=952, y=1043, z=13}, priority = 1, sound="Balada.ogg", sound2="Pvp.ogg"},
{fromPos = {x=953, y=1016, z=13}, toPos = {x=990, y=1047, z=13}, priority = 1, sound="Pvp.ogg", sound2="Balada.ogg"},
} ----------
 
-- Sound
local rcSoundChannel
local showPosEvent
local playingSound
 
-- Design
soundWindow = nil
soundButton = nil
 
function toggle()
  if soundButton:isOn() then
    soundWindow:close()
    soundButton:setOn(false)
  else
    soundWindow:open()
    soundButton:setOn(true)
  end
end
 
function onMiniWindowClose()
  soundButton:setOn(false)
end
 
function init()
for i = 1, #SOUNDS do
SOUNDS.sound = SOUNDS_CONFIG.folder .. SOUNDS.sound
end
 
connect(g_game, { onGameStart = onGameStart,
                    onGameEnd = onGameEnd })
 
rcSoundChannel = g_sounds.getChannel(SOUNDS_CONFIG.soundChannel)
-- rcSoundChannel:setGain(value/COUNDS_CONFIG.volume)
 
soundButton = modules.client_topmenu.addRightGameToggleButton('soundButton', tr('Sound Info') .. '', '/images/audio', toggle)
soundButton:setOn(true)
 
soundWindow = g_ui.loadUI('rcsound', modules.game_interface.getRightPanel())
soundWindow:disableResize()
soundWindow:setup()
 
if(g_game.isOnline()) then
onGameStart()
end
end
 
function terminate()
disconnect(g_game, { onGameStart = onGameStart,
                       onGameEnd = onGameEnd })
onGameEnd()
soundWindow:destroy()
soundButton:destroy()
end
 
function onGameStart()
stopSound()
toggleSoundEvent = addEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end
 
function onGameEnd()
stopSound()
removeEvent(toggleSoundEvent)
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 toggleSound()
local player = g_game.getLocalPlayer()
if not player then return end
 
local pos = player:getPosition()
local toPlay = nil
 
for i = 1, #SOUNDS do
if(isInPos(pos, SOUNDS.fromPos, SOUNDS.toPos)) then
if(toPlay) then
toPlay.priority = toPlay.priority or 0 or 2
if((toPlay.sound~=SOUNDS.sound) and (SOUNDS.priority>toPlay.priority)) then
toPlay = SOUNDS
end
else
toPlay = SOUNDS
end
end
end
 
playingSound = playingSound or {sound='', priority=0} or {sound2='', priority=2}
 
if(toPlay~=nil and playingSound.sound~=toPlay.sound) then
g_logger.info("RC Sounds: New sound area detected:")
g_logger.info("  Position: {x=" .. pos.x .. ", y=" .. pos.y .. ", z=" .. pos.z .. "}")
g_logger.info("  Music: " .. toPlay.sound)
stopSound()
playSound(toPlay.sound)
playingSound = toPlay
elseif(toPlay==nil) and (playingSound.sound~='') then
g_logger.info("RC Sounds: New sound area detected:")
g_logger.info("  Left music area.")
stopSound()
end
 
toggleSoundEvent = scheduleEvent(toggleSound, SOUNDS_CONFIG.checkInterval)
end
 
function playSound(sound)
rcSoundChannel:enqueue(sound, 0)
setLabel(clearName(sound))
    addEvent(NewMusic)
end
 
function clearName(soundName)
local explode = string.explode(soundName, "/")
soundName = explode[#explode]
explode = string.explode(soundName, ".ogg")
soundName = ''
for i = 1, #explode-1 do
soundName = soundName .. explode
end
return soundName
end
 
function NewMusic()
if toggleSound == true and playingSound = nil
rcSoundChannel:enqueue(sound2, 2)
setLabel(clearName(sound2))
end
 
function stopSound()
setLabel(SOUNDS_CONFIG.noSound)
rcSoundChannel:stop()
playingSound = nil
end
 
function setLabel(str)
soundWindow:recursiveGetChildById('currentSound'):getChildById('value'):setText(str)
end

Ando devagar, porque já tive pressa. E levo esse sorriso, porque já chorei demais...

________________________________________________________________________________

Minhas Sprites:

Mega Metagross

Mega Abomasnow

Pack de Shinys

[Posso atualizá-lo com novos shinys a qualquer momento]

Tutoriais:

[Completo] Criando e adicionando um novo Pokémon

[Actions] Criando quest no RME

Editores Lua/Xml/Sync Entre outros:

Editores Win/Mac/Linux

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo