| | |
| | | GameWorld.DebugLog("集字活动ID不变,不处理!actNum=%s,actID=%s" % (actNum, actID), curPlayer.GetPlayerID())
|
| | | return
|
| | |
|
| | | templateID = 0
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID, 0)
|
| | | if cfgID:
|
| | | actIpyData = IpyGameDataPY.GetIpyGameData(actName, cfgID)
|
| | | templateID = 0 if not actIpyData else actIpyData.GetTemplateID()
|
| | | exchangeList = IpyGameDataPY.GetIpyGameDataList("CollectWordsExchange", templateID)
|
| | | if not exchangeList:
|
| | | GameWorld.ErrLog("集字兑换找不到兑换模板配置!actNum=%s,cfgID=%s,templateID=%s" % (actNum, cfgID, templateID), playerID)
|
| | | return
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CollectWordsID % actNum, actID)
|
| | | else:
|
| | | for exchangeIpyData in exchangeList:
|
| | | exchangeNum = exchangeIpyData.GetExchangeNum()
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CollectWordsExchangeCount % (actNum, exchangeNum), 0)
|
| | |
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CollectWordsID % actNum, actID)
|
| | | GameWorld.DebugLog("集字活动重置! actNum=%s,cfgID=%s,templateID=%s,actID=%s" % (actNum, cfgID, templateID, actID), playerID)
|
| | |
|
| | | if state:
|
| | |
| | | % (templateID, exchangeNum, curExchangeCount, exchangeCountMax))
|
| | | return
|
| | |
|
| | | exchangeItemInfo = findIpyData.GetExchangeItemInfo()
|
| | | exchangeItemInfo = __GetExchangeItemInfo(findIpyData.GetExchangeItemInfo(), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
|
| | | if len(exchangeItemInfo) != 3:
|
| | | return
|
| | | exchangeItemID = exchangeItemInfo[0]
|
| | |
| | |
|
| | | return
|
| | |
|
| | | def __GetExchangeItemInfo(cfgExchangeItemInfo, worldLV):
|
| | | if isinstance(cfgExchangeItemInfo, dict):
|
| | | return GameWorld.GetDictValueByRangeKey(cfgExchangeItemInfo, worldLV, [])
|
| | | return cfgExchangeItemInfo
|
| | |
|
| | | def SyncCollectWordsActionInfo(curPlayer, actNum):
|
| | | ## 同步活动信息
|
| | |
|
| | |
| | | return
|
| | |
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
|
| | | actInfo = ChPyNetSendPack.tagMCActCollectWordsInfo()
|
| | | actInfo.ActNum = actNum
|
| | | actInfo.StartDate = GameWorld.GetOperationActionDateStr(ipyData.GetStartDate(), openServerDay)
|
| | | actInfo.EndtDate = GameWorld.GetOperationActionDateStr(ipyData.GetEndDate(), openServerDay)
|
| | | actInfo.LimitLV = ipyData.GetLVLimit()
|
| | | actInfo.LastDayOnlyExchange = ipyData.GetLastDayOnlyExchange()
|
| | | actInfo.ExchangeItemList = []
|
| | | clientPack = ChPyNetSendPack.tagMCActCollectWordsInfo()
|
| | | clientPack.ActNum = actNum
|
| | | clientPack.StartDate = GameWorld.GetOperationActionDateStr(ipyData.GetStartDate(), openServerDay)
|
| | | clientPack.EndtDate = GameWorld.GetOperationActionDateStr(ipyData.GetEndDate(), openServerDay)
|
| | | clientPack.LimitLV = ipyData.GetLVLimit()
|
| | | clientPack.LastDayOnlyExchange = ipyData.GetLastDayOnlyExchange()
|
| | | clientPack.ExchangeItemList = []
|
| | |
|
| | | exchangeList = IpyGameDataPY.GetIpyGameDataList("CollectWordsExchange", templateID)
|
| | | if exchangeList:
|
| | | for exchangeIpyData in exchangeList:
|
| | | itemID, itemCount, isBind = exchangeIpyData.GetExchangeItemInfo()
|
| | | itemID, itemCount, isBind = __GetExchangeItemInfo(exchangeIpyData.GetExchangeItemInfo(), actInfo.get(ShareDefine.ActKey_WorldLV, 0))
|
| | | needItemList = exchangeIpyData.GetNeedItemList()
|
| | |
|
| | | exchangeItem = ChPyNetSendPack.tagMCActCollectWordsExchangeItem()
|
| | |
| | | exchangeItem.NeedItemList.append(needItem)
|
| | | exchangeItem.NeedItemCount = len(exchangeItem.NeedItemList)
|
| | |
|
| | | actInfo.ExchangeItemList.append(exchangeItem)
|
| | | clientPack.ExchangeItemList.append(exchangeItem)
|
| | |
|
| | | actInfo.ExchangeCount = len(actInfo.ExchangeItemList)
|
| | | NetPackCommon.SendFakePack(curPlayer, actInfo)
|
| | | clientPack.ExchangeCount = len(clientPack.ExchangeItemList)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|
| | |
|
| | | def SyncCollectWordsPlayerInfo(curPlayer, actNum, exchangeNum=0):
|