| | |
| | | ) = 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):
|
| | |
| | | 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))
|