Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.61 KB | None | 0 0
  1. void CGlobalRankingManager::UpdateRanking(LPCHARACTER ch, BYTE bCategory, long long score)
  2. {
  3. if (!ch)
  4. return;
  5.  
  6. DWORD dwPID = ch->GetPlayerID();
  7.  
  8. if (bCategory >= GLOBAL_RANKING_CATEGORY_MAX_NUM)
  9. {
  10. sys_err("Unknown category %d", bCategory);
  11. return;
  12. }
  13.  
  14. // Support for kills
  15. switch (bCategory)
  16. {
  17. case GLOBAL_RANKING_CATEGORY_KILL_BOSS:
  18. {
  19. if (next_update_cycle > ch->GetQuestFlag("global_ranking.killed_bosses_last"))
  20. ch->SetQuestFlag("global_ranking.killed_bosses", 1);
  21. else
  22. ch->SetQuestFlag("global_ranking.killed_bosses", ch->GetQuestFlag("global_ranking.killed_bosses")+1);
  23.  
  24. ch->SetQuestFlag("global_ranking.killed_bosses_last", next_update_cycle);
  25. score = ch->GetQuestFlag("global_ranking.killed_bosses");
  26. }
  27. break;
  28. case GLOBAL_RANKING_CATEGORY_DESTROY_METIN:
  29. {
  30. if (next_update_cycle > ch->GetQuestFlag("global_ranking.destroyed_stones_last"))
  31. ch->SetQuestFlag("global_ranking.destroyed_stones", 1);
  32. else
  33. ch->SetQuestFlag("global_ranking.destroyed_stones", ch->GetQuestFlag("global_ranking.destroyed_stones")+1);
  34.  
  35. ch->SetQuestFlag("global_ranking.destroyed_stones_last", next_update_cycle);
  36. score = ch->GetQuestFlag("global_ranking.destroyed_stones");
  37. }
  38. break;
  39. }
  40.  
  41. const std::vector<SRankingElement> & Category = m_ranking_list[bCategory];
  42. if (Category.size() && score > Category[Category.size()-1].lScore)
  43. {
  44. TPacketRankingList pack;
  45. pack.header = 0;
  46. pack.bCategory = bCategory;
  47. pack.dwPID[0] = dwPID;
  48. pack.lScore[0] = score;
  49.  
  50. db_clientdesc->DBPacket(HEADER_GD_GLOBAL_RANKING_UPDATE, 0, &pack, sizeof(pack));
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement