From 28ebb68c5ab81617f9412bac463b7b454424f936 Mon Sep 17 00:00:00 2001 From: d1str4ught <> Date: Fri, 22 Aug 2025 20:03:40 +0200 Subject: [PATCH] global party --- src/db/ClientManager.cpp | 2 +- src/db/ClientManager.h | 3 +-- src/db/ClientManagerParty.cpp | 24 ++++++++++++------------ 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/db/ClientManager.cpp b/src/db/ClientManager.cpp index 11639f0..1494060 100644 --- a/src/db/ClientManager.cpp +++ b/src/db/ClientManager.cpp @@ -424,7 +424,7 @@ void CClientManager::QUERY_BOOT(CPeer* peer, TPacketGDBoot * p) void CClientManager::SendPartyOnSetup(CPeer* pkPeer) { - TPartyMap & pm = m_map_pkChannelParty[pkPeer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; for (itertype(pm) it_party = pm.begin(); it_party != pm.end(); ++it_party) { diff --git a/src/db/ClientManager.h b/src/db/ClientManager.h index 373a7ef..cb4b3d2 100644 --- a/src/db/ClientManager.h +++ b/src/db/ClientManager.h @@ -460,8 +460,7 @@ class CClientManager : public CNetBase, public singleton typedef std::map TPartyMember; typedef std::map TPartyMap; - typedef std::map TPartyChannelMap; - TPartyChannelMap m_map_pkChannelParty; + TPartyMap m_map_pkParty; typedef std::map TEventFlagMap; TEventFlagMap m_map_lEventFlag; diff --git a/src/db/ClientManagerParty.cpp b/src/db/ClientManagerParty.cpp index 24026f9..1076c68 100644 --- a/src/db/ClientManagerParty.cpp +++ b/src/db/ClientManagerParty.cpp @@ -7,12 +7,12 @@ void CClientManager::QUERY_PARTY_CREATE(CPeer* peer, TPacketPartyCreate* p) { - TPartyMap & pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; if (pm.find(p->dwLeaderPID) == pm.end()) { pm.insert(make_pair(p->dwLeaderPID, TPartyMember())); - ForwardPacket(HEADER_DG_PARTY_CREATE, p, sizeof(TPacketPartyCreate), peer->GetChannel(), peer); + ForwardPacket(HEADER_DG_PARTY_CREATE, p, sizeof(TPacketPartyCreate), 0, peer); sys_log(0, "PARTY Create [%lu]", p->dwLeaderPID); } else @@ -23,7 +23,7 @@ void CClientManager::QUERY_PARTY_CREATE(CPeer* peer, TPacketPartyCreate* p) void CClientManager::QUERY_PARTY_DELETE(CPeer* peer, TPacketPartyDelete* p) { - TPartyMap& pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap& pm = m_map_pkParty; itertype(pm) it = pm.find(p->dwLeaderPID); if (it == pm.end()) @@ -33,13 +33,13 @@ void CClientManager::QUERY_PARTY_DELETE(CPeer* peer, TPacketPartyDelete* p) } pm.erase(it); - ForwardPacket(HEADER_DG_PARTY_DELETE, p, sizeof(TPacketPartyDelete), peer->GetChannel(), peer); + ForwardPacket(HEADER_DG_PARTY_DELETE, p, sizeof(TPacketPartyDelete), 0, peer); sys_log(0, "PARTY Delete [%lu]", p->dwLeaderPID); } void CClientManager::QUERY_PARTY_ADD(CPeer* peer, TPacketPartyAdd* p) { - TPartyMap & pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; itertype(pm) it = pm.find(p->dwLeaderPID); if (it == pm.end()) @@ -51,7 +51,7 @@ void CClientManager::QUERY_PARTY_ADD(CPeer* peer, TPacketPartyAdd* p) if (it->second.find(p->dwPID) == it->second.end()) { it->second.insert(std::make_pair(p->dwPID, TPartyInfo())); - ForwardPacket(HEADER_DG_PARTY_ADD, p, sizeof(TPacketPartyAdd), peer->GetChannel(), peer); + ForwardPacket(HEADER_DG_PARTY_ADD, p, sizeof(TPacketPartyAdd), 0, peer); sys_log(0, "PARTY Add [%lu] to [%lu]", p->dwPID, p->dwLeaderPID); } else @@ -60,7 +60,7 @@ void CClientManager::QUERY_PARTY_ADD(CPeer* peer, TPacketPartyAdd* p) void CClientManager::QUERY_PARTY_REMOVE(CPeer* peer, TPacketPartyRemove* p) { - TPartyMap & pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; itertype(pm) it = pm.find(p->dwLeaderPID); if (it == pm.end()) @@ -74,7 +74,7 @@ void CClientManager::QUERY_PARTY_REMOVE(CPeer* peer, TPacketPartyRemove* p) if (pit != it->second.end()) { it->second.erase(pit); - ForwardPacket(HEADER_DG_PARTY_REMOVE, p, sizeof(TPacketPartyRemove), peer->GetChannel(), peer); + ForwardPacket(HEADER_DG_PARTY_REMOVE, p, sizeof(TPacketPartyRemove), 0, peer); sys_log(0, "PARTY Remove [%lu] to [%lu]", p->dwPID, p->dwLeaderPID); } else @@ -83,7 +83,7 @@ void CClientManager::QUERY_PARTY_REMOVE(CPeer* peer, TPacketPartyRemove* p) void CClientManager::QUERY_PARTY_STATE_CHANGE(CPeer* peer, TPacketPartyStateChange* p) { - TPartyMap & pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; itertype(pm) it = pm.find(p->dwLeaderPID); if (it == pm.end()) @@ -105,13 +105,13 @@ void CClientManager::QUERY_PARTY_STATE_CHANGE(CPeer* peer, TPacketPartyStateChan else pit->second.bRole = 0; - ForwardPacket(HEADER_DG_PARTY_STATE_CHANGE, p, sizeof(TPacketPartyStateChange), peer->GetChannel(), peer); + ForwardPacket(HEADER_DG_PARTY_STATE_CHANGE, p, sizeof(TPacketPartyStateChange), 0, peer); sys_log(0, "PARTY StateChange [%lu] at [%lu] from %d %d",p->dwPID, p->dwLeaderPID, p->bRole, p->bFlag); } void CClientManager::QUERY_PARTY_SET_MEMBER_LEVEL(CPeer* peer, TPacketPartySetMemberLevel* p) { - TPartyMap & pm = m_map_pkChannelParty[peer->GetChannel()]; + TPartyMap & pm = m_map_pkParty; itertype(pm) it = pm.find(p->dwLeaderPID); if (it == pm.end()) @@ -130,6 +130,6 @@ void CClientManager::QUERY_PARTY_SET_MEMBER_LEVEL(CPeer* peer, TPacketPartySetMe pit->second.bLevel = p->bLevel; - ForwardPacket(HEADER_DG_PARTY_SET_MEMBER_LEVEL, p, sizeof(TPacketPartySetMemberLevel), peer->GetChannel()); + ForwardPacket(HEADER_DG_PARTY_SET_MEMBER_LEVEL, p, sizeof(TPacketPartySetMemberLevel)); sys_log(0, "PARTY SetMemberLevel pid [%lu] level %d",p->dwPID, p->bLevel); }