From 881044b0b64ce6af604d19f67c9c0d736125c628 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 2 Sep 2020 19:11:02 +0800 Subject: [PATCH] 1 --- server/gameserver/player.cc | 21 +++++++++++++++++++++ server/gameserver/roommgr.cc | 2 ++ 2 files changed, 23 insertions(+) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index c69bfcf..de02cd6 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -1341,6 +1341,27 @@ void Player::_CMOpenBox(f8::MsgHdr& hdr, const cs::CMOpenBox& msg) AddInventory(item_meta->i->_inventory_slot(), add_num); } + } else { + switch (item_meta->i->equip_type()) { + case 7: + { + //背包 + if (backpack == 0) { + MetaData::Equip* old_item_meta = MetaMgr::Instance()->GetEquip(backpack); + if (old_item_meta) { + if (old_item_meta->i->equip_lv() >= item_meta->i->equip_lv()) { + break; + } + room->DropItem(GetPos(), old_item_meta->i->id(), 1, 1); + } + backpack = item_meta->i->id(); + RecalcVolume(); + } + } + break; + default: + break; + } } } } diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index e0d98d6..2510b60 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -626,6 +626,8 @@ void RoomMgr::TeamRoomTimeOut(const std::string& team_uuid) GenTeamHashData(team_uuid, team_hash), }); } + delete team_hash; + team_room_hash_.erase(team_uuid); } else { a8::UdpLog::Instance()->Warning ("team not found team_uuid:s",