| | |
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | isReset = __CheckPlayerActTaskAction(curPlayer, actNum)
|
| | | # 活动中同步活动信息
|
| | | if not isReset and actInfo.get(ShareDefine.ActKey_State):
|
| | | if not isReset and actInfo.get(ShareDefine.ActKey_State) and curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskID % actNum):
|
| | | Sync_ActTaskActionInfo(curPlayer, actNum)
|
| | | Sync_ActTaskPlayerValueInfo(curPlayer, actNum)
|
| | | Sync_ActTaskPlayerInfo(curPlayer, actNum)
|
| | | |
| | | return
|
| | |
|
| | | def OnDay(curPlayer):
|
| | | OnCheckRelateFuncAct(curPlayer)
|
| | | return
|
| | |
|
| | | def OnCheckRelateFuncAct(curPlayer, openFuncIDList=None):
|
| | | ## 检查关联功能ID开启的活动
|
| | | for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_ActTask, {}).values():
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | continue
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTask", cfgID)
|
| | | if not ipyData:
|
| | | continue
|
| | | if not hasattr(ipyData, "GetRelateFuncID"):
|
| | | continue
|
| | | relateFuncID = ipyData.GetRelateFuncID()
|
| | | if not relateFuncID:
|
| | | continue
|
| | | if openFuncIDList and relateFuncID not in openFuncIDList:
|
| | | continue
|
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | __CheckPlayerActTaskAction(curPlayer, actNum)
|
| | |
|
| | | return
|
| | |
|
| | |
| | |
|
| | | playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskID % actNum) # 玩家身上的活动ID
|
| | | lastTempID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskTempID % actNum)
|
| | | |
| | | funcActInfo = GameWorld.GetActRelateFuncInfo(curPlayer, "ActTask", actInfo, playerActID)
|
| | | if funcActInfo:
|
| | | isInAct, actID = funcActInfo
|
| | | if not isInAct:
|
| | | return
|
| | |
|
| | | # 活动ID 相同的话不处理
|
| | | if actID == playerActID:
|
| | |
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | continue
|
| | | |
| | | if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskID % actNum):
|
| | | continue
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTask", cfgID)
|
| | | if not ipyData:
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def AddActTaskValue(curPlayer, taskType, addValue):
|
| | | def AddActTaskValue(curPlayer, taskType, addValue=1):
|
| | | ## 增加任务活动进度值
|
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | |
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | continue
|
| | | |
| | | if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskID % actNum):
|
| | | continue
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTask", cfgID)
|
| | | if not ipyData:
|
| | |
| | | return
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | return
|
| | | playerActID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ActTaskID % actNum) # 玩家身上的活动ID
|
| | | if not playerActID:
|
| | | return
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTask", cfgID)
|
| | | if not ipyData:
|
| | |
| | | if not taskIpyDataList:
|
| | | return
|
| | |
|
| | | if hasattr(ipyData, "GetRelateFuncID") and ipyData.GetRelateFuncID():
|
| | | startDateStr, endDateStr = GameWorld.GetActRelateFuncDate(ipyData, playerActID, True)
|
| | | else:
|
| | | startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData)
|
| | | actPack = ChPyNetSendPack.tagMCActTaskInfo()
|
| | | actPack.Clear()
|