2091 【后端】优化拾取导致的报错;
去除国庆时部分玩家装备传奇属性bug的临时处理代码;
| | |
| | |
|
| | | def GetItemPackType(itemType, defaultPack=IPY_GameWorld.rptItem):
|
| | | ## 获取物品类型对应存放的默认背包类型
|
| | | if defaultPack == ShareDefine.rptTreasure:
|
| | | #寻宝背包不做处理
|
| | | if defaultPack in [ShareDefine.rptTreasure, ShareDefine.rptTempItem]:
|
| | | #寻宝背包、临时背包不做处理
|
| | | return defaultPack
|
| | | for pack, itemTypeList in Def_PackItemTypeList_Dict.items():
|
| | | if itemType in itemTypeList:
|
| | |
| | |
|
| | | isPutInTemp = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_PickupItemPutInTemp)
|
| | | packIndex = ShareDefine.rptTempItem if isPutInTemp else IPY_GameWorld.rptItem
|
| | | packIndex = ChConfig.GetItemPackType(singItem.GetType(), packIndex)
|
| | |
|
| | | # 是否可放入
|
| | | if not itemControl.CanPutInItem(packIndex, curItemID, curItemCount, curItemIsBind):
|
| | |
| | | if not itemControl.PutInItem(packIndex, singItem, event=[ChConfig.ItemGive_Pickup, False, {"NPCID":dropItemNPCID}]):
|
| | | #物品不能放入
|
| | | #PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_676165", [packIndex])
|
| | | GameWorld.Log("拾取物品放入背包失败!mapItemID=%s,dropItemNPCID=%s,curItemID=%s,packIndex=%s" |
| | | % (mapItemID, dropItemNPCID, curItemID, packIndex), curPlayer.GetPlayerID())
|
| | | GameWorld.ErrLog("拾取物品放入背包失败!mapItemID=%s,dropItemNPCID=%s,curItemID=%s,packIndex=%s" |
| | | % (mapItemID, dropItemNPCID, curItemID, packIndex), curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | if dropItemNPCID:
|
| | |
| | |
|
| | | # 上线查询一次充值订单
|
| | | curPlayer.SendDBQueryRecharge()
|
| | | # 上线检查一次装备属性
|
| | | ItemControler.PlayerItemControler(curPlayer).CheckRolePackEquipAttr()
|
| | |
|
| | | curPlayer.SetState(0) # 脱机挂恢复为正常上线
|
| | | curPlayer.SetFacePic(0) # 通知数据库是否保存还是下线,做一次恢复,1为保存 0为正常下线
|