CL

Como trocar e colocar musicas em certo ambientes?

Por claudiomir, 07 de abr. de 2013 em Clients

12
1.7k
claudiomirC
07 de abril de 2013 às 17:12

Eai Pessoal!

bem to com um pequena duvidazinha e to precisando de uma ajudinha =s,

Bem, preciso trocar a Musica Main do OTCliente e tambem to querendo colocar musicas em certo ambietes, ou seja certas codenadas.

e não to conseguindo fazer isso como eu faço?

BananaFightB
07 de abril de 2013 às 17:36

Use Opcodes e crie o sistema a partir dele, e sobre a musica inicial é em

 

otclient-master\data\sounds

nociamN
07 de abril de 2013 às 17:36

Tb queria saber, kkkkk.

SlicerS
07 de abril de 2013 às 17:46

mandar a musica eh 'facil' o problema eh mandar ela efetivamente...

BananaFightB
07 de abril de 2013 às 18:32

As funções que você pode usar :

 

#ifdef FW_SOUND

   // SoundManager
   g_lua.registerSingletonClass("g_sounds");
   g_lua.bindSingletonFunction("g_sounds", "preload", &SoundManager::preload, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "play", &SoundManager::play, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "getChannel", &SoundManager::getChannel, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "stopAll", &SoundManager::stopAll, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "enableAudio", &SoundManager::enableAudio, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "disableAudio", &SoundManager::disableAudio, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "setAudioEnabled", &SoundManager::setAudioEnabled, &g_sounds);
   g_lua.bindSingletonFunction("g_sounds", "isAudioEnabled", &SoundManager::isAudioEnabled, &g_sounds);

   g_lua.registerClass<SoundSource>();
   g_lua.registerClass<CombinedSoundSource, SoundSource>();
   g_lua.registerClass<StreamSoundSource, SoundSource>();

   g_lua.registerClass<SoundChannel>();
   g_lua.bindClassMemberFunction<SoundChannel>("play", &SoundChannel::play);
   g_lua.bindClassMemberFunction<SoundChannel>("stop", &SoundChannel::stop);
   g_lua.bindClassMemberFunction<SoundChannel>("enqueue", &SoundChannel::enqueue);
   g_lua.bindClassMemberFunction<SoundChannel>("enable", &SoundChannel::enable);
   g_lua.bindClassMemberFunction<SoundChannel>("disable", &SoundChannel::disable);
   g_lua.bindClassMemberFunction<SoundChannel>("setGain", &SoundChannel::setGain);
   g_lua.bindClassMemberFunction<SoundChannel>("getGain", &SoundChannel::getGain);
   g_lua.bindClassMemberFunction<SoundChannel>("setEnabled", &SoundChannel::setEnabled);
   g_lua.bindClassMemberFunction<SoundChannel>("isEnabled", &SoundChannel::isEnabled);
   g_lua.bindClassMemberFunction<SoundChannel>("getId", &SoundChannel::getId);
#endif

Editado Abril 7 por BananaFight

claudiomirC
08 de abril de 2013 às 23:46

Não existe nemnhuma pasta com nome de data no meu cliente =/, mas o cliente tem som inicial, que que sera que esta acontecendo?

BananaFightB
09 de abril de 2013 às 13:59

modules/Client/client.lua

 

local musicFilename = "/sounds/startup"

local musicChannel = g_sounds.getChannel(1)

function setMusic(filename)
 musicFilename = filename

 if not g_game.isOnline() then
   musicChannel:stop()
   musicChannel:enqueue(musicFilename, 3)
 end
end

 

Também tem :

 

  -- Play startup music (The Silver Tree, by Mattias Westlund)
 musicChannel:enqueue(musicFilename, 3)
 connect(g_game, { onGameStart = function() musicChannel:stop(3) end })
 connect(g_game, { onGameEnd = function()
     g_sounds.stopAll()
     musicChannel:enqueue(musicFilename, 3)
 end })

 

e

 

  g_sounds.preload(musicFilename)

shumagoraS
10 de abril de 2013 às 00:58

também gostaria de implementar som em certos ambientes, poderia fazer um mini tuto explicando como fazer ? = )

Editado Abril 10 por shumagora

nociamN
10 de abril de 2013 às 12:34

seria bom mesmo

BananaFightB
10 de abril de 2013 às 13:04

Para climatizar o client, tem que usar os opcodes e criar as funções no servidor, para ele enviar informações para o client e executar as musicas.

SlicerS
10 de abril de 2013 às 16:31

o banana, n da pra usar as sourcers do otclient pra 'brincar'? tpw.. n olhei muita as soucers, mas deve ter um onMove, ou algu do genero n? n teria como sempre q der onMove olhar a posi do player e ve se ta dentro de uma certa area e entao mandar a musica? ;p -ou pode usar as soucers do serv ms pra isso talvez..-

claudiomirC
11 de abril de 2013 às 18:31

Consegui, Valeu Banana ajudou muito!, só nao consegui colocar a musica em certos ambientes, mais mais pra frente tento com mais calma, mais o Main song consegui trocar valeu mesmo! vc é foda ;D

+ REP