115820
Member
Hi, after searching everywhere and not finding out. I making my own version about this for OTX 3.1
This code will make HP and MP appear in percentage
First you will need SOURCES OTX 3.x+
in protocolgamebase.cpp search
After find
This is for Health
replaces to:
Now to Mana
find
replaces to:
This code will make HP and MP appear in percentage
First you will need SOURCES OTX 3.x+
in protocolgamebase.cpp search
Code:
void ProtocolGameBase::AddPlayerStats(NetworkMessage& msg)
Code:
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max()));
msg.add<uint16_t>(std::min<int32_t>(player->getMaxHealth(), std::numeric_limits<uint16_t>::max()));
replaces to:
Code:
if (player->getMaxHealth() > 0)
{
float f_h_percent = (float)player->getHealth() /
player->getMaxHealth();
uint16_t h_percent = f_h_percent * 100;
msg.add<uint16_t>(h_percent);
msg.add<uint16_t>(100);
}
else
{
msg.add<uint16_t>(0);
msg.add<uint16_t>(0);
}
find
Code:
msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max()));
msg.add<uint16_t>(std::min<int32_t>(player->getMaxMana(), std::numeric_limits<uint16_t>::max()));
Code:
if (player->getMaxMana() > 0)
{
float f_m_percent = (float)player->getMana() /
player->getMaxMana();
uint16_t m_percent = f_m_percent * 100;
msg.add<uint16_t>(m_percent);
msg.add<uint16_t>(100);
}
else
{
msg.add<uint16_t>(0);
msg.add<uint16_t>(0);
}