Advertisement
Guest User

KillStreak

a guest
Feb 10th, 2012
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.90 KB | None | 0 0
  1. /**************************************************************************************
  2. *                                                                                     *
  3. *                                                                                     *
  4. *                                                                                     *
  5. *                                                                                     *
  6. *                                      _____                                          *
  7. *                    *---------------*   |   *--------------*                         *
  8. *                    |   By          |*  |  *|     Edited   |                         *
  9. *                     |    Kjanko     |* | *|       By     |                          *
  10. *                    |                 |* *|      Tommy     |                         *
  11. *                   |-------------------|*|----------------|                          *
  12. ***************************************************************************************/
  13. #include "ScriptPCH.h"
  14.  
  15. class System_OnKill : public PlayerScript
  16. {
  17.     public:
  18.         System_OnKill() : PlayerScript("System_OnKill") {}
  19.  
  20.     void OnPVPKill(Player * Killer, Player * Victim)
  21.     {
  22.         uint64 KillerGUID = Killer->GetGUID();
  23.         uint64 VictimGUID = Victim->GetGUID();
  24.  
  25.         struct KillStreak_Info
  26.         {
  27.             uint32 killstreak;
  28.             uint64 lastkill;
  29.         };
  30.  
  31.         static std::map<uint64, KillStreak_Info> KillStreakData;
  32.  
  33.         if( KillerGUID == VictimGUID || KillStreakData[KillerGUID].lastkill == VictimGUID )
  34.             return;
  35.  
  36.         KillStreakData[KillerGUID].killstreak++;
  37.         KillStreakData[KillerGUID].lastkill = VictimGUID;
  38.         KillStreakData[VictimGUID].killstreak = 0;
  39.         KillStreakData[VictimGUID].lastkill = 0;
  40.  
  41.         switch( KillStreakData[KillerGUID].killstreak )
  42.         {
  43.             char msg[250];
  44.             case 10:
  45.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  46.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  47.                 break;
  48.  
  49.             case 20:
  50.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  51.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  52.                 break;
  53.  
  54.             case 30:
  55.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  56.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  57.                 break;
  58.  
  59.             case 40:
  60.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  61.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  62.                 break;
  63.  
  64.             case 50:
  65.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  66.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  67.                 break;
  68.  
  69.             case 60:
  70.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  71.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  72.                 break;
  73.  
  74.             case 70:
  75.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  76.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  77.                 break;
  78.  
  79.             case 80:
  80.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  81.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  82.                 break;
  83.  
  84.             case 90:
  85.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  86.                 sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  87.                 break;
  88.  
  89.             case 100:
  90.                 snprintf(msg, 250, "[PvP System]: %s is on a killstreak of %u!!", Killer->GetName(), KillStreakData[KillerGUID].killstreak);
  91.                 break;
  92.         }
  93.     }
  94. };
  95.  
  96. void AddSC_PvP_System()
  97. {
  98.     new System_OnKill;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement