Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Respostas 67
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

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 2

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

@Maickao Jackson Está correto sua forma. Na otx falta apenas um arquivo para completar.   em spectators.h   procura por void sendMagicEffect(const Position& pos, uint8_t t

Posted Images

 

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

Link para o post
Compartilhar em outros 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

Link para o post
Compartilhar em outros 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

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros 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

Link para o post
Compartilhar em outros 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

Link para o post
Compartilhar em outros sites

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

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros 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 ? 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros 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

Editado por Duality (veja o histórico de edições)
Link para o post
Compartilhar em outros 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! 

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros 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. :(

Link para o post
Compartilhar em outros 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!

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
  • 1 month later...

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?

Link para o post
Compartilhar em outros sites

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

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros 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?

Link para o post
Compartilhar em outros 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ã!
Discord : ZoR#9373


 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Muvuka
      Alguem tem anti-nuker igual a esse 
       

       
    • Por Muvuka
      [SQLite] -=[TFS]=- 0.4 8.60 Alguem faz apk mobile pra mim ip: dexsoft.ddns.net
       
      pra mim
       
      https://www.mediafire.com/file/5klqnyy6k7jda0u/OTClientV8.rar/file
       
      TA TUDO AI
    • Por yuriowns
      Salve rapazes, estou precisando de um client próprio para o meu servidor 7.4, preciso que algum programador experiente e com referências faça um client do jeito que eu procuro. Responda aqui para fazermos um orçamento, obrigado!

      Não sei se estou no lugar certo, se não me desculpem e peço que movam por gentileza!
    • Por paulo thush
      Pessoal to com um grande problema, estou com um servidor TFS 1.4x 10.98, recentemente começou dar um problema, sempre quando falava "trade" com o npc dava um erros, com qual quer npc, o erro e o seguinte.
       
       
      me falaram que o problema e nas sourcer que precisava mudar umas coisas me passaram um link no github esse aqui 
      https://github.com/otland/forgottenserver/pull/3996/files
       
      porem eu vi vídeos no youtube ensinando a compilar, já vi muitos tópicos como compilar a sourcer, ai quando vou compilar da esse erro
      já tentei instalar, desinstala muitas coisas, alterar também não vai, minha sourcer e essa 
      https://github.com/otland/forgottenserver
       
       
      Alguém poderia me ajuda com esse erro, ou ate compilar 100% as sourcer. os Tópicos que eu tentei para compilar e esse daqui, se não poder o link me desculpe.
      https://forums.otserv.com.br/index.php?/forums/topic/169234-windowsvc2019-compilando-sources-tfs-14-vcpkg/
       
      alguém me da uma luz por favor kkk
    • Por Ryzek
      Uso tfs 0.4 trunk3884 bem simples.
      Queria acrescentar magic effects para 255 pois o meu só vai até 69. Encontrei um tópico que falava sobre porém parece ter sido removido, não consigo acessar!

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo