diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index fc6e424..01e3f13 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -720,7 +720,7 @@ void Player::ProcPrepareItems(const ::google::protobuf::RepeatedField< ::google: curr_weapon = &weapons[GUN_SLOT2]; } } - if (!weapon) { + if (weapon) { weapon->weapon_id = equip_id; weapon->weapon_lv = std::max(1, GetWeaponConfigLv(weapon->weapon_id)); weapon->ammo = 0; diff --git a/server/gameserver/roommgr.cc b/server/gameserver/roommgr.cc index 63d3083..7440a59 100644 --- a/server/gameserver/roommgr.cc +++ b/server/gameserver/roommgr.cc @@ -87,6 +87,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) Player* hum = PlayerMgr::Instance()->CreatePlayerByCMJoin(hdr.ip_saddr, hdr.socket_handle, msg); hum->meta = hum_meta; room->AddPlayer(hum); + hum->ProcPrepareItems(msg.prepare_items()); cs::SMJoinedNotify notifymsg; notifymsg.set_error_code(0); @@ -118,6 +119,7 @@ void RoomMgr::_CMJoin(f8::MsgHdr& hdr, const cs::CMJoin& msg) Player* hum = PlayerMgr::Instance()->CreatePlayerByCMJoin(hdr.ip_saddr, hdr.socket_handle, msg); hum->meta = hum_meta; room->AddPlayer(hum); + hum->ProcPrepareItems(msg.prepare_items()); { cs::SMJoinedNotify notifymsg;