BA

Extended Opcodes (OtClient)

Por BananaFight, 27 de fev. de 2013 em Linguagens de Programação

script
16
9k
BananaFightB
27 de fevereiro de 2013 às 13:17

Extended opcodes

 

Com esses códigos você pode enviar dados do servidor e receber no client e fazer o contrario também, ou seja posso enviar o numero de um storage por exemplo, só saber usar.

 

Desculpem pela minha tentativa de traduzir o que o BeniS postou meio falha.

 

Extended opcodes, é um sistema que permite a adição de novos opcodes no protocolo de jogo usando apenas scripts em lua tanto no Servidor quando no OtClient. Tornando assim mais fácil de implementar novas funcionalidades tanto no otclient quando no servidor. Apenas um código de operação é suportado, no momento, a 0x01, que é enviado pelo cliente informa a linguagem corrente do jogador. Opcodes novos serão adicionados no futuro, incluindo opcodes para reprodução de sons e novas interfaces.

 

versão em Inglês

 

Extended opcodes is a system to allow adding new opcodes to game protocol using just lua scripts in both client and server sides, thus making easy to implement new client/server side features independently of the game cor made in C++. Just one opcode is supported at the moment, the 0x01 which is sent by the client informing the current player language. New opcodes will be added in the future, including opcodes for playing sounds and new interfaces.

 

Vamos ao Código :

 

protocolgame.h

-[Diff] protocolgame.h - Pastebin.com

 

protocolgame.cpp

-[Diff] protocolgame.cpp - Pastebin.com

 

const.h

-[Diff] const.h - Pastebin.com

 

luascript.cpp

-[Diff] luascript.cpp - Pastebin.com

 

player.h

-[Diff] player.h - Pastebin.com

 

creatureevent.h

-[Diff] creatureevent.h - Pastebin.com

 

creatureevent.cpp

-[Diff] creatureevent.cpp - Pastebin.com

 

game.h

-[Diff] game.h - Pastebin.com

 

game.cpp

-[Diff] game.cpp - Pastebin.com

 

/creaturescripts/creaturescrips.xml

-[Diff] creaturescripts.xml - Pastebin.com

 

/creaturescripts/extendedopcode.lua

-[Lua] extendedopcode.lua - Pastebin.com

 

Ou baixe um pach dos arquivos aqui : https://github.com/e...dedopcode.patch

 

Creditos: BeniS e EduBarts

Editado Fevereiro 27 por BananaFight

SlicerS
27 de fevereiro de 2013 às 13:53

mega fail da minha parte ;x

Editado Fevereiro 27 por Slicer

BananaFightB
27 de fevereiro de 2013 às 13:56

Cara, eu postei um tutorial de como compilar '-', vou fazer um novo com imagens T.T

 

@Edit, isso ai é dentro das source do ot server você sabe né ?

 

@Edit como compilar o otclient com imagens http://www.xtibia.com/forum/topic/207691-compilando-ot-client/

Editado Fevereiro 27 por BananaFight

rohfagundesR
28 de fevereiro de 2013 às 09:43

edit: ja entendi

 

kk =X

Editado Fevereiro 28 por rohfagundes

SubwatS
28 de fevereiro de 2013 às 10:15

fera! bom topico e de muita utilidade :D

Nu77N
03 de março de 2013 às 00:46

Bem legal, para a galera que não sabe mexer em C++ agora podera enviar informaçoes do server ao client

2 semanas depois...
AdministradorA
14 de março de 2013 às 20:34

Adorei, muito bom!

Kaiser05K
14 de março de 2013 às 20:39

bem explicado facil de compreender muito bom :))

3 semanas depois...
drakylucasD
31 de março de 2013 às 12:29

uma duvida, ai está perfeitamente como receber dados do client no servidor, mas vc pode explicar como envio os dados do cliente para o servidor?

 

e o contrario também (como fazer, por exemplo, enviar a informação de uma storage para o client atravez de uma talkaction e receber em alguma função no client q mostre em uma janelinha o valor.. ? )

 

ty

LuckOakeL
31 de março de 2013 às 16:48

Cara, esses codes tão dando umas incompatibilidades com o TFS rev 3884. Consegui adaptar a maioria, menos o protocolgame.cpp. Veja o erro:

 

In member function `void ProtocolGame::parseExtendedOpcode(NetworkMessage&)':
'class Player' has no member named 'getId'
[build Error]  [obj//protocolgame.o] Error 1

 

Alguém consegue ajudar?

 

~~ Edit ~~

 

Consegui arrumar. Problema no case sensitive. O certo deveria ser getID, e não getId.

Editado Março 31 por LuckOake

BananaFightB
31 de março de 2013 às 20:47

Luck, você poderia postar suas adaptações para ajudar o pessoal ?

LuckOakeL
31 de março de 2013 às 22:25

Crio um tópico lá na seçao do OTClient ou posto aqui mesmo?

BananaFightB
31 de março de 2013 às 23:17

Área do otclient please *-*

4 meses depois...
xS0NYxX
19 de julho de 2013 às 11:59

Aqui não ta funfando banana, meu tfs é 0.3.6 virgem, nem editei.. não esta igual ao do pastebin não, na hora adicionar as coisas não sei fazer pq esta diferente de lá :/

 

-------------------

 

RESOLVIDO

Editado Julho 19 por xS0NYx

4 anos depois...
10 de fevereiro de 2018 às 04:06

Serio como instala isso e so copiar o codigo e colocar dentro na ultima linha do source de cada um ?

Ou o que esta e verde que é o que se adiciona ?