NO

duvida otclient ultrapassar 255 effect

Por notle2012, 20 de jun. de 2015 em Clients

otclient
duvida
effect
otserv
7
3.8k
notle2012N
20 de junho de 2015 às 23:00

bom tava olhando source do otclient se achava algo a ver com Magic Effect

achei 3 parte da source que tem algo a ver com Magic Effect

que é

em

protocolgameparse.cpp

thingtypemanager.cpp

tile.h

 

porém

thingtypemanager.cpp

tile.h

 

tem algo a ver com MAGICFIELD

 

sobrando apenas

protocolgameparse.cpp

 

agora procurei la algo a ver com uint8_t

para mudar para uint16_t

http://www.cplusplus.com/reference/cstdint/

 

achei isso

int effectId;
if(g_game.getFeature(Otc::GameMagicEffectU16))
effectId = msg->getU16();
else
effectId = msg->getU8();

em filestream.h

achei isso

    uint8 getU8();
    uint16 getU16();
    uint32 getU32();
    uint64 getU64();
    int8 get8();
    int16 get16();
    int32 get32();
    int64 get64();

ai eu editei protocolgameparse.cpp

fico assim

int effectId;
effectId = msg->getU16();

minha duvida é se tem que editar mais algum lugar pq não pega meu amigo disse que já edito source do otserver

do otclient ele tbm não sabe

AberosA
21 de junho de 2015 às 00:35

a questao de limite de efects nao envolve so o client mas o server tbm, pois nao adianta nada vc ter capacidade de receber um byte u16 sendo q o server so envia u8

 

no client e so vc por no module game_things no thins.lua

 

 g_game.enableFeature(GameMagicEffectU16)

 

porem vc prescisa editar o codigo de fonte do seu server para ele poder enviar u16

Editado Junho 21 por Aberos

notle2012N
21 de junho de 2015 às 01:25

@Aberos

na parte do otclient precisa editar nada nas source não?

só adicionar em modules\game_things\thins.lua

 

bom um amigo meu que queria saber pq ele disse q editou otserver dele

nas source já ele pediu pra mim da uma olhada nas source dtclient

mais eu não entendo muito de c++

StrogmanS
21 de junho de 2015 às 08:35

@Aberos

na parte do otclient precisa editar nada nas source não?

só adicionar em modules\game_things\thins.lua

 

bom um amigo meu que queria saber pq ele disse q editou otserver dele

nas source já ele pediu pra mim da uma olhada nas source dtclient

mais eu não entendo muito de c++

 

Não, não precisa modificar a source do otclient, só basta fazer oque o aberos falou.

AberosA
21 de junho de 2015 às 12:56

@Aberos

na parte do otclient precisa editar nada nas source não?

só adicionar em modules\game_things\thins.lua

 

bom um amigo meu que queria saber pq ele disse q editou otserver dele

nas source já ele pediu pra mim da uma olhada nas source dtclient

mais eu não entendo muito de c++

 

se vc quiser ao inves dempor no lua vc pode por nas source do otclient direto mas da na mesma coisa

 

nas source vc vai em game.cpp , depois vc procura por :

(no meu caso o server e 854)

 

	
		
			
				if(version >= 854) {
			
				enableFeature(Otc::GameCreatureEmblems);
			
				}
		
	

 

e substitui por

 

    if(version >= 854) {
        enableFeature(Otc::GameCreatureEmblems);
        enableFeature(Otc::GameMagicEffectU16);
    }
valakasV
21 de junho de 2015 às 14:18

se tem que mecher nas source do servidor e no otc para enviar e receber u16 server enviar u16 e otc receber u16 algo assim :v

notle2012N
22 de junho de 2015 às 01:58

meu amigo passou source do otserver pra mim da uma olhada

problema tava la

agora ta uint16_t

resolvido