• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Jak wysyłać HP i manę w procentach

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));
Na:
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));
Na:
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:
Tak serio to kompilacja tego jest trudniejsza niż zmiana kodu(w końcu to matematyka na poziomie chyba podstawówki...)
Ale MOŻE komuś się przyda
 
$$$$$_______________###
_$$$$$$______________#$
_$$$$$$____________$$$#$
_$$$$$$$________$$$$$$$$
__$$$$$$$_____$$$$$$$$$
__$$$$$$$____$$$$$$$$
__$$$$$$$__$$$$$$$$$
____$$$$$_$$$$$$______
_____$$$$$$$$__________
______$$$$$$$$$$$$$
____$$$$$$$$$$$$$$$$$
____$$$$$$$$$$$$___$$$
___$$$$$$$$$$$$$__$$$$$
___$$$$$$$$$$$$$$$$$$$$$
____$$$$$$$$$$$$$$$$$$$
_____$$$$$$$$$$$$$$$$$
________$$$$$$$$$$
______$$$$$$$$$$
 
Jak zrobić to pod serwer z highexp gdzie do reborna musisz wbić 712k lvl i powiedzmy, że masz 300 rebornów i dalej będzie działało?
 
Back
Top