|  |  | 
 |  |  | ) = range(3)
 | 
 |  |  | 
 | 
 |  |  | #---战盟副本---
 | 
 |  |  | Map_FamilyPartyFB_FamilyID = "FamilyPartyFB_FamilyID"  # 对应的家族id
 | 
 |  |  | Map_FamilyPartyFB_StartTick = "Map_FamilyPartyFB_StartTick"  # 副本开始时间
 | 
 |  |  | GameFBDict_LastEnterFbDay = 'LastEnterFbDay_%s'  #上次进入活动的开服天
 | 
 |  |  | FBPlayerDict_TotalExp = 'XMYH_TotalExp%s'  # 获得的总经验
 | 
 |  |  | 
 |  |  | # @remarks 开启副本
 | 
 |  |  | def OnOpenFB(tick):
 | 
 |  |  |     gameFB = GameWorld.GetGameFB()
 | 
 |  |  |     gameFB.SetGameFBDict(Map_FamilyPartyFB_FamilyID, 0)
 | 
 |  |  |     gameFB.ClearAllPlayerGameFBDict()  # 清除所有玩家对应的副本字典信息
 | 
 |  |  |     gameFB.SetGameFBDict(ChConfig.Map_FBDict_NotifyStart, 0)
 | 
 |  |  |     return
 | 
 |  |  | 
 |  |  |         return
 | 
 |  |  |     curPlayer.Sync_TimeTick(IPY_GameWorld.tttTowerTake, 0, closeFB_RemainTick, True) 
 | 
 |  |  |     GameWorld.DebugLog('closeFB_RemainTick=%s' % closeFB_RemainTick)
 | 
 |  |  |     if not gameFB.GetGameFBDictByKey(Map_FamilyPartyFB_FamilyID):
 | 
 |  |  |         gameFB.SetGameFBDict(Map_FamilyPartyFB_FamilyID, curPlayer.GetFamilyID())
 | 
 |  |  |        
 | 
 |  |  |     openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay)
 | 
 |  |  |     if gameWorld.GetGameWorldDictByKey(GameFBDict_LastEnterFbDay % playerID) != openServerDay + 1:
 | 
 |  |  | 
 |  |  | # @return 返回值无意义
 | 
 |  |  | # @remarks 副本定时器
 | 
 |  |  | def OnProcess(tick):
 | 
 |  |  |     familyID = GameWorld.GetGameWorld().GetPropertyID()
 | 
 |  |  |     if not familyID:
 | 
 |  |  |         return
 | 
 |  |  |     gameFB = GameWorld.GetGameFB()
 | 
 |  |  |     fbStep = gameFB.GetFBStep()
 | 
 |  |  | 
 | 
 |  |  |     #GameWorld.DebugLog("    OnProcess...")
 | 
 |  |  |     if fbStep == FB_Step_Open:
 | 
 |  |  |         if FBCommon.GetFBFuncOpenState(ChConfig.Def_FBMapID_FamilyParty):
 | 
 |  |  | 
 |  |  |             GameWorldProcess.CloseFB(tick)
 | 
 |  |  |         else:
 | 
 |  |  |             #FBCommon.DoLogicAreaReward("FamilyPartyAreaAward", tick)
 | 
 |  |  |             #FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 10000)
 | 
 |  |  |             FBCommon.NotifyCopyMapPlayerFBHelp(tick, DoFBHelp, 10000)
 | 
 |  |  |             
 | 
 |  |  |             mapID = GameWorld.GetMap().GetMapID()
 | 
 |  |  |             notifyIndex = gameFB.GetGameFBDictByKey(ChConfig.Map_FBDict_NotifyStart)
 | 
 |  |  | 
 |  |  |                 remaindTick = max(0, __GetRemainTick(tick) - 1000)
 | 
 |  |  |                 if remaindTick <= (notifySecond + 1) * 1000:   
 | 
 |  |  |                     #remaindSecond = remaindTick / 1000
 | 
 |  |  |                     familyID = gameFB.GetGameFBDictByKey(Map_FamilyPartyFB_FamilyID)
 | 
 |  |  |                      | 
 |  |  |                     PlayerControl.FamilyNotify(familyID, "Party_OverTime", [notifySecond])
 | 
 |  |  |                      
 | 
 |  |  |                     GameWorld.GetGameFB().SetGameFBDict(ChConfig.Map_FBDict_NotifyStart, notifyIndex + 1)
 | 
 |  |  | 
 |  |  |             return
 | 
 |  |  |         curPlayer.StopMove()
 | 
 |  |  |         curPlayer.Sit()
 | 
 |  |  |         if tagPlayer.GetPlayerAction() not in [IPY_GameWorld.paSit, IPY_GameWorld.paPreparing]:
 | 
 |  |  |             tagPlayer.StopMove()
 | 
 |  |  |             tagPlayer.Sit()
 | 
 |  |  |         if not gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasSit % tagPlayerID):
 | 
 |  |  |             if tagPlayer.GetPlayerAction() not in [IPY_GameWorld.paSit, IPY_GameWorld.paPreparing]:
 | 
 |  |  |                 tagPlayer.StopMove()
 | 
 |  |  |                 tagPlayer.Sit()
 | 
 |  |  |     elif actionType == 1:  #打坐结束给奖励
 | 
 |  |  |         hasSit = gameWorld.GetGameWorldDictByKey(FBPlayerDict_HasSit % playerID)
 | 
 |  |  |         if hasSit:
 | 
 |  |  |             GameWorld.Log('打坐结束给奖励,玩家已打坐过一次', playerID)
 | 
 |  |  |             return
 | 
 |  |  |         reLV = curPlayer.GetLV()
 | 
 |  |  |         worldlv = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
 | 
 |  |  |         giveLV = eval(IpyGameDataPY.GetFuncCompileCfg('FamilyPartySitAward', 2))
 |