Cze??, postanowi?em przenie?? logi otrzymanych hit?w hp/mana do server logu. Czy s?dzicie ?e jest tu wszystko okej?
Wszystko dzia?a jak nale?y, ale waha?em si? co do swojej edycji - w sumie, zmieni?em tylko speak channel.
Pozdrawiam! / PS. nie ucz? si? C++, raczej d??? do tego ?eby co? sam zrobi? ;x
PHP:
void Game::CreateDamageUpdate(Creature* creature, Creature* attackCreature, int damage)
{
Player* player = dynamic_cast<Player*>(creature);
Player* attackPlayer = dynamic_cast<Player*>(attackCreature);
if(!player)
return;
//player->sendStats();
//msg.AddPlayerStats(player);
if (damage > 0) {
std::stringstream dmgmesg;
if(damage == 1) {
dmgmesg << "You lose 1 hitpoint";
}
else
dmgmesg << "You lose " << damage << " hitpoints";
if(attackPlayer) {
dmgmesg << " due to an attack by " << attackCreature->getName();
}
else if(attackCreature) {
std::string strname = attackCreature->getName();
std::transform(strname.begin(), strname.end(), strname.begin(), (int(*)(int))tolower);
dmgmesg << " due to an attack by a " << strname;
}
dmgmesg <<".";
player->sendFromSys(SPEAK_CHANNEL_R2, dmgmesg.str().c_str());
//msg.AddTextMessage(MSG_EVENT, dmgmesg.str().c_str());
}
if (player->isRemoved == true){
player->sendTextMessage(MSG_ADVANCE, "You are dead.");
}
}
void Game::CreateManaDamageUpdate(Creature* creature, Creature* attackCreature, int damage)
{
Player* player = dynamic_cast<Player*>(creature);
if(!player)
return;
//player->sendStats();
//msg.AddPlayerStats(player);
if (damage > 0) {
std::stringstream dmgmesg;
dmgmesg << "You lose " << damage << " mana";
if(attackCreature) {
dmgmesg << " blocking an attack by " << attackCreature->getName();
}
dmgmesg <<".";
player->sendFromSys(SPEAK_CHANNEL_R2, dmgmesg.str().c_str());
//msg.AddTextMessage(MSG_EVENT, dmgmesg.str().c_str());
}
}
Wszystko dzia?a jak nale?y, ale waha?em si? co do swojej edycji - w sumie, zmieni?em tylko speak channel.
Pozdrawiam! / PS. nie ucz? si? C++, raczej d??? do tego ?eby co? sam zrobi? ;x