|  |  |  | 
|---|
|  |  |  | import ShareDefine | 
|---|
|  |  |  | import EventReport | 
|---|
|  |  |  | import PlayerControl | 
|---|
|  |  |  | import QuestCommon | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | #---副本配置对应key值--- | 
|---|
|  |  |  | 
|---|
|  |  |  | ) = range(5) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | FBPlayerDict_MissionID = 'FBPlayerDict_MissionID'   #副本任务ID | 
|---|
|  |  |  | FBPlayerDict_MissionType = 'FBPlayerDict_MissionType'   #副本任务类型 | 
|---|
|  |  |  | FBPlayerDict_CostTime = 'FBPlayerDict_CostTime'   #副本耗时 | 
|---|
|  |  |  | FBPlayerDict_TotalPoint = 'FBPlayerDict_TotalPoint'   # 获得的总积分 | 
|---|
|  |  |  | FBPlayerDict_NPCRemainCnt = 'FBPlayerDict_NPCRemainCnt_%s'   # NPC剩余数量 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | fbMissionID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqFBMissionID) | 
|---|
|  |  |  | if fbMissionID: | 
|---|
|  |  |  | fbMissionType = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqFBMissionType) | 
|---|
|  |  |  | gameFB.SetGameFBDict(FBPlayerDict_MissionID, fbMissionID) | 
|---|
|  |  |  | gameFB.SetGameFBDict(FBPlayerDict_MissionType, fbMissionType) | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_ReqFBMissionID, 0) | 
|---|
|  |  |  | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_ReqFBMissionType, 0) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | fbStep = gameFB.GetFBStep() | 
|---|
|  |  |  | if fbStep < FB_Step_Prepare: | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ##玩家退出家族处理 | 
|---|
|  |  |  | # @param curPlayer 玩家实例 | 
|---|
|  |  |  | # @param tick 时间戳 | 
|---|
|  |  |  | # @return 返回值无意义 | 
|---|
|  |  |  | def OnLeaveFamily(curPlayer, tick): | 
|---|
|  |  |  | gameFB = GameWorld.GetGameFB() | 
|---|
|  |  |  | fbMissionType = gameFB.GetGameFBDictByKey(FBPlayerDict_MissionType) | 
|---|
|  |  |  | if fbMissionType == QuestCommon.Def_Mission_Type_RunFamily: | 
|---|
|  |  |  | gameFB.SetGameFBDict(FBPlayerDict_MissionType, 0) | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ## 任务专用,触发事件(副本内完成某任务) | 
|---|
|  |  |  | #  @param curPlayer:玩家实例 | 
|---|
|  |  |  | 
|---|
|  |  |  | costTime = tick - GameWorld.GetGameFB().GetFBStepTick() | 
|---|
|  |  |  | gameFB.SetGameFBDict(FBPlayerDict_CostTime, costTime) | 
|---|
|  |  |  | fbMissionID = gameFB.GetGameFBDictByKey(FBPlayerDict_MissionID) | 
|---|
|  |  |  | fbMissionType = gameFB.GetGameFBDictByKey(FBPlayerDict_MissionType) | 
|---|
|  |  |  | # 通知结果 此处只通知失败,成功在完成任务时通知, 不是通过任务进的副本也通知 | 
|---|
|  |  |  | if not isPass or not fbMissionID: | 
|---|
|  |  |  | if not isPass or not fbMissionID or not fbMissionType: | 
|---|
|  |  |  | __SendOverInfo(curPlayer, {FBCommon.Over_isPass:int(isPass), FBCommon.Over_exp:exp,FBCommon.Over_expPoint:expPoint, FBCommon.Over_costTime:costTime}) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 进入离开阶段 | 
|---|