From 695d9fccf56e1c79fdf5d78d1a6ef229bab595a1 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 19 Jun 2019 16:57:28 +0800 Subject: [PATCH] 1 --- server/gameserver/player.cc | 5 +++++ server/gameserver/playermgr.cc | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index d95c387..17daa8d 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -688,7 +688,12 @@ void Player::HumanInteraction(Human* hum) void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >& prepare_items) { + std::set handled_items; for (int equip_id : prepare_items) { + if (handled_items.find(equip_id) != handled_items.end()) { + continue; + } + handled_items.insert(equip_id); MetaData::Equip* item_meta = MetaMgr::Instance()->GetEquip(equip_id); if (item_meta) { switch (item_meta->i->equip_type()) { diff --git a/server/gameserver/playermgr.cc b/server/gameserver/playermgr.cc index 4d6d498..09b7158 100644 --- a/server/gameserver/playermgr.cc +++ b/server/gameserver/playermgr.cc @@ -60,7 +60,6 @@ Player* PlayerMgr::CreatePlayerByCMJoin(long ip_saddr, int socket, const cs::CMJ } } hum->SetSkinInfo(msg.baseskin()); - hum->ProcPrepareItems(msg.prepare_items()); socket_hash_[socket] = hum; return hum; }