Jak wysyłać HP i manę w procentach

Joined
Mar 13, 2010
Messages
549
Best answers
0
Likes
125
#1
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:

zakius

Enter the Ninja!
Joined
Apr 30, 2009
Messages
2,635
Best answers
0
Likes
61
Location
with Taiga
#5
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
 

Nurcz

Banned User
Joined
Feb 14, 2013
Messages
39
Best answers
0
Likes
0
#11
$$$$$_______________###
_$$$$$$______________#$
_$$$$$$____________$$$#$
_$$$$$$$________$$$$$$$$
__$$$$$$$_____$$$$$$$$$
__$$$$$$$____$$$$$$$$
__$$$$$$$__$$$$$$$$$
____$$$$$_$$$$$$______
_____$$$$$$$$__________
______$$$$$$$$$$$$$
____$$$$$$$$$$$$$$$$$
____$$$$$$$$$$$$___$$$
___$$$$$$$$$$$$$__$$$$$
___$$$$$$$$$$$$$$$$$$$$$
____$$$$$$$$$$$$$$$$$$$
_____$$$$$$$$$$$$$$$$$
________$$$$$$$$$$
______$$$$$$$$$$
 
Joined
Nov 24, 2009
Messages
294
Best answers
0
Likes
2
#15
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?
 
Top