Opa galera, tudo bem? Nesses últimos dias eu vim trabalhando em um projeto que eu já tenho em mente faz um tempo: um tibia som usando apenas a linguagem lua e suas bibliotecas auxiliares. Primeiramente gostaria de dizer que lua é um linguagem limitada, mesmo contando com suas bibliotecas auxiliares em C não se compara a própria linguagem C, entre outras. Leia tudo! Como funciona: Tanto o hoster quanto o jogador devem baixar arquivos para que o sistema funcione, porém, cada um irá baixar arquivos diferentes. O jogador irá abrir o programa e depois deve ativar a talkaction no jogo que irá dar inicio a conexão entre as duas redes. Depois, o jogador deve digitar sua conta e senha para confirmar a conexão. A partir deste momento, o programa estará em funcionamento. Informações: O programa ainda está em fase de testes, não tive a oportunidade de testar com Tibia MC ou até mesmo com duas conexões simultâneas, ou seja, duas pessoas usando o sistema. Peço que reportem qualquer bug para que eu o corrija imediatamente. Por enquanto, o máximo são 10 sons. Bibliotecas auxiliares: Foram utilizadas as bibliotecas ProteaAudio para reproduzir os sons e a biblioteca Socket para conectar as duas redes e possibilitar o envio de dados (TCP). Instalação: A instalação é a parte mais difícil do processo, fique muito atento pois qualquer nome de pasta que não esteja igual ao indicado irá debilitar o funcionamento do programa.
Instalação para o Jogador
Se você estiver jogando um OtServer que possua este sistema, siga os seguintes passos: Baixe o seguinte aquivo: http://www.4shared.c...ibia_Som_P.html Feito isso, para ativar o sistema, abra o arquivo Tibia Som.bat e, no jogo, use as palavras que irão ativar a talkaction para inciar a conexão. Após o inicio da conexão, digite a sua conta e senha e assim o sistema irá funcionar.
Instalação para o Hoster
Se você estiver hosteando um OtServer e deseja implementar o sistema, siga os seguintes passos: Baixe o seguinte arquivo: http://www.4shared.com/rar/AuijQwyB/Tibia_Som_H.html Agora, selecione as seguintes pastas: lua, mime, socket e os seguintes arquivos: lua.exe, lua5.1.exe, lua5.1.dll, lua51.dll e coloque-os na mesma pasta onde se encontra o interpretador (executável) e as dlls do seu OtServer. Feito isso, vá em data/globalevents/scripts e cole o arquivo gbevt.lua, depois vá em data/globalevents, abra o arquivo globalevents.xml e, entre duas tags, cole esta: <globalevent name="tibiasom" interval="3" event="script" value="gbevt.lua"/> Depois, vá em data/lib e cole o arquivo changer.txt, não se assuste porque ele está vazio, server apenas para trocar informações entre o OtServer e o interpretador avulso. Vá em data/talkactions/scripts e cole os arquivos talk.lua e sender.lua, depois vá em data/talkactions, abra o arquivo talkactions.xml e, entre duas tags, cole esta: <talkaction words="talk" script="talk.lua" />
Edição Jogador
Se você seguiu os passos de instalação do jogador, agora poderá editar algumas configurações. Você tem a opção de editar os sons, porém, não a quantidade. Para fazer isto, abra a pasta songs. Para editar cada um dos sons, você deve substitui-los por um arquivo de mesmo nome e formato.
Edição Hoster
Se você seguiu os passos de instalação do hoster, agora pode e deve editar as configurações.
Para editar as posições onde os sons vão ser reproduzidos, você deve editar dois arquivos: vá em data/globalevents/scripts, e abra o arquivo gbevt.lua. Você irá ver isto:
tabmatch = {
[{{x=130, y=40, z=5}, {x=160, y=60, z=7}}] = "{x=150, y=50, z=7}",
[{{x=161, y=40, z=5}, {x=165, y=80, z=7}}] = "{x=170, y=70, z=7}"
}
Perceba estas duas tabelas: {x=130, y=40, z=5}, {x=160, y=60, z=7} O primeiro x é o número mínimo de posição x que o jogador deve estar para tocar o som referente a posição {x=150, y=50, z=7}. O seguindo x é o número máximo de posição x que ele deve estar para tocar o som. Isso se aplica ao y e o z também. Para adicionar novas posições (até 10), apenas continue seguindo o padrão da tabela, inserindo uma virgula no final de todos index, com exceção do último index. Por exemplo: tabmatch = {
[{{x=130, y=40, z=5}, {x=160, y=60, z=7}}] = "{x=150, y=50, z=7}",
[{{x=161, y=40, z=5}, {x=165, y=80, z=7}}] = "{x=170, y=70, z=7}",
[{{x=166, y=100, z=5}, {x=190, y=190, z=9}}] = "{x=180, y=120, z=7}"
}
Tenha muito cuidado para que duas posições nunca se encontrem, caso aconteça, o sistema irá ser debilitado. Sempre que você editar o gbevt.lua, você deve, também, editar o sender.lua, que se encontra em data/talkactions/scripts. Nele, você também encontrará uma tabela: tab = {
['{x=150, y=50, z=7}'] = 'songs/song1.ogg',
['{x=170, y=70, z=7}'] = 'songs/song2.ogg'
}
Perceba esta tabela: {x=150, y=50, z=7} Esta tabela deverá ser igual a tabela que se encontra depois do sinal de "=" na tabela do arquivo gbevt.lua. Para edita-la, deve continuar o padrão da tabela, inserindo uma virgula no final de todos index, com exceção do último index. Vamos inserir um novo index considerando aquele exemplo usado na explicação do gbevt.lua: tab = {
['{x=150, y=50, z=7}'] = 'songs/song1.ogg',
['{x=170, y=70, z=7}'] = 'songs/song2.ogg',
['{x=180, y=120, z=7}'] = 'songs/song3.ogg'
}
Perceba que o song deve ser seguir a ordem crescente. Não esqueça que o máximo são 10 sons, a menos que o jogador também adicione mais sons na pasta songs. Não esqueça, também, de editar a tag em talkactions.xml: <talkaction words="talk" script="talk.lua" /> Caso deseje, edite onde está escrito talk, por qualquer palavra para que o jogador possa iniciar a conexão. Isso é tudo pessoal, espero que tenham gostado. Não esqueçam de reportar os bugs. Até. Sistema em fase de testes