Será possível o uso de opcodes em servidores sem o código fonte?
Agora é sim com esse novo mod que eu fiz e disponibilizarei à vocês!
Conversação de servidor para client!
Muito fácil de usar e de instalar!
Sem mais delogas, vamos logo ao conteúdo!
1. Crie um arquivo com o nome ModOpcodes.lua na pasta lib do seu servidor;
2. Coloque o seguinte código dentro dele:
-- By Hopus -- function doPlayerSendModOpcode(cid, port, param) doPlayerSendCancel(cid, '#<=>#ModOpcode#<=>#'..port..'#<&>#'..param) end
3. Agora coloque a pasta mod_opcodes na pasta modules de seu client;
4. Abra o arquivo textmessage.lua, localizado na pasta modules/game_textmessage de seu client;
5. Procure esse código:
elseif string.find(text, '12&,') then modules.cdBar.cdBar.toolTipChange(text) return end
6. Adicione, logo abaixo, essa linha:
if text:find('#<=>#ModOpcode#<=>#') then return end
7. Opcodes instalados com sucesso!
Como usar? Simples!
[No servidor]
Basta usar a seguinte função:
doPlayerSendModOpcode(cid, porta, parametro)
- cid: creature id do player;
- porta: número (inteiro) de identificação do opcode;
- parametro: Conteúdo que se deseja passar ao client;
[No client]
A parte do client também é simples, veja as funções disponíveis:
modules.game_opcodes.doConnectFunctionToModOpcode(port, funcao) modules.game_opcodes.doDisconnectFunctionToModOpcode(port, funcao)
A função doConnectFunctionToModOpcode funciona para conectar uma função à receber o conteúdo de uma porta.
A função doDisconnectFunctionToModOpcode funciona para desconectar uma função já conectada em uma porta.
[Exemplo]
- Servidor:
doPlayerSendModOpcode(cid, 80, 'say@Teste de Opcodes by Hopus') --Envia o conteúdo para a porta 80 de opcodes.
- Client
function Say(param) param:exlode('@') if param[1] == 'say' then g_game.talk(param[2]) end end modules.game_opcodes.doConnectFunctionToModOpcode(80, Say) --Conecta a função 'Say' à porta 80
No caso, ao receber o opcode na porta 80, o client acionará a função Say.
O resultado será o player dizendo "Teste de Opcodes by Hopus"
[Obs.: A função a ser conectada deve ter UM PARÂMETRO, seja ele nomeado como quiser.]
Bom, é isso...
Espero que seja de grande utilidade e ajude muita gente!
Abraços e até a próxima!
^^
[Obs.: Seria legal criar uma área no site exclusiva para otclients!]