Member
- Apr
- Threads
- 3
- 74
- 98
- 18
AD: Mt2009 - Mobile & PC - 30 January 2026 CHECK THE PRESENTATION!
C++:
Client_source side
Userinterface/packet.h:
Search:
MESSENGER_SUBHEADER_GC_INVITE,
Add to Graund:
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
MESSENGER_SUBHEADER_GC_REMOVE_FRIEND,
#endif
Userinterface/PythonMessenger.cpp
Search:
m_FriendNameMap.erase(c_szKey);
Add to ground:
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
if (m_poMessengerHandler)
PyCallClassMemberFunc(m_poMessengerHandler, "OnRemoveList", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_FRIEND, c_szKey));
#endif
Code block result:
void CPythonMessenger::RemoveFriend(const char * c_szKey)
{
m_FriendNameMap.erase(c_szKey);
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
if (m_poMessengerHandler)
PyCallClassMemberFunc(m_poMessengerHandler, "OnRemoveList", Py_BuildValue("(is)", MESSENGER_GRUOP_INDEX_FRIEND, c_szKey));
#endif
}
PythonNetworkStreamPhaseGame.cpp
Search:
case MESSENGER_SUBHEADER_GC_LOGOUT:
Add to command block end
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
case MESSENGER_SUBHEADER_GC_REMOVE_FRIEND:
{
BYTE bLength;
if (!Recv(sizeof(bLength), &bLength))
return false;
if (!Recv(bLength, char_name))
return false;
char_name[bLength] = 0;
CPythonMessenger::Instance().RemoveFriend(char_name);
break;
}
#endif
C++:
common/service.h
Add:
#define ENABLE_DELETE_FRIEND_REFRESH_FIX
game/src/messenger_manager.cpp
Search:
MessengerManager::MessengerManager()
Add to over:
static char __account[CHARACTER_NAME_MAX_LEN*2+1];
static char __companion[CHARACTER_NAME_MAX_LEN*2+1];
Search:
DBManager::instance().FuncQuery(std::bind1st(std::mem_fun(&MessengerManager::LoadList)
Add to over:
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
if (account.compare(__account))
return;
Search:
if (m_Relation[account].find(companion) != m_Relation[account].end())
Add to below:
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
DBManager::instance().EscapeString(__companion, sizeof(__companion), companion.c_str(), companion.size());
if (account.compare(__account) || companion.compare(__companion))
return;
Search:
sys_log(1, "Messenger Remove %s %s", account.c_str(), companion.c_str());
Add to over:
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
DBManager::instance().EscapeString(__companion, sizeof(__companion), companion.c_str(), companion.size());
if (account.compare(__account) || companion.compare(__companion))
return;
Search:
std::set<keyT> company(m_Relation[account]);
Add to below:
DBManager::instance().EscapeString(__account, sizeof(__account), account.c_str(), account.size());
if (account.compare(__account))
return;
Search:
m_InverseRelation[companion].erase(account);
Add to below:
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
m_Relation[companion].erase(account);
m_InverseRelation[account].erase(companion);
#endif
Search:
ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("<Messenger> You deleted %s off the list."), companion.c_str());
Add to below:
#ifdef ENABLE_DELETE_FRIEND_REFRESH_FIX
LPCHARACTER tch = CHARACTER_MANAGER::Instance().FindPC(companion.c_str());
if (tch && tch->GetDesc())
{
TPacketGCMessenger p;
p.header = HEADER_GC_MESSENGER;
p.subheader = MESSENGER_SUBHEADER_GC_REMOVE_FRIEND;
p.size = sizeof(TPacketGCMessenger) + sizeof(BYTE) + account.size();
BYTE bLen = account.size();
tch->GetDesc()->BufferedPacket(&p, sizeof(p));
tch->GetDesc()->BufferedPacket(&bLen, sizeof(BYTE));
tch->GetDesc()->Packet(account.c_str(), account.size());
}
#endif
To see the download links,
Log in or register now.
Last edited:
