Postado Novembro 23, 2014 10 anos Boa tarde, galera gostaria de saber como adiciono musica em certos locais do mapa, quando o player passar por está area a musica toca. Eu encontrei um arquivo no meu otc que eu acredito que a função dele é fazer exatamente isto. Na pasta do otc/Mods/Rc sound. No codigo as ares listadas nele funciona a musica, pois ja aveio pre configurado, e quando eu tentei coloquei no cogio a parte de TESTE e tentei adcionar a musica em outra area quando chego la nada acontece. Alguem poderia me explicar direito como funciona a musica do OTC e esse script ? SOUNDS_CONFIG = { soundChannel = SoundChannels.Music, checkInterval = 500, folder = 'music/', noSound = 'No sound file for this area.', } SOUNDS = { -- Konoha {fromPos = {x=2370, y=1657, z=7}, toPos = {x=2752, y=1961, z=7}, priority = 2, sound="Konoha.ogg"}, {fromPos = {x=2370, y=1657, z=6}, toPos = {x=2752, y=1961, z=6}, priority = 2, sound="Konoha.ogg"}, {fromPos = {x=2370, y=1657, z=5}, toPos = {x=2752, y=1961, z=5}, priority = 2, sound="Konoha.ogg"}, {fromPos = {x=2370, y=1657, z=4}, toPos = {x=2752, y=1961, z=4}, priority = 2, sound="Konoha.ogg"}, {fromPos = {x=2370, y=1657, z=3}, toPos = {x=2752, y=1961, z=3}, priority = 2, sound="Konoha.ogg"}, -- Cave {fromPos = {x=2425, y=1883, z=8}, toPos = {x=2627, y=1985, z=8}, priority = 1, sound="Cave.ogg"}, {fromPos = {x=2425, y=1883, z=9}, toPos = {x=2627, y=1985, z=9}, priority = 1, sound="Cave.ogg"}, {fromPos = {x=2425, y=1883, z=10}, toPos = {x=2627, y=1985, z=10}, priority = 1, sound="Cave.ogg"}, {fromPos = {x=2425, y=1883, z=11}, toPos = {x=2627, y=1985, z=11}, priority = 1, sound="Cave.ogg"}, -- Konoha South Exit {fromPos = {x=2291, y=1854, z=7}, toPos = {x=2786, y=2290, z=7}, priority = 1, sound="New_Evening.ogg"}, {fromPos = {x=2291, y=1854, z=6}, toPos = {x=2786, y=2290, z=6}, priority = 1, sound="New_Evening.ogg"}, {fromPos = {x=2291, y=1854, z=5}, toPos = {x=2786, y=2290, z=5}, priority = 1, sound="New_Evening.ogg"}, {fromPos = {x=2291, y=1854, z=4}, toPos = {x=2786, y=2290, z=4}, priority = 1, sound="New_Evening.ogg"}, {fromPos = {x=2291, y=1854, z=3}, toPos = {x=2786, y=2290, z=3}, priority = 1, sound="New_Evening.ogg"}, -- Boss {fromPos = {x=977, y=903, z=8}, toPos = {x=1009, y=916, z=9}, priority = 1, sound="FF VII - Main.ogg"}, {fromPos = {x=1001, y=917, z=9}, toPos = {x=1002, y=919, z=9}, priority = 1, sound="FF VII - Main.ogg"}, -- Main -- Dragon {fromPos = {x=1089, y=1110, z=8}, toPos = {x=1135, y=1142, z=8}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1102, y=1128, z=9}, toPos = {x=1131, y=1149, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1117, y=1124, z=9}, toPos = {x=1128, y=1127, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1100, y=1104, z=10}, toPos = {x=1127, y=1131, z=10}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1103, y=1108, z=9}, toPos = {x=1108, y=1112, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1096, y=1088, z=5}, toPos = {x=1110, y=1100, z=6}, priority = 1, sound="Fairy Tail - Main.ogg"}, -- Teste {fromPos = {x=2507, y=2412, z=6}, toPos = {x=2474, y=2413, z=6}, priority = 1, sound="Konoha.ogg"}, {fromPos = {x=2507, y=2412, z=7}, toPos = {x=2474, y=2413, z=7}, priority = 1, sound="Konoha.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 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} 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 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
Postado Julho 8, 2016 8 anos Me Desculpe Reviver o Tópico , Mas Não Tem Como Editar Este Script Para Colocar No Inicio do Tibia , Tipo Quando Abrir o Jogo Ja Vem a Musica?
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.