| | |
| | |
|
| | | return
|
| | |
|
| | | def OnPlayerTeamChange(curPlayer):
|
| | | ## 玩家队伍变更
|
| | | |
| | | if curPlayer.GetTeamID():
|
| | | return
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | |
| | | assistMgr = PyDataManager.GetPlayerAssistPyManager()
|
| | | if playerID not in assistMgr.playerNoSaveDBAssistDict:
|
| | | return
|
| | | playerAssistList = assistMgr.playerNoSaveDBAssistDict[playerID]
|
| | | |
| | | for assistObj in playerAssistList[::-1]:
|
| | | gameMap = GameWorld.GetMap(assistObj.MapID)
|
| | | if gameMap and gameMap.GetMapFBType() == ChConfig.fbtTeam:
|
| | | OnCancelPlayerRequestAssist(assistObj, "LeaveTeam", True)
|
| | | |
| | | return
|
| | |
|
| | | def OnInitAssistData(dbData, isSaveDB):
|
| | | ## 加载协助数据额外处理
|
| | | setattr(dbData, "IsSaveDB", isSaveDB) # 是否保存数据库,离线可协助的需要存库,如挖矿类
|
| | |
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | |
|
| | | assistObj = None
|
| | | addNewAssist = True
|
| | | reqAssistObj = None
|
| | | addNewAssist = False
|
| | | assistMgr = PyDataManager.GetPlayerAssistPyManager()
|
| | | if playerID in assistMgr.playerNoSaveDBAssistDict:
|
| | | playerAssistList = assistMgr.playerNoSaveDBAssistDict[playerID]
|
| | |
| | | if npcID != assistObj.NPCID or lineID != assistObj.LineID or objID != assistObj.ObjID:
|
| | | OnCancelPlayerRequestAssist(assistObj, "RequestNewAssistBoss", True)
|
| | | else:
|
| | | addNewAssist = False
|
| | | reqAssistObj = assistObj
|
| | | break
|
| | |
|
| | | if addNewAssist:
|
| | | assistObj = __AddNewAssist(assistMgr, curPlayer, mapID, lineID, npcID, objID)
|
| | | if not reqAssistObj:
|
| | | addNewAssist = True
|
| | | reqAssistObj = __AddNewAssist(assistMgr, curPlayer, mapID, lineID, npcID, objID)
|
| | |
|
| | | if not assistObj:
|
| | | if not reqAssistObj:
|
| | | return
|
| | |
|
| | | # 通知本仙盟玩家
|
| | | PlayerFamily.SendFamilyFakePack(familyID, GetAssistInfoListPack([assistObj]))
|
| | | PlayerFamily.SendFamilyFakePack(familyID, GetAssistInfoListPack([reqAssistObj]))
|
| | | # 求助信息已发送,请等待盟友支援
|
| | | PlayerControl.NotifyCode(curPlayer, "AssistRequestOK")
|
| | |
|
| | |
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | |
|
| | | assistObj = None
|
| | | reqAssistObj = None
|
| | | addNewAssist = False
|
| | | assistMgr = PyDataManager.GetPlayerAssistPyManager()
|
| | | if playerID in assistMgr.playerNoSaveDBAssistDict:
|
| | |
| | | continue
|
| | | if mapID != assistObj.MapID or lineID != assistObj.LineID:
|
| | | OnCancelPlayerRequestAssist(assistObj, "RequestNewAssistTeamFB", True)
|
| | | addNewAssist = True
|
| | | break
|
| | | else:
|
| | | else:
|
| | | reqAssistObj = assistObj
|
| | | break
|
| | | |
| | | if not reqAssistObj:
|
| | | addNewAssist = True
|
| | | reqAssistObj = __AddNewAssist(assistMgr, curPlayer, mapID, lineID)
|
| | |
|
| | | if addNewAssist:
|
| | | assistObj = __AddNewAssist(assistMgr, curPlayer, mapID, lineID)
|
| | | |
| | | if not assistObj:
|
| | | if not reqAssistObj:
|
| | | return
|
| | |
|
| | | # 通知本仙盟玩家
|
| | | PlayerFamily.SendFamilyFakePack(familyID, GetAssistInfoListPack([assistObj]))
|
| | | PlayerFamily.SendFamilyFakePack(familyID, GetAssistInfoListPack([reqAssistObj]))
|
| | | # 求助信息已发送,请等待盟友支援
|
| | | PlayerControl.NotifyCode(curPlayer, "AssistRequestOK")
|
| | | # 广播仙盟请求
|