| | |
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | assistThanksMgr = PyDataManager.GetPlayerAssistThanksPyManager()
|
| | | useThanks = None
|
| | | if playerID not in assistThanksMgr.playerThanksDict:
|
| | | GameWorld.ErrLog("玩家没有可使用的协助感谢礼盒!", playerID)
|
| | | return
|
| | | useThanks = None
|
| | | else:
|
| | | playerThanksList = assistThanksMgr.playerThanksDict[playerID]
|
| | | for thanks in playerThanksList:
|
| | | if itemID == thanks.ItemID:
|
| | |
| | | break
|
| | | if not useThanks:
|
| | | GameWorld.ErrLog("玩家没有该协助感谢礼盒!itemID=%s" % (itemID), playerID)
|
| | | return
|
| | | #20210226 优化为找不到协助信息也可以使用,防止地图扣除物品失败导致协助礼盒一直留着而无法使用
|
| | | #return
|
| | |
|
| | | GameWorld.DebugLog("玩家使用协助感谢礼盒!itemID=%s,isPreview=%s" % (itemID, isPreview), playerID)
|
| | | # 预览
|
| | | if isPreview:
|
| | | previewPack = ChPyNetSendPack.tagGCUseAssistThanksGiftPreview()
|
| | | if not useThanks:
|
| | | previewPack.ItemID = itemID
|
| | | previewPack.MapID = 31140 # 暂随意给一个可协助的地图ID
|
| | | NetPackCommon.SendFakePack(curPlayer, previewPack)
|
| | | return
|
| | | previewPack.ItemID = useThanks.ItemID
|
| | | previewPack.MapID = useThanks.MapID
|
| | | previewPack.LineID = useThanks.LineID
|
| | |
| | | if not ipyData:
|
| | | return
|
| | |
|
| | | useThanks.ThanksState = 1 # 设置为已感谢
|
| | | playerThanksList.remove(useThanks) # 移除已感谢
|
| | | queryData = [itemID]
|
| | | QueryPlayerResult_PlayerAssist(curPlayer, "UseAssistThanksGift", queryData)
|
| | |
|
| | | if not useThanks:
|
| | | return
|
| | | useThanks.ThanksState = 1 # 设置为已感谢
|
| | | playerThanksList.remove(useThanks) # 移除已感谢
|
| | | |
| | | # 通知协助玩家可接收的感谢个数
|
| | | playerMgr = GameWorld.GetPlayerManager()
|
| | | for assistPlayerID in useThanks.AssistPlayerDict.keys():
|