Ir para conteúdo

Featured Replies

Postado
  • Este é um post popular.

Mana e Life 100/100

image.png.ab92bc8057ee30e1eb98fcb7185f6b35.png

image.png.7d789d6b7720fd81a0082ea82cd4cb89.png

 

Salve galerinha, estive procurando em vários tópicos, algum codigo de life e mana 100/100, e nenhum deles funcionava perfeito para oque eu precisava, todos eles paravam de funcionar quando o player atingia o level 715835 ou mana/life "21474847" o numero 100 da vida virava 65750 ou da mana, de qual você atingisse primeiro "21474847" e pra quem quer por high XP isso é um problema, mas depois de muito, MUITO,MUITO,muito esforço de um amigo, @Rusherzin, ele conseguiu burla isso, e agora você pode pegar quantos de level/mana/life quiser que não vai sair de 100/100, então é isso vamos ao que interessa.

TFS 0.4 foi testado !

Nas SOURCES arquivo protocolgame.cpp procure por:

void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg)

e substitua por isso:

 

Spoiler


void ProtocolGame::AddPlayerStats(NetworkMessage_ptr msg)
{
	msg->put<char>(0xA0);
	if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0)
    {
    	float f_h_percent = (float) player->getHealth()  / player->getPlayerInfo(PLAYERINFO_MAXHEALTH);
    	uint16_t h_percent = f_h_percent * 100;
        msg->put<uint16_t>(h_percent);
        msg->put<uint16_t>(100);
    }
    else
    {
        msg->put<uint16_t>(0);
        msg->put<uint16_t>(0);  
	}
	
	msg->put<uint32_t>(uint32_t(player->getFreeCapacity() * 100));
	uint64_t experience = player->getExperience();

	if(experience > 0x7FFFFFFF) // client debugs after 2,147,483,647 exp
		msg->put<uint32_t>(0x7FFFFFFF);
	else
		msg->put<uint32_t>(experience);

	msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_LEVEL));
	msg->put<char>(player->getPlayerInfo(PLAYERINFO_LEVELPERCENT));
	
	if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0)
    {	
    	float f_m_percent = (float) player->getPlayerInfo(PLAYERINFO_MANA) /  (float) player->getPlayerInfo(PLAYERINFO_MAXMANA);
        uint16_t m_percent = f_m_percent * 100;
        msg->put<uint16_t>(m_percent);
        msg->put<uint16_t>(100);
    }
    else
    {
        msg->put<uint16_t>(0);
        msg->put<uint16_t>(0);
    }
	msg->put<char>(player->getPlayerInfo(PLAYERINFO_MAGICLEVEL));
	msg->put<char>(player->getPlayerInfo(PLAYERINFO_MAGICLEVELPERCENT));
	msg->put<char>(player->getPlayerInfo(PLAYERINFO_SOUL));
	msg->put<uint16_t>(player->getStaminaMinutes());
}

 

 

Imagem mostrando certinho a life/mana 

Spoiler

image.thumb.png.64a3ad9a4f77577a97cb4c14f990304b.png

Créditos:

99% @Rusherzin  Por fazer tudo !

1% @Zzyzx Por ficar incomodando até ele fazer !

 

 

       112674.gif

 

 

 

  • Respostas 6
  • Visualizações 5.7k
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
  • Autor
10 horas atrás, Dragon Ball Hiper disse:

existe muitos tópico e todos funciona isso depende , qual versão você esta tentando colocar .

parabéns pelo tópico 

 

sim, todo funcionam, mas como citei, "TODOS" eles bugam quando ultrapassa level 715835 ou mana/life "21474847"

VLW !

       112674.gif

 

 

 

  • 1 month later...

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo