Extended Opcodes (OtClient)

BananaFight
em Linguagens de Programação

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

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

Slicer

Insanity
avatar
Príncipe
Príncipe

INFOS

Grupo: PríncipeRegistrado: 19/08/10Posts: 4014Gênero: Masculino

mega fail da minha parte ;x

"Só a beira do abismo que os seres humanos acham forças para mudar."... E isso me da nojo... ¬¬

"Insanity is doing the exact... same fucking thing... over and over again expecting... shit to change... That. Is. Crazy." -Vass/Einstein

 

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

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/

rohfagundes

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/02/11Posts: 377

edit: ja entendi

 

kk =X

Subwat

GAUCHO MACHO
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/07/09Posts: 1516Char no Tibia: Gean Riot

fera! bom topico e de muita utilidade :D

Entrem Server online desde o dia 22/02/2013 Monster 24HORAS dedicado!

IP: monster24h.com

PROTOCOL:8.60

PORT:7171

 

RATES:

Exp: 9999x~10x

Skills:800x

Magic:200x

Loot:2x

Pvp-e Advanced: 1.1x Ao matar players de level semelhante.

 

Accounts Pelo Account Manager!

Nu77

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 29/11/07Posts: 496

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

Administrador

xTibia 2017
avatar
Administrador
Administrador

INFOS

Grupo: AdministradorRegistrado: 09/07/05Posts: 5780Gênero: Outro

Adorei, muito bom!

DICA

Utilize botão @UP, no início de seu tópico, para atualizar o destaque de seu tópico em "Tópicos Recentes" na index, fará com que mais pessoas o vejam.

 

 

Kaiser05

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 19/06/12Posts: 174

bem explicado facil de compreender muito bom :))

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

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

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

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.

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

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

LuckOake

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 23/07/12Posts: 1104Gênero: MasculinoChar no Tibia: Luck Oake

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

BananaFight

Allahu Akbar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 14/02/13Posts: 702Gênero: Masculino

Área do otclient please *-*

xS0NYx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 31/07/11Posts: 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

darcioantonio

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/02/17Posts: 8

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 ?