Ir para conteúdo

Featured Replies

  • 1 month later...
  • Respostas 68
  • Visualizações 33.2k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 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

Postado

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?

Postado
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?

Postado
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

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo