Passando Um Otserv 7.8/7.81 Para 7.83

Por Héliton, 10 de dez. de 2006 em Tutoriais de Programação

otserv
20
6.3k
HélitonH
10 de dezembro de 2006 às 00:48

Não é tão difícil não. :p

otserv.cpp

Modifique:

 

if(version <= 760){

Para:

 

if(version <= 782){

Modifique:

 

msg.AddString("Only clients with protocol 7.8x allowed!");

Para:

 

msg.AddString("Only clients with protocol 7.83 allowed!");

Modifique:

 

if(version >= 780 && version <= 782){

Para:

 

if(version == 783){

Modifique:

 

msg.AddString("Only clients with protocol 7.8x allowed!");

Para:

 

msg.AddString("Only clients with protocol 7.83 allowed!");

Modifique:

 

if(version < 780 || version > 782){

Para:

 

if(version < 782){

Modifique:

 

msg.AddString("Only clients with protocol 7.8x allowed!");

Para:

 

msg.AddString("Only clients with protocol 7.83 allowed!");

Essa parte do otserv.cpp foi feita por mim, mas já foi liberada no OTFans.net.

A partir de agora não fui eu quem fiz os codes, vou colocando os créditos de quem fez.

player.cpp

No final da função "void Player::die()", adicione:

 

if(!inventory[sLOT_BACKPACK]){    __internalAddThing(SLOT_BACKPACK, Item::CreateItem(1987));}

Com este code quando um player morrer ele irá receber uma bag no lugar da backpack.

Código criado por K-Zodron.

protocol78.cpp

Na função "void Protocol78::ParseRequestOutfit(NetworkMessage& msg)", depois de:

 

msg.AddU16((*it)->looktype);

Adicione:

 

msg.AddString((*it)->name);

outfit.h

Depois de:

 

uint32_t addons;

Adicione:

 

std::string name;

outfit.cpp

Depois de:

 

new_outfit->looktype = outfit.looktype;

Adicione:

 

new_outfit->name = outfit.name;

Depois de:

 

for(int i = PLAYER_FEMALE_1; i <= PLAYER_FEMALE_7; i++){        outfit.looktype = i;

Adicione:

 

outfit.name = "";

Depois de:

 

for(int i = PLAYER_MALE_1; i <= PLAYER_MALE_7; i++){        outfit.looktype = i;

Adicione:

 

outfit.name = "";

Em "bool Outfits::loadFromXml(const std::string& datadir)", depois de:

 

int intVal;

Adicione:

 

std::string strValue;

Depois de:

 

if(readXMLInteger(p, "addons", intVal)){                            outfit.addons = intVal;                        }

Adicione:

 

if(readXMLString(p, "name", strValue)){                            outfit.name = strValue;                            std::cout << "\n::         outfit: " << strValue;                         }

Examplo de como vai ficar o outfits.xml:

 

<outfit type="0" looktype="136" addons="3" name="Citizen"/>

 

Com este código o nome do seu outfit aparecerá na caixa de outfits. Código por Tijn, Subarmy e Gecko.

player.cpp

Na função "void Player::die()", depois de:

 

sendTextMessage(MSG_EVENT_ADVANCE, "You are dead.");

Adicione:

 

NetworkMessage msg;    msg.AddByte(0x28);    client->WriteBuffer(msg);

Com este código você verá a telinha de relogin depois da morte. Código criado por Gecko.

Existem outros códigos, que não adicionei ainda porque não estão prontos e/ou possuem bugs.

Editado Dezembro 10 por Héliton

BaracsB
10 de dezembro de 2006 às 01:25

Heliton sempre a frente!

\õ/

Ótimo trabalho.

Eu errei meu voto no esquema do MAP EDITOR 7.9.

Acho que deve liberar mesmo.

xD

Atenciosamente,

GM Baracs

10 de dezembro de 2006 às 02:15

Não vejo a hora de sair o update novo pra testar isso =x

IeL-SharkI
10 de dezembro de 2006 às 12:46

Olá,

@Héliton

Primeiramente, obrigado por esse maravilhoso código! ;P

Mais... desculpe pela noobencia, aonde fica estes arquivos?

Please my brother, helps me, therefore noob, I am I myself...

Pode me ajuda...?

//Obrigado

Flw.Vlw!

10 de dezembro de 2006 às 12:54

Não entendi bem esse códigos, mas vou tentar colocar

lithiumL
10 de dezembro de 2006 às 14:49

@up

isso são codes de c++ você deve mudar esses codes no server se você tiver as sources :p

KesleyK
10 de dezembro de 2006 às 15:14

@IeL-Shark

Esses Códigos ficam nas Sources do seu OT...voce tem que compilar elas...

Porém, alguns Ot's vem SEM AS SOURCES e ai voce NAO tem esses itens ai =]

@Tópico

Muitooooo Bommmm...Héliton sempre a frente de todos trazendo as Novidades ^^

//KeSs

MarokM
10 de dezembro de 2006 às 16:19

Opa o lek já ta avançado ein, valeu pelo tutorial amigo

tibiaa4eT
10 de dezembro de 2006 às 19:41

mto bom

estou baixando um novo dev cpp

e adicionarei eles :D

flws :bye:

Conde do Monte CristoC
10 de dezembro de 2006 às 20:24

jÁ SABIA DISSO, mAS MEUS APRABÉNS EM LIBERAR PRA O Povo que Não sABIA!

tibiaa4eT
10 de dezembro de 2006 às 20:30

num seis e foi meu erro

+ qdo o char morre naum ganha a bag e nem reloga qdo aparece a msg lá

da debug qdo vai trocar de roupa msm add os nomes no outfit.xml

flws :bye:

procopioP
11 de dezembro de 2006 às 10:59

Eu keria saber como eu faço pra converter um ot de 7.8 pra 7.81 .... ?Eh possivel vc me ensinar isso pelo msn...? naum necessariamente vc mais alguem q saiba...

POR FAVOR MTO RAPIDO PLX....

KERIA TER UM MAPA SADSOUL [do sadteam] NA VERSAUM 7.81 ALGUEM ME AJUDA? VOU HOSTIA NO PC DO MEU PAI <do escritorio>

[*] CONFIGURAÇÕES DO PC [*]

*120 HD*

*1024 MB de memoria*

*Pentium 4*

[*] CONFIGURAÇÕES DA NET [*]

*Virtua 8MG*

[*]~MEU OBJETIVO~[*]

*Ter um ot 24 hrs on ... Lotado .... Com poucos debugs...Se necessario e possivel posso almentar a velocidade da internet ou algumas configurações internas do PC ... <> PRA ISSO GOSTARIA DE SABER SE ALGUEM TEM UM SADSOUL 7.81 ... OU SE ALGUEM CONSEGUE ME FAZER UM MAPA BEM LEGAL PRA EU HOSTIA 7.81... eu dou GM ...

~~ KEM PODER ME ENSINAR OU PASSAR TUDO FASSA PELO MSN POR FAVOR~~

< XxXjoraXxX@hotmail.com >

:bye:

Editado Dezembro 11 por procopio

HélitonH
11 de dezembro de 2006 às 13:21

tibiaa4e,

Deu rebuild all?

brenousB
15 de dezembro de 2006 às 13:43

Búúaaa...no meu n funciono...sabe o evolutions...tentei faze isso com ele e naum deu...tem como??faz alguem pra mim q eu já tentei varias vezes e n funfaaa!!!!eh só me add MSN e manda dai q eu pego...vlw...

breno_mac@hotmail.com

tibiaa4eT
15 de dezembro de 2006 às 15:01

vou recompilar :p

da para fazer o script para fazer ele 7.9 ?

flws :bye:

Editado Dezembro 15 por tibiaa4e