Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- EVENTFUNC(pvp_check_disconnect)
- {
- if (event == NULL)
- return 0;
- if (event->info == NULL)
- return 0;
- TPVPCheckDisconnect* info = dynamic_cast<TPVPCheckDisconnect*>(event->info);
- if (info == NULL)
- {
- sys_err("disconnect_event> <Factor> Null pointer");
- return 0;
- }
- LPCHARACTER chA = info->ch;
- LPCHARACTER chB = info->victim;
- if (chA == NULL)
- {
- const char* szTableStaticPvP[] = {BLOCK_CHANGEITEM, BLOCK_BUFF, BLOCK_POTION, BLOCK_RIDE, BLOCK_PET, BLOCK_POLY, BLOCK_PARTY, BLOCK_EXCHANGE_, BET_WINNER, CHECK_IS_FIGHT};
- int betMoney = 0;
- if (betMoney > 0 && chB != NULL)
- {
- chB->PointChange(POINT_GOLD, betMoney, true);
- chB->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect_receive_money"));
- }
- char buf[CHAT_MAX_LEN + 1];
- snprintf(buf, sizeof(buf), "BINARY_Duel_Delete");
- if (chB != NULL)
- chB->ChatPacket(CHAT_TYPE_COMMAND, buf);
- for (int i = 0; i < _countof(szTableStaticPvP); i++) {
- if (chB != NULL)
- chB->SetQuestFlag(szTableStaticPvP[i], 0);
- }
- if (chB != NULL)
- chB->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect"));
- event_cancel(&m_pCheckDisconnect);
- m_pCheckDisconnect = NULL;
- return 0;
- }
- if (chB == NULL)
- {
- const char* szTableStaticPvP[] = {BLOCK_CHANGEITEM, BLOCK_BUFF, BLOCK_POTION, BLOCK_RIDE, BLOCK_PET, BLOCK_POLY, BLOCK_PARTY, BLOCK_EXCHANGE_, BET_WINNER, CHECK_IS_FIGHT};
- int betMoney = 0;
- if (betMoney > 0 && chA != NULL)
- {
- chA->PointChange(POINT_GOLD, betMoney, true);
- chA->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect_receive_money"));
- }
- char buf[CHAT_MAX_LEN + 1];
- snprintf(buf, sizeof(buf), "BINARY_Duel_Delete");
- if (chA != NULL)
- chA->ChatPacket(CHAT_TYPE_COMMAND, buf);
- for (int i = 0; i < _countof(szTableStaticPvP); i++) {
- if (chA != NULL)
- chA->SetQuestFlag(szTableStaticPvP[i], 0);
- }
- if (chA != NULL)
- chA->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("duel_victim_disconnect"));
- event_cancel(&m_pCheckDisconnect);
- m_pCheckDisconnect = NULL;
- return 0;
- }
- return PASSES_PER_SEC(1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement