Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. EVENTFUNC(pvp_check_disconnect)
  2. {
  3. if (event == NULL)
  4. return 0;
  5.  
  6. if (event->info == NULL)
  7. return 0;
  8.  
  9. TPVPCheckDisconnect* info = dynamic_cast<TPVPCheckDisconnect*>(event->info);
  10.  
  11. if (info == NULL)
  12. {
  13. sys_err("disconnect_event> <Factor> Null pointer");
  14. return 0;
  15. }
  16.  
  17. LPCHARACTER chA = info->ch;
  18. LPCHARACTER chB = info->victim;
  19.  
  20. if (chA == NULL)
  21. {
  22. const char* szTableStaticPvP[] = {BLOCK_CHANGEITEM, BLOCK_BUFF, BLOCK_POTION, BLOCK_RIDE, BLOCK_PET, BLOCK_POLY, BLOCK_PARTY, BLOCK_EXCHANGE_, BET_WINNER, CHECK_IS_FIGHT};
  23.  
  24. int betMoney = 0;
  25.  
  26. if (betMoney > 0 && chB != NULL)
  27. {
  28. chB->PointChange(POINT_GOLD, betMoney, true);
  29. chB->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect_receive_money"));
  30. }
  31.  
  32. char buf[CHAT_MAX_LEN + 1];
  33. snprintf(buf, sizeof(buf), "BINARY_Duel_Delete");
  34. if (chB != NULL)
  35. chB->ChatPacket(CHAT_TYPE_COMMAND, buf);
  36.  
  37. for (int i = 0; i < _countof(szTableStaticPvP); i++) {
  38. if (chB != NULL)
  39. chB->SetQuestFlag(szTableStaticPvP[i], 0);
  40. }
  41. if (chB != NULL)
  42. chB->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect"));
  43.  
  44. event_cancel(&m_pCheckDisconnect);
  45. m_pCheckDisconnect = NULL;
  46. return 0;
  47. }
  48.  
  49. if (chB == NULL)
  50. {
  51. const char* szTableStaticPvP[] = {BLOCK_CHANGEITEM, BLOCK_BUFF, BLOCK_POTION, BLOCK_RIDE, BLOCK_PET, BLOCK_POLY, BLOCK_PARTY, BLOCK_EXCHANGE_, BET_WINNER, CHECK_IS_FIGHT};
  52.  
  53. int betMoney = 0;
  54.  
  55. if (betMoney > 0 && chA != NULL)
  56. {
  57. chA->PointChange(POINT_GOLD, betMoney, true);
  58. chA->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect_receive_money"));
  59. }
  60.  
  61. char buf[CHAT_MAX_LEN + 1];
  62. snprintf(buf, sizeof(buf), "BINARY_Duel_Delete");
  63. if (chA != NULL)
  64. chA->ChatPacket(CHAT_TYPE_COMMAND, buf);
  65.  
  66. for (int i = 0; i < _countof(szTableStaticPvP); i++) {
  67. if (chA != NULL)
  68. chA->SetQuestFlag(szTableStaticPvP[i], 0);
  69. }
  70. if (chA != NULL)
  71. chA->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect"));
  72.  
  73. event_cancel(&m_pCheckDisconnect);
  74. m_pCheckDisconnect = NULL;
  75. return 0;
  76. }
  77. return PASSES_PER_SEC(1);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement