From da73768204806f2eac254169ccf724ca1c91e0b8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 2 Apr 2019 17:33:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BA=93=E5=AD=98ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/gameserver/constant.h | 2 +- server/gameserver/metamgr.cc | 5 +++++ server/gameserver/player.cc | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/server/gameserver/constant.h b/server/gameserver/constant.h index e37e4f6..12ccf7d 100755 --- a/server/gameserver/constant.h +++ b/server/gameserver/constant.h @@ -72,7 +72,7 @@ const int GAS_INACTIVE_TIME = 1; const int SERVER_FRAME_RATE = 20; const int SYNC_FRAME_RATE = 10; -const int MAX_INVENTORY_NUM = 14; +const int MAX_INVENTORY_NUM = 17; const int MAX_WEAPON_NUM = 5; const int GUN_SLOT1 = 1; diff --git a/server/gameserver/metamgr.cc b/server/gameserver/metamgr.cc index 4fe77ec..836fecb 100755 --- a/server/gameserver/metamgr.cc +++ b/server/gameserver/metamgr.cc @@ -91,6 +91,11 @@ private: } for (auto& meta : equip_meta_list) { + if (meta.inventory_slot().empty()) { + meta.set__inventory_slot(-1); + } else { + meta.set__inventory_slot(a8::XValue(meta.inventory_slot())); + } MetaData::Equip& item = a8::FastAppend(equip_list); item.i = &meta; equip_hash[item.i->id()] = &item; diff --git a/server/gameserver/player.cc b/server/gameserver/player.cc index 07b231e..055756c 100644 --- a/server/gameserver/player.cc +++ b/server/gameserver/player.cc @@ -305,6 +305,15 @@ void Player::LootInteraction(Loot* entity) } } break; + default: + { + if (item_meta->i->_inventory_slot() >= 0 && + item_meta->i->_inventory_slot() < MAX_INVENTORY_NUM) { + inventory[item_meta->i->_inventory_slot()] += entity->count; + need_sync_active_player = true; + } + } + break; } entity->pickuped = true; room->AddDeletedObject(entity->entity_uniid);