Guest User

Untitled

a guest
Jan 22nd, 2018
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. #include "ScriptPCH.h"
  2.  
  3. class System_OnPvPKill : public PlayerScript
  4. {
  5. public:
  6. System_OnPvPKill() : PlayerScript("System_OnPvPKill") {}
  7.  
  8. struct SystemInfo
  9. {
  10. uint32 KillStreak;
  11. uint32 LastGUIDKill;
  12. };
  13.  
  14. static std::map<uint32, SystemInfo> KillingStreak;
  15.  
  16. void OnPvPKill(Player *pKiller, Player *pVictim)
  17. {
  18. uint32 kGUID;
  19. uint32 vGUID;
  20. kGUID = pKiller->GetGUID();
  21. vGUID = pVictim->GetGUID();
  22. if(kGUID == vGUID)
  23. {
  24. return;
  25. }
  26. if(KillingStreak[kGUID].LastGUIDKill == vGUID)
  27. {
  28. return;
  29. }
  30.  
  31. KillingStreak[kGUID].KillStreak++;
  32. KillingStreak[vGUID].KillStreak = 0;
  33. KillingStreak[kGUID].LastGUIDKill = vGUID;
  34. KillingStreak[vGUID].LastGUIDKill = 0;
  35.  
  36. switch(KillingStreak[kGUID].KillStreak)
  37. {
  38. char msg[500];
  39.  
  40. case 10:
  41. sprintf(msg, "[PvP System]: %s killed %s and is on a 10 kill streak. ", pKiller->GetName(), pVictim->GetName());
  42. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  43. break;
  44.  
  45. case 15:
  46. sprintf(msg, "[PvP System]: %s killed %s and is on a 15 kill streak. ", pKiller->GetName(), pVictim->GetName());
  47. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  48. break;
  49.  
  50. case 25:
  51. sprintf(msg, "[PvP System]: %s killed %s and is on a 25 kill streak. ", pKiller->GetName(), pVictim->GetName());
  52. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  53. break;
  54.  
  55. case 50:
  56. sprintf(msg, "[PvP System]: Wow, %s killed %s is already on a 50 kill streak. ", pKiller->GetName(), pVictim->GetName());
  57. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  58. break;
  59.  
  60. case 100:
  61. sprintf(msg, "[PvP System]: Amazing! %s killed %s and is on a 100 kill streak. ", pKiller->GetName(), pVictim->GetName());
  62. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  63. break;
  64.  
  65. case 250:
  66. sprintf(msg, "[PvP System]: Incredible! %s killed %s and is on a 250 kill streak!!! CAN NO ONE STOP THE TERROR?! ", pKiller->GetName(), pVictim->GetName());
  67. sWorld->.SendWorldText(LANG_SYSTEMMESSAGE, msg);
  68. break;
  69. }
  70. }
  71. };
  72.  
  73. void AddSC_System()
  74. {
  75. new System_OnPvPKill;
  76. }
Add Comment
Please, Sign In to add comment