Crypton3
Retired
- Joined
- Mar 13, 2010
- Messages
- 549
- Reaction score
- 139
Jak wysyłać manę i HP w procentach
Witam,W tym poradniku opiszę co zrobić, aby mana jak i HP były wysyłane do klienta procentowo.
Szczególnie może się to przydać na serverach z większymi mnożnikami doświadczenia, gdzie, gdy ilość HP lub many gracza przekracza 65535 przekręca się licznik i zaczyna liczyć od nowa.
A więc tak:
W pliku protocolgame.cpp szukamy i zamieniamy:
Code:
msg->put<uint16_t>(player->getHealth());
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH));
Code:
if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0)
{
msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)));
msg->put<uint16_t>(100);
}
else
{
msg->put<uint16_t>(0);
msg->put<uint16_t>(0);
}
Oraz:
Code:
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA));
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA));
Code:
if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0)
{
msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA) * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA));
msg->put<uint16_t>(100);
}
else
{
msg->put<uint16_t>(0);
msg->put<uint16_t>(0);
}
Gotowe ☺
Last edited: