Jump to content
Close
Breno Neves

Programação Tutorial 2 em 1 - Magic e Shoot Effects

Recommended Posts

 

Em 20/11/2016 ás 22:03, KotZletY disse:

Bom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão!

  Abaixo umas informações essenciais ! 

Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância.  Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. 

 

Vamos começar primeiramente com os Magic Effects:

  Ocultar conteúdo

Em protocolgame.cpp 



procure por:
void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type) 

mude para:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)


procure por:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint8_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<char>(type + 1);
} 

mude para:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint16_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint8_t type);

mude para:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint16_t type);
 
procure por
void sendMagicEffect(const Position& pos, uint8_t type);

mude para:
void sendMagicEffect(const Position& pos, uint16_t type);

 

Em game.cpp



procure por:
void Game::addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode/* = false*/)
  
mude para:
void Game::addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode/* = false*/)

procure por:
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect,
                          
mude para: 
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect,

 

Em game.h 



procure por:
void addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode = false);

procure por:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect, bool ghostMode = false);

 

Em player.h



procure por:
void sendMagicEffect(const Position& pos, uint8_t type) const
  
mude para:
void sendMagicEffect(const Position& pos, uint16_t type) const

 

 

Um detalhe importante nessa parte pra não fazer você perde tempo em 1 em 1 efeito.

Em outros tópicos, pedem que você adicione em 1 em 1 efeito, perda de tempo, pois você pode adicionar um em limite. Observe:

Em const.h



logo no começo terá:
enum MagicEffect_t

adicione depois do ultimo efeito:
MAGIC_EFFECT_SEMFIM        = 0xFFFE, //65534

e em MAGIC_EFFECT_LAST você adicione o efeito adicionado ficando assim:
MAGIC_EFFECT_LAST        = MAGIC_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

Em tools.cpp



procure por:
MagicEffectNames magicEffectNames[] =

e no antes de finalizar a função adicione:
{"semfim",        MAGIC_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgula ficando assim, por exemplo: 

	{"dragonhead",	MAGIC_EFFECT_DRAGONHEAD},
	{"semfim",        MAGIC_EFFECT_SEMFIM}

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ME_NONE adicione 
CONST_ME_SEMFIM = 65534
 
 e em CONST_ME_NONE mude para:
 
CONST_ME_NONE = 65534

e CONST_ME_LAST mude para 
CONST_ME_LAST = CONST_ME_SEMFIM

 

 

 

 

Agora vamos mudar o ShootEffects para uint16.

  Mostrar conteúdo oculto

Em Protocolgame.cpp 



procure por:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint8_t type)
  
mude para:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint16_t type)


procure por
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint8_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<char>(type + 1);
}


mude para:
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint16_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint8_t type);

mude para:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint16_t type);


procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type);

mude para: 
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type);

 

Em game.cpp



procure por:
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect)
  
mude para
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect)

procure por:
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint8_t effect)
	
mude para:	
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint16_t effect)

 

Em game.h 



procure por:
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint8_t effect);

mude para;
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint16_t effect);
		
		
procure por:
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect);


mude para;
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect);

 

 

Em player.h



procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type) const
  
mude para:
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type) const

 

 

Em const.h



procure por:
enum ShootEffect_t

e depois do ultimo efeito adicione:
	SHOOT_EFFECT_SEMFIM        = 0xFFFE, //65534

e em SHOOT_EFFECT_LAST
mude adione SHOOT_EFFECT_SEMFIM,

ficando assim

SHOOT_EFFECT_LAST        = SHOOT_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os distance efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

 

Em tools.cpp



procure por:
ShootTypeNames shootTypeNames[] =
  
no final da função antes da ultima chave };
adicione
{"semfim",		SHOOT_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgual ficando assim: 

	{"cake",		SHOOT_EFFECT_CAKE},
	{"semfim",		SHOOT_EFFECT_SEMFIM}  

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ANI_WEAPONTYPE adicione:
CONST_ANI_SEMFIM = 65534

em CONST_ANI_NONE mude para:
CONST_ANI_NONE = 65534

em CONST_ANI_LAST deixei assim:
CONST_ANI_LAST = CONST_ANI_SEMFIM

 

 

 

Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect.

 

 

Mudando os Efeitos de uint8 a 16 para Magic Effects

Mudando os Efeitos de uint8 a 16 para Shoot Effects(Ainda estou fazendo)

 

Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar.

 

Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! 

 

xD

 

 

 

Mano, se eu mudar o shootEffects para uint16, mesmo eu não tendo o cliente que não está editado para isso ae, pode fazer essa alteração que não ocorrera nenhum erro


Share this post


Link to post
Share on other sites

Não, mais só irá funcionar se tiver uint16 no Client, que irei postar ainda! 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites
26 minutos atrás, KotZletY disse:

Não, mais só irá funcionar se tiver uint16 no Client, que irei postar ainda! 

Entendi, obrigado ae


Share this post


Link to post
Share on other sites

Parabéns cara, gostei do seu tutorial, quando vc fizer esse tutorial ai pra mudar o shoot effects no oldclient 8.54, vou fazer no meu, já fiz o dos effects, e se n for pedir muito, já que vc tem conhecimento em oldclient kk, poderia fazer um tutorial ensinando a deixar o oldclient com transparency ? se precisar de um client que contenha isso, pega o do psoul, é oldclient, e nele tem transparency e extended, se vc n conseguir fazer o download, eu posso te mandar


Share this post


Link to post
Share on other sites
30 minutos atrás, zangoosedoido disse:

Parabéns cara, gostei do seu tutorial, quando vc fizer esse tutorial ai pra mudar o shoot effects no oldclient 8.54, vou fazer no meu, já fiz o dos effects, e se n for pedir muito, já que vc tem conhecimento em oldclient kk, poderia fazer um tutorial ensinando a deixar o oldclient com transparency ? se precisar de um client que contenha isso, pega o do psoul, é oldclient, e nele tem transparency e extended, se vc n conseguir fazer o download, eu posso te mandar

Eu já fiz o Tutorial do Shoot, só que eu não postei as prints e o Tópico kkkkk, meu Nto ficou on e então a correria ta em alta!

 

Obrigado pelo comentário! xD



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites
3 horas atrás, KotZletY disse:

Eu já fiz o Tutorial do Shoot, só que eu não postei as prints e o Tópico kkkkk, meu Nto ficou on e então a correria ta em alta!

 

Obrigado pelo comentário! xD

entendo kk, tou quase deixando o meu tbm on, estou aguardando ansiosamente para o tutorial kk, e como falei a cima, se quiser fazer um tutorial ensinando a deixar o oldclient com transparency, posso ajudar kkk


Share this post


Link to post
Share on other sites

Deu esses erros aqui na hora de compilar:

 

Citar

Executing  make...
make.exe -f "C:\Users\Bruno\Desktop\OT\Source DboRox\dev-cpp\Makefile.win" all
g++.exe -c ../game.cpp -o obj//game.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocolgame.cpp -o obj//protocolgame.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../tools.cpp -o obj//tools.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
windres.exe -i theforgottenserver_private.rc --input-format=rc -o obj//theforgottenserver_private.res -O coff
g++.exe obj//actions.o obj//admin.o obj//allocator.o obj//baseevents.o obj//beds.o obj//chat.o obj//combat.o obj//condition.o obj//configmanager.o obj//connection.o obj//container.o obj//creature.o obj//creatureevent.o obj//cylinder.o obj//database.o obj//databasemanager.o obj//databasemysql.o obj//databasesqlite.o obj//depot.o obj//dispatcher.o obj//exception.o obj//fileloader.o obj//game.o obj//gameservers.o obj//globalevent.o obj//group.o obj//house.o obj//housetile.o obj//ioban.o obj//ioguild.o obj//iologindata.o obj//iomap.o obj//iomapserialize.o obj//item.o obj//itemattributes.o obj//items.o obj//luascript.o obj//mailbox.o obj//manager.o obj//map.o obj//monster.o obj//monsters.o obj//movement.o obj//networkmessage.o obj//npc.o obj//otserv.o obj//outfit.o obj//outputmessage.o obj//party.o obj//player.o obj//position.o obj//protocol.o obj//protocolgame.o obj//protocolhttp.o obj//protocollogin.o obj//protocolold.o obj//quests.o obj//raids.o obj//rsa.o obj//scheduler.o obj//scriptmanager.o obj//server.o obj//spawn.o obj//spells.o obj//status.o obj//talkaction.o obj//teleport.o obj//textlogger.o obj//thing.o obj//tile.o obj//tools.o obj//trashholder.o obj//vocation.o obj//waitlist.o obj//weapons.o obj//theforgottenserver_private.res -o "TheForgottenServer.exe" -L"lib" -O1 -lboost_system -lgmp -llua5.1 -lmysql -lboost_regex -lsqlite3 -lwsock32 -lxml2 -lmysql -lws2_32 -s -lboost_filesystem -lboost_thread -lz -leay32 -Wl,--large-address-aware  
obj//beds.o:beds.cpp:(.text+0x12ed): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//beds.o:beds.cpp:(.text+0x154a): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x2ebd): undefined reference to `Game::addMagicEffect(std::list<Creature*, std::allocator<Creature*> > const&, Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x3065): undefined reference to `Game::addDistanceEffect(Position const&, Position const&, unsigned char)'
obj//combat.o:combat.cpp:(.text+0x3ad6): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x3d54): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x3ffe): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x4264): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//combat.o:combat.cpp:(.text+0x450c): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//house.o:house.cpp:(.text+0x4152): more undefined references to `Game::addMagicEffect(Position const&, unsigned char, bool)' follow
obj//luascript.o:luascript.cpp:(.text+0x23b59): undefined reference to `Game::addMagicEffect(std::list<Creature*, std::allocator<Creature*> > const&, Position const&, unsigned char, bool)'
obj//luascript.o:luascript.cpp:(.text+0x23b8b): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//luascript.o:luascript.cpp:(.text+0x23e74): undefined reference to `Game::addDistanceEffect(std::list<Creature*, std::allocator<Creature*> > const&, Position const&, Position const&, unsigned char)'
obj//luascript.o:luascript.cpp:(.text+0x23ea5): undefined reference to `Game::addDistanceEffect(Position const&, Position const&, unsigned char)'
obj//luascript.o:luascript.cpp:(.text+0x3b826): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//monster.o:monster.cpp:(.text+0x21cf): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//monster.o:monster.cpp:(.text+0x2214): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//monster.o:monster.cpp:(.text+0x435e): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//monster.o:monster.cpp:(.text+0x4d2c): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//monster.o:monster.cpp:(.text+0x51bf): more undefined references to `Game::addMagicEffect(Position const&, unsigned char, bool)' follow
obj//talkaction.o:talkaction.cpp:(.text+0x1f4b8): undefined reference to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)'
obj//talkaction.o:talkaction.cpp:(.text+0x1f52c): undefined reference to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)'
obj//talkaction.o:talkaction.cpp:(.text+0x1f785): undefined reference to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)'
obj//talkaction.o:talkaction.cpp:(.text+0x1f811): undefined reference to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)'
obj//talkaction.o:talkaction.cpp:(.text+0x1fa46): undefined reference to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)'
obj//talkaction.o:talkaction.cpp:(.text+0x1fad2): more undefined references to `ProtocolGame::sendMagicEffect(Position const&, unsigned char)' follow
obj//teleport.o:teleport.cpp:(.text+0x2ae): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//teleport.o:teleport.cpp:(.text+0x34a): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//teleport.o:teleport.cpp:(.text+0x3c3): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//teleport.o:teleport.cpp:(.text+0x47f): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//trashholder.o:trashholder.cpp:(.text+0x222): undefined reference to `Game::addMagicEffect(Position const&, unsigned char, bool)'
obj//weapons.o:weapons.cpp:(.text+0x3fb9): more undefined references to `Game::addMagicEffect(Position const&, unsigned char, bool)' follow
make.exe: *** [TheForgottenServer.exe] Error 1
Execution terminated


Share this post


Link to post
Share on other sites

@Duality você esqueceu de mudar alguma coisa para uint16, o propio erro está apontando isso, refaça os passos com mais atenção! 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites

cara refiz 3 vezes seguindo a ordem e continuano mesmo erro, não tenho alterar para unit16 em outros arquivos?

 


Share this post


Link to post
Share on other sites

Não, algo você está fazendo errado, o que você está tentando alterar ? Efeitos ou Efeitos a Distância(Shoot Effect) ?

Lembrou de apagar tudo dentro da pastar obj antes de cada compilação para não gerá conflito ? 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites

@KotZletY Vamos lá, consegui aumentar o limite dos effects de ambos, da magia e dos shoot, queria agradecer bastante pelo suporte que você me deu, Obrigadão de verdade.

 

Como eu fiz, deletei tudo da pasta obj como você falou, não imaginava que ela interferia na compilação, não vi em nenhum post ensinando a compilar falando pra deletar tudo da pasta obj.

 

Eu procurei dentro das sources as coisas que o tutorial mandava e mudei só de uint_8 para uint_16 deixando o resto sem mexer.

 

Na hora de compilar ele deu certo, compilei e funcionou mais apareceu algumas coisas:

 

No Compiler:

 

Citar

 C:\Users\Bruno\Desktop\OT\Source DboRox\player.cpp In member function `virtual bool Player::onDeath()': 

2308 C:\Users\Bruno\Desktop\OT\Source DboRox\player.cpp [Warning] division by zero in `(#`float_expr' not supported by dump_expr#<expression error> * percent) / 0.' 

2332 C:\Users\Bruno\Desktop\OT\Source DboRox\player.cpp [Warning] division by zero in `(#`float_expr' not supported by dump_expr#<expression error> * percent) / 0.' 

 

 

Compile Log:

 

Citar

Compiler: Default compiler
Building Makefile: "C:\Users\Bruno\Desktop\OT\Source DboRox\dev-cpp\Makefile.win"
Executing  make...
make.exe -f "C:\Users\Bruno\Desktop\OT\Source DboRox\dev-cpp\Makefile.win" all
g++.exe -c ../actions.cpp -o obj//actions.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../admin.cpp -o obj//admin.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../allocator.cpp -o obj//allocator.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../baseevents.cpp -o obj//baseevents.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../beds.cpp -o obj//beds.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../chat.cpp -o obj//chat.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../combat.cpp -o obj//combat.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../condition.cpp -o obj//condition.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../configmanager.cpp -o obj//configmanager.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../connection.cpp -o obj//connection.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../container.cpp -o obj//container.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../creature.cpp -o obj//creature.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../creatureevent.cpp -o obj//creatureevent.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../cylinder.cpp -o obj//cylinder.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../database.cpp -o obj//database.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../databasemanager.cpp -o obj//databasemanager.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../databasemysql.cpp -o obj//databasemysql.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../databasesqlite.cpp -o obj//databasesqlite.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../depot.cpp -o obj//depot.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../dispatcher.cpp -o obj//dispatcher.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../exception.cpp -o obj//exception.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../fileloader.cpp -o obj//fileloader.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../game.cpp -o obj//game.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../gameservers.cpp -o obj//gameservers.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../globalevent.cpp -o obj//globalevent.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../group.cpp -o obj//group.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../house.cpp -o obj//house.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../housetile.cpp -o obj//housetile.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../ioban.cpp -o obj//ioban.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../ioguild.cpp -o obj//ioguild.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../iologindata.cpp -o obj//iologindata.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../iomap.cpp -o obj//iomap.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../iomapserialize.cpp -o obj//iomapserialize.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../item.cpp -o obj//item.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../itemattributes.cpp -o obj//itemattributes.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../items.cpp -o obj//items.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../luascript.cpp -o obj//luascript.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../mailbox.cpp -o obj//mailbox.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../manager.cpp -o obj//manager.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../map.cpp -o obj//map.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../monster.cpp -o obj//monster.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../monsters.cpp -o obj//monsters.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../movement.cpp -o obj//movement.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../networkmessage.cpp -o obj//networkmessage.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../npc.cpp -o obj//npc.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../otserv.cpp -o obj//otserv.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../outfit.cpp -o obj//outfit.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../outputmessage.cpp -o obj//outputmessage.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../party.cpp -o obj//party.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../player.cpp -o obj//player.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
../player.cpp: In member function `virtual bool Player::onDeath()':
../player.cpp:2308: warning: division by zero in `(#`float_expr' not supported by dump_expr#<expression error> * percent) / 0.'
../player.cpp:2332: warning: division by zero in `(#`float_expr' not supported by dump_expr#<expression error> * percent) / 0.'
g++.exe -c ../position.cpp -o obj//position.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocol.cpp -o obj//protocol.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocolgame.cpp -o obj//protocolgame.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocolhttp.cpp -o obj//protocolhttp.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocollogin.cpp -o obj//protocollogin.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../protocolold.cpp -o obj//protocolold.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../quests.cpp -o obj//quests.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../raids.cpp -o obj//raids.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../rsa.cpp -o obj//rsa.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../scheduler.cpp -o obj//scheduler.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../scriptmanager.cpp -o obj//scriptmanager.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../server.cpp -o obj//server.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../spawn.cpp -o obj//spawn.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../spells.cpp -o obj//spells.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../status.cpp -o obj//status.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../talkaction.cpp -o obj//talkaction.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../teleport.cpp -o obj//teleport.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../textlogger.cpp -o obj//textlogger.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../thing.cpp -o obj//thing.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../tile.cpp -o obj//tile.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../tools.cpp -o obj//tools.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../trashholder.cpp -o obj//trashholder.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../vocation.cpp -o obj//vocation.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../waitlist.cpp -o obj//waitlist.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
g++.exe -c ../weapons.cpp -o obj//weapons.o -I"include"  -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D_CONSOLE_   -fexpensive-optimizations -O1
windres.exe -i theforgottenserver_private.rc --input-format=rc -o obj//theforgottenserver_private.res -O coff
g++.exe obj//actions.o obj//admin.o obj//allocator.o obj//baseevents.o obj//beds.o obj//chat.o obj//combat.o obj//condition.o obj//configmanager.o obj//connection.o obj//container.o obj//creature.o obj//creatureevent.o obj//cylinder.o obj//database.o obj//databasemanager.o obj//databasemysql.o obj//databasesqlite.o obj//depot.o obj//dispatcher.o obj//exception.o obj//fileloader.o obj//game.o obj//gameservers.o obj//globalevent.o obj//group.o obj//house.o obj//housetile.o obj//ioban.o obj//ioguild.o obj//iologindata.o obj//iomap.o obj//iomapserialize.o obj//item.o obj//itemattributes.o obj//items.o obj//luascript.o obj//mailbox.o obj//manager.o obj//map.o obj//monster.o obj//monsters.o obj//movement.o obj//networkmessage.o obj//npc.o obj//otserv.o obj//outfit.o obj//outputmessage.o obj//party.o obj//player.o obj//position.o obj//protocol.o obj//protocolgame.o obj//protocolhttp.o obj//protocollogin.o obj//protocolold.o obj//quests.o obj//raids.o obj//rsa.o obj//scheduler.o obj//scriptmanager.o obj//server.o obj//spawn.o obj//spells.o obj//status.o obj//talkaction.o obj//teleport.o obj//textlogger.o obj//thing.o obj//tile.o obj//tools.o obj//trashholder.o obj//vocation.o obj//waitlist.o obj//weapons.o obj//theforgottenserver_private.res -o "TheForgottenServer.exe" -L"lib" -O1 -lboost_system -lgmp -llua5.1 -lmysql -lboost_regex -lsqlite3 -lwsock32 -lxml2 -lmysql -lws2_32 -s -lboost_filesystem -lboost_thread -lz -leay32 -Wl,--large-address-aware  
Execution terminated
Compilation successful
 

 

 

tem algum problema? ou está tudo certo? Obrigado novamente


Edited by Duality (see edit history)

Share this post


Link to post
Share on other sites

@Duality bom, que bom que conseguiu, agora basta mudar no client, e tentar conseguir usar todos os 65 mil slot de effects disponíveis. kkkkk

Bom, cara, não sou programador(não ainda), o erro em si é na função onDeath(), então cria um tópico na seção de suporte de programação para tentar arrumar uma solução, afinal não tem nada haver com o tópico, ou com erros que o tópico pode causar.

 

Mude no client, seguindo os meus tutoriais com atenção e seu server terá efeitos até dizer chega! xD

Good Lucky com o erro! 

 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites
Em 20/11/2016 ás 22:03, KotZletY disse:

Bom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão!

  Abaixo umas informações essenciais ! 

Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância.  Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. 

 

Vamos começar primeiramente com os Magic Effects:

  Ocultar conteúdo

Em protocolgame.cpp 



procure por:
void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type) 

mude para:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)


procure por:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint8_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<char>(type + 1);
} 

mude para:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint16_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint8_t type);

mude para:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint16_t type);
 
procure por
void sendMagicEffect(const Position& pos, uint8_t type);

mude para:
void sendMagicEffect(const Position& pos, uint16_t type);

 

Em game.cpp



procure por:
void Game::addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode/* = false*/)
  
mude para:
void Game::addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode/* = false*/)

procure por:
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect,
                          
mude para: 
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect,

 

Em game.h 



procure por:
void addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode = false);

procure por:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect, bool ghostMode = false);

 

Em player.h



procure por:
void sendMagicEffect(const Position& pos, uint8_t type) const
  
mude para:
void sendMagicEffect(const Position& pos, uint16_t type) const

 

 

Um detalhe importante nessa parte pra não fazer você perde tempo em 1 em 1 efeito.

Em outros tópicos, pedem que você adicione em 1 em 1 efeito, perda de tempo, pois você pode adicionar um em limite. Observe:

Em const.h



logo no começo terá:
enum MagicEffect_t

adicione depois do ultimo efeito:
MAGIC_EFFECT_SEMFIM        = 0xFFFE, //65534

e em MAGIC_EFFECT_LAST você adicione o efeito adicionado ficando assim:
MAGIC_EFFECT_LAST        = MAGIC_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

Em tools.cpp



procure por:
MagicEffectNames magicEffectNames[] =

e no antes de finalizar a função adicione:
{"semfim",        MAGIC_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgula ficando assim, por exemplo: 

	{"dragonhead",	MAGIC_EFFECT_DRAGONHEAD},
	{"semfim",        MAGIC_EFFECT_SEMFIM}

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ME_NONE adicione 
CONST_ME_SEMFIM = 65534
 
 e em CONST_ME_NONE mude para:
 
CONST_ME_NONE = 65534

e CONST_ME_LAST mude para 
CONST_ME_LAST = CONST_ME_SEMFIM

 

 

 

 

Agora vamos mudar o ShootEffects para uint16.

  Ocultar conteúdo

Em Protocolgame.cpp 



procure por:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint8_t type)
  
mude para:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint16_t type)


procure por
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint8_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<char>(type + 1);
}


mude para:
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint16_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint8_t type);

mude para:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint16_t type);


procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type);

mude para: 
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type);

 

Em game.cpp



procure por:
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect)
  
mude para
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect)

procure por:
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint8_t effect)
	
mude para:	
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint16_t effect)

 

Em game.h 



procure por:
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint8_t effect);

mude para;
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint16_t effect);
		
		
procure por:
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect);


mude para;
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect);

 

 

Em player.h



procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type) const
  
mude para:
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type) const

 

 

Em const.h



procure por:
enum ShootEffect_t

e depois do ultimo efeito adicione:
	SHOOT_EFFECT_SEMFIM        = 0xFFFE, //65534

e em SHOOT_EFFECT_LAST
mude adione SHOOT_EFFECT_SEMFIM,

ficando assim

SHOOT_EFFECT_LAST        = SHOOT_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os distance efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

 

Em tools.cpp



procure por:
ShootTypeNames shootTypeNames[] =
  
no final da função antes da ultima chave };
adicione
{"semfim",		SHOOT_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgual ficando assim: 

	{"cake",		SHOOT_EFFECT_CAKE},
	{"semfim",		SHOOT_EFFECT_SEMFIM}  

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ANI_WEAPONTYPE adicione:
CONST_ANI_SEMFIM = 65534

em CONST_ANI_NONE mude para:
CONST_ANI_NONE = 65534

em CONST_ANI_LAST deixei assim:
CONST_ANI_LAST = CONST_ANI_SEMFIM

 

 

 

Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect.

 

 

Mudando os Efeitos de uint8 a 16 para Magic Effects

Mudando os Efeitos de uint8 a 16 para Shoot Effects

 

Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar.

 

Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! 

 

xD

 

Em 20/11/2016 ás 22:03, KotZletY disse:

Bom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão!

  Abaixo umas informações essenciais ! 

Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância.  Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. 

 

Vamos começar primeiramente com os Magic Effects:

  Ocultar conteúdo

Em protocolgame.cpp 



procure por:
void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type) 

mude para:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)


procure por:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint8_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<char>(type + 1);
} 

mude para:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint16_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint8_t type);

mude para:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint16_t type);
 
procure por
void sendMagicEffect(const Position& pos, uint8_t type);

mude para:
void sendMagicEffect(const Position& pos, uint16_t type);

 

Em game.cpp



procure por:
void Game::addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode/* = false*/)
  
mude para:
void Game::addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode/* = false*/)

procure por:
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect,
                          
mude para: 
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect,

 

Em game.h 



procure por:
void addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode = false);

procure por:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect, bool ghostMode = false);

 

Em player.h



procure por:
void sendMagicEffect(const Position& pos, uint8_t type) const
  
mude para:
void sendMagicEffect(const Position& pos, uint16_t type) const

 

 

Um detalhe importante nessa parte pra não fazer você perde tempo em 1 em 1 efeito.

Em outros tópicos, pedem que você adicione em 1 em 1 efeito, perda de tempo, pois você pode adicionar um em limite. Observe:

Em const.h



logo no começo terá:
enum MagicEffect_t

adicione depois do ultimo efeito:
MAGIC_EFFECT_SEMFIM        = 0xFFFE, //65534

e em MAGIC_EFFECT_LAST você adicione o efeito adicionado ficando assim:
MAGIC_EFFECT_LAST        = MAGIC_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

Em tools.cpp



procure por:
MagicEffectNames magicEffectNames[] =

e no antes de finalizar a função adicione:
{"semfim",        MAGIC_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgula ficando assim, por exemplo: 

	{"dragonhead",	MAGIC_EFFECT_DRAGONHEAD},
	{"semfim",        MAGIC_EFFECT_SEMFIM}

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ME_NONE adicione 
CONST_ME_SEMFIM = 65534
 
 e em CONST_ME_NONE mude para:
 
CONST_ME_NONE = 65534

e CONST_ME_LAST mude para 
CONST_ME_LAST = CONST_ME_SEMFIM

 

 

 

 

Agora vamos mudar o ShootEffects para uint16.

  Ocultar conteúdo

Em Protocolgame.cpp 



procure por:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint8_t type)
  
mude para:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint16_t type)


procure por
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint8_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<char>(type + 1);
}


mude para:
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint16_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint8_t type);

mude para:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint16_t type);


procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type);

mude para: 
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type);

 

Em game.cpp



procure por:
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect)
  
mude para
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect)

procure por:
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint8_t effect)
	
mude para:	
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint16_t effect)

 

Em game.h 



procure por:
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint8_t effect);

mude para;
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint16_t effect);
		
		
procure por:
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect);


mude para;
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect);

 

 

Em player.h



procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type) const
  
mude para:
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type) const

 

 

Em const.h



procure por:
enum ShootEffect_t

e depois do ultimo efeito adicione:
	SHOOT_EFFECT_SEMFIM        = 0xFFFE, //65534

e em SHOOT_EFFECT_LAST
mude adione SHOOT_EFFECT_SEMFIM,

ficando assim

SHOOT_EFFECT_LAST        = SHOOT_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os distance efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

 

Em tools.cpp



procure por:
ShootTypeNames shootTypeNames[] =
  
no final da função antes da ultima chave };
adicione
{"semfim",		SHOOT_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgual ficando assim: 

	{"cake",		SHOOT_EFFECT_CAKE},
	{"semfim",		SHOOT_EFFECT_SEMFIM}  

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ANI_WEAPONTYPE adicione:
CONST_ANI_SEMFIM = 65534

em CONST_ANI_NONE mude para:
CONST_ANI_NONE = 65534

em CONST_ANI_LAST deixei assim:
CONST_ANI_LAST = CONST_ANI_SEMFIM

 

 

 

Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect.

 

 

Mudando os Efeitos de uint8 a 16 para Magic Effects

Mudando os Efeitos de uint8 a 16 para Shoot Effects

 

Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar.

 

Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! 

 

xD

Mano eu tive algumas dificuldade magiceffect nao to entendendo para a onde eu preciso ir e em data do server ou e no tibia do client nao entendi. :(


Share this post


Link to post
Share on other sites

@Blackvsally não é na pasta data que se localiza os arquivos, e sim na fonte(source) do seu servidor, a do client, basta ir nos tutoriais do client e saberá como modificar neles!

 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites
Agora, KotZletY disse:

@Blackvsally não é na pasta data que se localiza os arquivos, e sim na fonte(source) do seu servidor, a do client, basta ir nos tutoriais do client e saberá como modificar neles!

 

ok obrigado pela atenção


Share this post


Link to post
Share on other sites

Me ajuda, eu fiz tudo certinho e compilou tudo corretamente, mas quando eu vou abrir o cliente e entrar no game, assim que ele loga da Crash no client, oque pode ser?


Share this post


Link to post
Share on other sites

@xImTheBear você deve alterar para uint16 no client também. Olhe no final do tópico os tutoriais de como mudar no client! 



Não esqueçam de me marca quando eu responder em seu tópico, assim recebo a notificação e volto em seu tópico.
Não dou suporte em mensagem privada ou fora do fórum.
Não esqueça de reputa e agradecer a pessoa que lhe ajudou em algum tópico seu.
"Só ajudo quem eu vejo ajudando." xD

Não esqueça de reputa alguém que lhe ajudou ou tentou lhe ajudar, e agradeça com suas palavras. Seja grato por alguém ter lhe ajudado ou tentado lhe ajudar!

O coitadismo e o conformismo potencializado é a arte de sentir compaixão de si mesmo para você não utilize ferramentas capazes de transformar
sua história!!

-- Augusto Cury

 

                                                               ezgif-1-98aab239f3.gif

Share this post


Link to post
Share on other sites
27 minutos atrás, KotZletY disse:

@xImTheBear você deve alterar para uint16 no client também. Olhe no final do tópico os tutoriais de como mudar no client! 

Muito obrigado amigo, na hora da correria eu acabei passando batido no topico e nao vi os links, ajudou demais mesmo!!! Continue com o excelente trabalho! <3

Me deparei com outro erro, apos tudo compilado e correto, resolvi fazer um clean no cliente, exclui meu antigo, instalei um cliente 8.60 limpo e executei sem fazer as modificaçoes do cliente para uint16 e funcionou normalmenteme, entao mechi e adicionei magiceffect em uint16 e ele da crash pra abrir, tanto com magiceffect quanto com distance effect, qualquer modificaçao que eu faço no cliente ele da crash na hora de abrir, oque devo fazer?


Share this post


Link to post
Share on other sites
Em 20/11/2016 ás 22:03, KotZletY disse:

Bom galera, o Tópico já diz tudo, irei explicar como mudar para Uint16 dessa vez nas Source, para quem não sabe. Irei explicar como aumentar em Magic Effects, para assim você seu Server usar mais de 255, e ShootEffects para usar mais de 41 Distance efeitos(muito mais). Existe Tópicos no Tk, porém não é a mesma coisa, esse é diferente pois você irá alterá o valor dos uint's disparados para o Client, para assim então usar além do Padrão!

  Abaixo umas informações essenciais ! 

Esse Tópico é especifico para TFS 0.4, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 255 efeitos, e mais de 41 efeitos em Distância.  Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 255, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou Distance Effects), caso queria os dois, use ambos. 

 

Vamos começar primeiramente com os Magic Effects:

  Mostrar conteúdo oculto

Em protocolgame.cpp 



procure por:
void ProtocolGame::sendMagicEffect(const Position& pos, uint8_t type) 

mude para:
void ProtocolGame::sendMagicEffect(const Position& pos, uint16_t type)


procure por:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint8_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<char>(type + 1);
} 

mude para:
void ProtocolGame::AddMagicEffect(NetworkMessage_ptr msg,const Position& pos, uint16_t type)
{
	msg->put<char>(0x83);
	msg->putPosition(pos);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint8_t type);

mude para:
void AddMagicEffect(NetworkMessage_ptr msg, const Position& pos, uint16_t type);
 
procure por
void sendMagicEffect(const Position& pos, uint8_t type);

mude para:
void sendMagicEffect(const Position& pos, uint16_t type);

 

Em game.cpp



procure por:
void Game::addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode/* = false*/)
  
mude para:
void Game::addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode/* = false*/)

procure por:
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect,
                          
mude para: 
void Game::addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect,

 

Em game.h 



procure por:
void addMagicEffect(const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const Position& pos, uint16_t effect, bool ghostMode = false);

procure por:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint8_t effect, bool ghostMode = false);

mude para:
void addMagicEffect(const SpectatorVec& list, const Position& pos, uint16_t effect, bool ghostMode = false);

 

Em player.h



procure por:
void sendMagicEffect(const Position& pos, uint8_t type) const
  
mude para:
void sendMagicEffect(const Position& pos, uint16_t type) const

 

 

Um detalhe importante nessa parte pra não fazer você perde tempo em 1 em 1 efeito.

Em outros tópicos, pedem que você adicione em 1 em 1 efeito, perda de tempo, pois você pode adicionar um em limite. Observe:

Em const.h



logo no começo terá:
enum MagicEffect_t

adicione depois do ultimo efeito:
MAGIC_EFFECT_SEMFIM        = 0xFFFE, //65534

