Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Em 15/03/2015 13:53:43, vyctor17 disse:

Eai galera, pra quem conhece meu tópico de showoff já sabe oque eu estou postando :). mas pra quem não conhece oque é o Advanced Sound segue o ctrl+v.

 

é um MOD para o OTC, que permite ao OTC reproduzir diversas tipos de mídia como (.MP3, .WAV, .OGG, .MOD, .IT, .S3D, .XM). 

Além disso esse MOD conta com uma biblioteca de áudio 3D, e a melhor parte é que não necessita de alteração na source por parte do OTC,só no serverside se o desenvolvedor quiser ativar alguns recursos como áudio nas falas das criaturas. a parte do áudio nas criaturas não esta inclusa no download. e também não conta com áudio 3d configurado em script mais as funções estão na biblioteca se quiser é só fazer :).

 

 

 

Algumas aplicações por exemplo em servidores de pokemon ao jogar a pokebola mandar um som para o client ao capturar outro som ou falhar na captura, assim como som de batalhas, som ambiente, o limite é sua imaginação!

 

Lista de funções


pauseAll
isPlaying
isFinished
getSoundPlayLen
getSoundPlayPosition
setSndPlayPos
setSoundMinDistance
setListenerPosition
setSound3DPosition
setVolume
getVolume
setPaused
isPaused
playMusic
deleteSnd
setReverbEnabled
setEchoEnabled
setDistortionEnabled

Exemplo de uso em lua servidor:


