Показать сообщение отдельно
Старый 17.06.2010, 19:36   #13
Artkeep
Гость
 
Сообщений: n/a
По умолчанию

Работает с этим, проверено. http://getmangos.com/community/showt...l=1#post116960
Код:
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index 53706be..eb63ea2 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -2514,6 +2514,9 @@ void Player::GiveXP(uint32 xp, Unit* victim)
     if(!isAlive())
         return;
 
+    if(HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED))
+        return;
+
     uint32 level = getLevel();
 
     // XP to money conversion processed in Player::RewardQuest
@@ -17627,6 +17630,13 @@ void Player::BuildPlayerChat(WorldPacket *data, uint8 msgtype, const std::string
 
 void Player::Say(const std::string& text, const uint32 language)
 {
+
+    if(text == "xp 0" && !HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED))
+        SetFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED);
+    else if (text == "xp 1" && HasFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED))
+        RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_XP_USER_DISABLED);
+
     WorldPacket data(SMSG_MESSAGECHAT, 200);
     BuildPlayerChat(&data, CHAT_MSG_SAY, text, language);
     SendMessageToSetInRange(&data,sWorld.getConfig(CONFIG_FLOAT_LISTEN_RANGE_SAY),true);
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Hantet (17.06.2010)