e em MAGIC_EFFECT_LAST você adicione o efeito adicionado ficando assim:
MAGIC_EFFECT_LAST        = MAGIC_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

Em tools.cpp



procure por:
MagicEffectNames magicEffectNames[] =

e no antes de finalizar a função adicione:
{"semfim",        MAGIC_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgula ficando assim, por exemplo: 

	{"dragonhead",	MAGIC_EFFECT_DRAGONHEAD},
	{"semfim",        MAGIC_EFFECT_SEMFIM}

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ME_NONE adicione 
CONST_ME_SEMFIM = 65534
 
 e em CONST_ME_NONE mude para:
 
CONST_ME_NONE = 65534

e CONST_ME_LAST mude para 
CONST_ME_LAST = CONST_ME_SEMFIM

 

 

 

 

Agora vamos mudar o ShootEffects para uint16.

  Mostrar conteúdo oculto

Em Protocolgame.cpp 



procure por:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint8_t type)
  
mude para:
void ProtocolGame::sendDistanceShoot(const Position& from, const Position& to, uint16_t type)


procure por
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint8_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<char>(type + 1);
}


mude para:
void ProtocolGame::AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to,
	uint16_t type)
{
	msg->put<char>(0x85);
	msg->putPosition(from);
	msg->putPosition(to);
	msg->put<uint16_t>(type + 1);
}

 

Em protocolgame.h



procure por:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint8_t type);

mude para:
void AddDistanceShoot(NetworkMessage_ptr msg, const Position& from, const Position& to, uint16_t type);


procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type);

mude para: 
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type);

 

Em game.cpp



procure por:
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect)
  
mude para
void Game::addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect)

procure por:
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint8_t effect)
	
mude para:	
void Game::addDistanceEffect(const SpectatorVec& list, const Position& fromPos,
	const Position& toPos, uint16_t effect)

 

Em game.h 



procure por:
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint8_t effect);

mude para;
void addDistanceEffect(const SpectatorVec& list, const Position& fromPos, const Position& toPos, uint16_t effect);
		
		
procure por:
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint8_t effect);


mude para;
void addDistanceEffect(const Position& fromPos, const Position& toPos, uint16_t effect);

 

 

Em player.h



procure por:
void sendDistanceShoot(const Position& from, const Position& to, uint8_t type) const
  
mude para:
void sendDistanceShoot(const Position& from, const Position& to, uint16_t type) const

 

 

Em const.h



procure por:
enum ShootEffect_t

e depois do ultimo efeito adicione:
	SHOOT_EFFECT_SEMFIM        = 0xFFFE, //65534

e em SHOOT_EFFECT_LAST
mude adione SHOOT_EFFECT_SEMFIM,

ficando assim

SHOOT_EFFECT_LAST        = SHOOT_EFFECT_SEMFIM,

O detalhe é que FFFE em decimal é 65534 e então a Distro vai usar os distance efeitos de 0 á 65534
para que você não precise adicionar em 1 em 1. O engrençado é que mesmo que você aumente apenas para 255, se você colocar FFFE, como o valor dele é 65534, o distro irá usar de 0 até 255, sem precisar adicionar em 1 em 1 os efeitos, o que poupar tempo.

 

 

Em tools.cpp



procure por:
ShootTypeNames shootTypeNames[] =
  
no final da função antes da ultima chave };
adicione
{"semfim",		SHOOT_EFFECT_SEMFIM}

lembre-se o ultimo efeito deve está sem virgula no final e o penultimo deve conter virgual ficando assim: 

	{"cake",		SHOOT_EFFECT_CAKE},
	{"semfim",		SHOOT_EFFECT_SEMFIM}  

 

 

Agora para finalizar em data/lib abra o arquivo 000-constant.lua  e procure por:



antes de CONST_ANI_WEAPONTYPE adicione:
CONST_ANI_SEMFIM = 65534

em CONST_ANI_NONE mude para:
CONST_ANI_NONE = 65534

em CONST_ANI_LAST deixei assim:
CONST_ANI_LAST = CONST_ANI_SEMFIM

 

 

 

Bom não adianta mudar isso se não fizer alteração no Client, então deixarei aqui, dois Tópicos de como mudar de uint8 para uint16 no Client em em ShootEffects e MagicEffect.

 

 

Mudando os Efeitos de uint8 a 16 para Magic Effects

Mudando os Efeitos de uint8 a 16 para Shoot Effects

 

Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar.

 

Tópico exclusivo do Tk, proibido posta em outro site, blog ou fórum! 

 

xD

Spoiler

58da91d1dd18d_errosource.thumb.png.768ac86c9100b959e9efdfaf6cacfe73.png

Spoiler

58da91ce6c13c_erro2.thumb.png.f2c210bea5ac98304fe4c52f72c41048.png

 



O rei de seu proprio destino é aquele que luta pela gloria do amanhã!
function euNaoSei(cid)
	return 1
end
Discord : ZoR#9373


 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...