local colors = {
	TEXTCOLOR_BLUE,
	TEXTCOLOR_LIGHTBLUE,
	TEXTCOLOR_LIGHTGREEN,
	TEXTCOLOR_TEAL,
	TEXTCOLOR_PURPLE,
	TEXTCOLOR_PLATINUMBLUE,
	TEXTCOLOR_LIGHTGREY,
	TEXTCOLOR_DARKRED,
	TEXTCOLOR_RED,
	TEXTCOLOR_ORANGE,
	TEXTCOLOR_YELLOW,
	TEXTCOLOR_WHITE_EXP
}
function onSay(cid, words, param)
	local playerpos = getPlayerPosition(cid)
	local random = math.random(1, #colors)
	if math.max(math.abs(playerpos.x-23), math.abs(playerpos.y-30)) < 9999 then
		doSendAnimatedText(playerpos, "GoGoGo!", colors[random]) 
		sendScreanSound(cid, "com_go.wav")		
	end
	return true
end

 
 

Criaturas Falantes C++ ServerSide:

 

Em game.cpp, procure por:
 


bool Game::internalCreatureSay(Creature* creature, SpeakClasses type, const std::string& text,
bool ghostMode, SpectatorVec* spectators/* = NULL*/, Position* pos/* = NULL*/)

E abaixo de:
 


if(!ghostMode || tmpPlayer->canSeeCreature(creature))
tmpPlayer->sendCreatureSay(creature, type, text, &destPos);

Adicione:

 


if(type == SPEAK_MONSTER_YELL or type == SPEAK_MONSTER_SAY){
tmpPlayer->sendExtendedOpcode(85, text + ".mp3|false");
}

Dai é só adicionar os som a pasta e colocar o nome dele igual a fala nesse metodo só ta pra rodar mp3, tem jeito melhor de fazer isso adicionando um nova tag no .xml do monstro mais acabei ficando com preguiça e fiz assim kk'

 

Download

 

Gostou?, então se puder me ajude!

120x53-doar.gif

 

não autorizo o re-post em qualquer outro fórum sem minha autorização.

 

vyctor17 - Waki-V LTDA ©

 

 

 

vyctor, conseguir colocar tudo, n só o código dos bichos falantes, como sons nos itens e coisas, vlw man, reputado :D adorei mesmo :D se n for pedir muito kk, poderia me falar qual script lua no server vc mexeu para poder sair som nos passos do player quando ele anda ? e poderia me falar também se tem algum modo e como é esse modo de colocar som nas teclas quando vc digitar ? kk e mais um pedido, poderia me dizer como posso colocar mais sons em novas coordenadas ? pq se eu colocar som no ambiente de uma coordenada na tabela do arquivo Adsound.lua, n toca nem um dos sons que coloquei. obg se for possível ajudar agradeço muito.

Editado por zangoosedoido (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 72
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Eai galera, pra quem conhece meu tópico de showoff já sabe oque eu estou postando . mas pra quem não conhece oque é o Advanced Sound segue o ctrl+v.   é um MOD para o OTC, que permite ao OTC

não, eu já fiz o sistema e disponibilizei de graça. não sou obrigador a dar suporte é praticamente só jogar as coisas na pasta sabendo o minimo necessário pra se ter um otserv não é pra ter problema a

dentro do download, esta tudo separado por pasta, clientside, serverside e suas respectivas pastas sendo que o serverside só tem função para colocar na lib não tem instalação é só jogar as coisas na p

Posted Images

Em 13/02/2016 23:23:48, zangoosedoido disse:

vyctor, conseguir colocar tudo, n só o código dos bichos falantes, como sons nos itens e coisas, vlw man, reputado :D adorei mesmo :D se n for pedir muito kk, poderia me falar qual script lua no server vc mexeu para poder sair som nos passos do player quando ele anda ? e poderia me falar também se tem algum modo e como é esse modo de colocar som nas teclas quando vc digitar ? kk e mais um pedido, poderia me dizer como posso colocar mais sons em novas coordenadas ? pq se eu colocar som no ambiente de uma coordenada na tabela do arquivo Adsound.lua, n toca nem um dos sons que coloquei. obg se for possível ajudar agradeço muito.

 

 

 

pra sair som nos passos você tem que criar um novo callback creaturescript nas sources, que eu chamei onTryMove, é um callback que é chamado toda vez que alguém tenta andar, e usar isso pra soltar o som, sobre o som ambiente eu me lembro de estar tudo funcionando bem, mas você pode tentar fazer ele pelo servidor ao invés do cliente, usando de referencia oque eu fiz no cliente para passar pro server-side. ou então usar o proprio sistema de som do otclient só para o som ambiente, funcionando de forma separada.

Link para o post
Compartilhar em outros sites
2 horas atrás, vyctor17 disse:

pra sair som nos passos você tem que criar um novo callback creaturescript nas sources, que eu chamei onTryMove, é um callback que é chamado toda vez que alguém tenta andar, e usar isso pra soltar o som, sobre o som ambiente eu me lembro de estar tudo funcionando bem, mas você pode tentar fazer ele pelo servidor ao invés do cliente, usando de referencia oque eu fiz no cliente para passar pro server-side. ou então usar o proprio sistema de som do otclient só para o som ambiente, funcionando de forma separada.

hmm entendi, vlw pela ajuda, vou tentar criar o callback novo, e vou tentar passar pro server a questão da função do som nos ambientes, mas e a questão dos sons nas teclas ? tem alguma forma de colocar sons quando o player digitar ou aperta alguma tecla ? que só ele possa escutar esse som ?

Editado por zangoosedoido (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
7 horas atrás, zangoosedoido disse:

hmm entendi, vlw pela ajuda, vou tentar criar o callback novo, e vou tentar passar pro server a questão da função do som nos ambientes, mas e a questão dos sons nas teclas ? tem alguma forma de colocar sons quando o player digitar ou aperta alguma tecla ? que só ele possa escutar esse som ?

 

 

 

ter ate tem, e é só client-side tem que achar a função de tecla pressionada e rodar um som no momento só dar uma olhada nas sources do otc que você acha.

Link para o post
Compartilhar em outros sites
29 minutos atrás, vyctor17 disse:

ter ate tem, e é só client-side tem que achar a função de tecla pressionada e rodar um som no momento só dar uma olhada nas sources do otc que você acha.

ok, vou da umas olhadas aqui nas sources do otc. poderia me falar como eu faço um math.random ali nas funções do som nos ambientes para tocar musicas aleatórias na mesma área ? tipo, colocaria mais de uma musica para tocar na mesma área da tabela, e essas musicas ficaria tocando aleatoriamente ao entrar e sair da área que ta configurado para tocar as musicas. tipo igual ao pxg se vc conhece.

Link para o post
Compartilhar em outros sites
Em 15/02/2016 13:33:27, zangoosedoido disse:

ok, vou da umas olhadas aqui nas sources do otc. poderia me falar como eu faço um math.random ali nas funções do som nos ambientes para tocar musicas aleatórias na mesma área ? tipo, colocaria mais de uma musica para tocar na mesma área da tabela, e essas musicas ficaria tocando aleatoriamente ao entrar e sair da área que ta configurado para tocar as musicas. tipo igual ao pxg se vc conhece.

faz uma tabela com as musicas e roda o math.random nela.

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
Em 15/02/2016 06:08:41, vyctor17 disse:

pra sair som nos passos você tem que criar um novo callback creaturescript nas sources, que eu chamei onTryMove, é um callback que é chamado toda vez que alguém tenta andar, e usar isso pra soltar o som, sobre o som ambiente eu me lembro de estar tudo funcionando bem, mas você pode tentar fazer ele pelo servidor ao invés do cliente, usando de referencia oque eu fiz no cliente para passar pro server-side. ou então usar o proprio sistema de som do otclient só para o som ambiente, funcionando de forma separada.

Vyctor conseguir fazer o math.ramdon, eu fiz isso.

 

troquei  sound="musica.mp3"},  por  sound = {"Musica.mp3", "Musica2.mp3}},

e troquei  SOUNDS.sound  por  SOUNDS.sound[math.random(#SOUNDS.sound)]

 

e funcionou normal, mas to com uma duvida que é o seguinte,

 

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.

 

Citar


SOUNDS = {--area sounds
	{fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}},
}

 

a script ta assim.

 

Spoiler


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

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 1 month later...
  • 2 months later...
  • 1 month later...

To de atras também, não tem nada dizendo como usar som no OTC, pros noobs é impossível, mas esses caras fodôes não gosta de explicar pros noobs, só lança e manda geral se virar. kkk <3 mas mesmo assim, lendo os comentários meio que não intendi porra nenhuma kkk. Se alguém souber me dizer o Passo a Passo fico Grato <3<3 

Só preciso saber onde botar os arquivos que daí começo a entrar dentro dos arquivos e aprendo melhor, mas não tenho 1% de noção de onde vai os arquivos.

Link para o post
Compartilhar em outros sites
  • 7 months later...

Eu testei mas não funcionou, eu não entendo muito de Otc mas venho tentando modifica-lo, mas até agora sem sucesso, a unica coisa que deu certo foi os sons em áreas.

Pode me explicar em qual pasta eu coloco cada arquivo? as DLL o AdvancedSoundFunctions.lua

 

 

E uma duvida seria possível colocar videos? Exemplo na Entergame do OTC?

Link para o post
Compartilhar em outros sites
  • 5 months later...
  • 2 weeks later...

Quando abro o client e vou no terminal mostra esse erro aqui.


ERROR: Unable to load module 'Advanced Sound': LUA ERROR:
error loading module 'advsound' from file '.\advsound.dll':
    Não foi possível encontrar o módulo especificado.

stack traceback:
    [C]: ?
    [C]: ?
    [C]: in function 'require'
    /Advanced Sound/Adsound.lua:1: in main chunk
    [C]: in function 'autoLoadModules'
    /init.lua:49: in main chunk

Link para o post
Compartilhar em outros sites
Em 23/02/2018 em 00:16, darcioantonio disse:

alguém tem o a source com opcode pq só funfa no opcode ou sei la algum jeito pra funfar sem ter opcode?

Tem sim
http://www.tibiaking.com/forum/forums/topic/55284-module-extended-opcodes-sem-sources/

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites
  • 10 months later...

@vyctor17 Desculpa reviver o tupido,

1-Eu add as DLL no cliente,  o Advanced Sound na pasta Mods. (ok)

2- o AdvancedSoundFunctions.lua na pasta  Data/lib  (ok)

Consigo botar musica nas áreas, mas não consigo colocar som nos itens tipo Pokeball, e Npc nurce..

Eu tenho os Sons em MP3/OGG mas o som não sai.

oque eu tenho que fazer para sair som nos Itens ?

 

Link para o post
Compartilhar em outros sites
  • 8 months later...

tópico antigo pra caramba, achei que tinha perdido a source code mas acabei achando uma versão em um CD de backup. não sei se alguém ainda tem interesse nesse sistema, mas revivi o tópico pra avisar que deixei a source disponível se alguém quiser atualizar ou compilar para x64.

 

https://github.com/vyctor17/advsound

Link para o post
Compartilhar em outros sites
8 horas atrás, vyctor17 disse:

tópico antigo pra caramba, achei que tinha perdido a source code mas acabei achando uma versão em um CD de backup. não sei se alguém ainda tem interesse nesse sistema, mas revivi o tópico pra avisar que deixei a source disponível se alguém quiser atualizar ou compilar para x64.

 

https://github.com/vyctor17/advsound

 

vlw por liberar, estava a procura de um sistema de som bom open source. obrigado cara.

23 minutos atrás, zangoosedoido disse:

vlw por liberar, estava a procura de um sistema de som bom open source. obrigado cara.

 

só uma pergunta, vc usou quais libs e boosts pra compilar ?

Link para o post
Compartilhar em outros sites

faz muito tempo mas acho que foi as mesmas pra compilar um servidor 0.3.6pl1, mas eu compilei antes de colocar no github e só precisei linkar a biblioteca de c++ do visualstudio mesmo.

Editado por vyctor17 (veja o histórico de edições)
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.


  • Conteúdo Similar

    • Por YomeeLSP
      Queria saber como colocar musica no site.
      aqui tinha um tutorial mas aparentemente ele foi removido. 
      @UP
    • Por vyctor17
      Oi Tk, faz um tempo que eu postei alguns módulos que eu fiz, para o OTclient, agora vou mostrar um pouco de como eles foram implementados em um projeto de teste. vou fazer um breve explicação sobre o o funcionamento e depois colocarei um GIF ou Video mostrando in-game.
       
       
      Raridade em monstros e items.
      Monstros: a raridade em monstros aumenta seu poder de ataque e vida baseado na raridade. Para monstros existem 4 Tiers de raridade,  Comum, Épico, Lendário e Único um monstro com raridade acima de comum sempre protegendo um bau com recompensas.
       
      Items: Os items tem variação de raridade baseado em um encantamento obtido via Gemas, Essas raridades são dividas em 5 Tiers de raridade, Comum, Magico, Épico, Lendário e Único.
       

       
      a imagem não contem item e monstros únicos
       

      Gemas de encantamento.
      As gemas de encantamento melhoram um item e só podem ser utilizadas uma vez por item, existem duas gemas uma pode dar de um a três atributos novos ao item e outra de um a seis, a partir do numero de atributos novos gerados no item é definido sua raridade. As gemas podem ser obtidas através de mineração ou em baus de recompensa.

       

      Baus de recompensa.
      São gerados junto a monstros de raridade acima de comum dependo de qual bau o monstro protege mais forte ele é, exemplo um monstro épico protegendo um bau de ouro é mais forte que um épico protegendo um bau normal. Para abrir o bau você terá que fazer o Lockpick no bau.
       

      Wasp lendária protegendo bau da fortuna.
       
       

      Pescaria.
      Nada de muito explicativo só uma pesca comum, para obter peixes para Cooking ou para Alquimia.
       
       
       
       

      Lockpick.
      Nada de muito novo também.
       
       
       

      Montaria
      Nada muito diferente também, só existem três pontos diferentes da montaria no meu server para o do global que são, as montarias tem vida e se ela "morrer" você é desmontado, as montarias em quanto montado te libera magias, a montaria tem um slot próprio para poder ser equipada.
       
       

      Magias e inventario.
      Todas classes podem usar qualquer magia mas as magias são vinculadas as items, então para ter a magia liberada a pessoa tem que estar com o item equipado para aumentar a quantidade magias criei mais dois slots no inventario um slot para montaria e mais um anel.

       

      Vou ficar devendo falar sobre o craft e a alquimia, pois ainda estou trabalhando neles. deixar um agradecimento especial a galera do discord do TK que me ajudou com ideias e me guiando para melhorar sistemas existentes . Qualquer duvida ou sugestão para os sistemas acima ou para qualquer outro tipo de sistema que você acha que poderia ficar legal em conjunto com esses sistemas ficarei ligado nos comentários desse tópico. Obrigado pela atenção.
       
      Bonus:
       
       
       
    • Por OverBash
      Sistema completo de som para Tibia,
      -Barulho dos passos (muda conforme pisa em grama, areia, neve, piso, madeira, barro)
      -Barulho portas e items
      -Barulho das magias (todas as magias desde utevo lux)
      -Todas as falas dos monstros além do texto emitem som (suporte  a mais de 180 mil sons)
      -Barulho das explosões
      -Som ambiente nas cavernas, em lugares com chão de poison, lava, floresta e etc
      -Sons em todas as runas e wands
      -Sons ao comer food, usar potions e jogar item no água
      -Sons de sword, club axe, bow, crossbow  diferentes
       
      Sistema de som 3D, com fone de ouvido por exemplo você pode entrar em uma grande cave e ouvir bem baixinho vindo de longe a voz de um orc berserker por exemplo,
      e também saber se ele está na direita ou na esquerda
       
      Apesar de todo o esforço é algo que não é pra  todo mundo, mas  deixei opcional no meu game, quem não gostar é só clicar no mute que tem no client,
      estou fazendo esse sistema para lançar em 1 de Julho meu servidor de tibia old com tela ampla e som
       
    • Por vyctor17
      Tópico rápido não sei se esta na área errada eu postaria na área de showoff mas não achei, estou trabalhando em um modulo pro Otclient de "lockpick" parecido com de skyrim.
      Embora essa primeira versão esta bem mais simples, basicamente ao usar o "lockpick" em uma Bau ou porta aparece a janela onde você tem que encontrar a posição para o "lockpick" abrir o bau ou porta em questão tentar abrir o bau com a posição errada quebra seu "lockpick". se alguém tiver alguma sugestão principalmente na forma de definir a dificuldade dos baus ou de como a skill de "lockpick" vai alterar a dificuldade pode deixar ai que estou precisando kkk.
       
      Edit: não vou criar outro tópico só pra mostrar isso segue o vídeo aqui a ideia é manter a quadrado verde no peixe para pescar ele a velocidade do peixe e o tamanho do quadrado varia de acordo com a dificuldade do peixe. no caso ali esta bem cru, no caso a barra verde quando chegar no máximo você pegaria o peixe se se deixar ela chegar a 0 você perde o peixe.
       
       
    • Por DanielGamer
      Bom como o titulo já diz quero saber se tem como colocar musica em old Client sem deixá-lo em OT-Client

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo