Advertisement
Guest User

Emucoach - KillStreak System

a guest
Aug 12th, 2019
590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. const int32 KillerStreak1 = 3;
  2. const int32 KillerStreak2 = 8;
  3. const int32 KillerStreak3 = 15;
  4. const int32 KillerStreak4 = 25;
  5. const int32 KillerStreak5 = 40;
  6. const int32 KillerStreak6 = 60;
  7. const int32 KillerStreak7 = 90;
  8. const int32 KillerStreak8 = 130;
  9. const int32 KillerStreak9 = 170;
  10. const int32 KillerStreak10 = 200;
  11.  
  12.  
  13. struct SystemInfo
  14. {
  15. uint64 KillStreak;
  16. uint64 LastGUIDKill;
  17. };
  18.  
  19. static std::map<uint32, SystemInfo> KillingStreak;
  20.  
  21. class System_OnPVPKill : public PlayerScript
  22. {
  23. public:
  24. System_OnPVPKill() : PlayerScript("System_OnPVPKill") {}
  25.  
  26. void OnPVPKill(Player *pKiller, Player *pVictim)
  27. {
  28. uint32 kGUID;
  29. uint32 vGUID;
  30. kGUID = pKiller->GetGUID();
  31. vGUID = pVictim->GetGUID();
  32. if (kGUID == vGUID)
  33. {
  34. return;
  35. }
  36. if (KillingStreak[kGUID].LastGUIDKill == vGUID)
  37. {
  38. return;
  39. }
  40.  
  41. KillingStreak[kGUID].KillStreak++;
  42. KillingStreak[vGUID].KillStreak = 0;
  43. KillingStreak[kGUID].LastGUIDKill = vGUID;
  44. KillingStreak[vGUID].LastGUIDKill = 0;
  45.  
  46. switch (KillingStreak[kGUID].KillStreak)
  47. {
  48. char msg[500];
  49.  
  50. case KillerStreak1: //if the killer gets 3 kill
  51. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a kill streak of|cffFF0000 3|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  52. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  53. pKiller->CastSpell(pKiller, 24378, true);
  54. break;
  55.  
  56. case KillerStreak2: //if the killer gets 8 kills
  57. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a nice kill streak of|cffFF0000 8|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  58. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  59. pKiller->CastSpell(pKiller, 72521, true);
  60. break;
  61.  
  62. case KillerStreak3: //if the killer gets 15 kills
  63. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on an awesome kill streak of|cffFF0000 15|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  64. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  65. pKiller->CastSpell(pKiller, 46423, true);
  66. break;
  67.  
  68. case KillerStreak4: //if the killer gets 25 kills
  69. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a CRAZY kill streak of|cffFF0000 25|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  70. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  71. pKiller->CastSpell(pKiller, 72301, true);
  72. pKiller->CastSpell(pKiller, 72302, true);
  73. pKiller->CastSpell(pKiller, 72303, true);
  74. pKiller->CastSpell(pKiller, 72304, true);
  75. break;
  76.  
  77. case KillerStreak5: //if the killer gets 40 kills
  78. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a LEGENDARY kill streak of|cffFF0000 40|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  79. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  80. pKiller->CastSpell(pKiller, 72523, true);
  81. break;
  82.  
  83. case KillerStreak6: //if the killer gets 60 kills
  84. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a MAGNIFICENT kill streak of|cffFF0000 60|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  85. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  86. pKiller->AddItem(189912, 1);
  87. break;
  88.  
  89. case KillerStreak7: //if the killer gets 90 kills
  90. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a SUPERIOR kill streak of|cffFF0000 90|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  91. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  92. pKiller->AddItem(189912, 3);
  93. break;
  94.  
  95. case KillerStreak8: //if the killer gets 130 kills
  96. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on an AMAZING kill streak of|cffFF0000 130|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  97. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  98. pKiller->AddItem(189912, 8);
  99. break;
  100.  
  101. case KillerStreak9: //if the killer gets 170 kills
  102. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on a SUPER kill streak of|cffFF0000 170|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  103. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  104. pKiller->AddItem(189912, 15);
  105. break;
  106.  
  107. case KillerStreak10: //if the killer gets 200 kills
  108. sprintf(msg, "|cffFF0000[KillStreak System]|r: |cffFF0000%s|r killed |cffFF0000%s|cffFFFF05 and is on an INSANE kill streak of|cffFF0000 200|r! ", pKiller->GetName().c_str(), pVictim->GetName().c_str());
  109. sWorld->SendServerMessage(SERVER_MSG_STRING, msg);
  110. pKiller->AddItem(222111, 1);
  111. break;
  112.  
  113. }
  114. }
  115. };
  116.  
  117. void AddSC_System()
  118. {
  119. new System_OnPVPKill;
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement