8650 【主干】【BT2】活动规则优化(多活动支持的改为单表模式,增加活动分组编号字段区分不同的活动编号;常规活动改为不受合服影响,合服活动独立出来;累计充值活动、集字活动适配为新模式 master冲突补同步);
| | |
| | |
|
| | | Def_Notify_WorldKey_AssistBoss = "AssistBoss" # 协助boss
|
| | |
|
| | | #活动类型定义
|
| | | ActTypeList = (
|
| | | ActType_OpenComm, # 开服及常规运营活动 1
|
| | | ActType_MixServer, # 合服活动 2
|
| | | ActType_Feast, # 节日活动 3
|
| | | ) = range(1, 1 + 3)
|
| | |
|
| | | #运营活动表名定义
|
| | | OperationActionName_ExpRate = "ActExpRate" # 多倍经验活动
|
| | | OperationActionName_CostRebate = "ActCostRebate" # 消费返利活动
|
| | |
| | | OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
|
| | | OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
|
| | | OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
|
| | | OperationActionName_TotalRecharge2 = "ActTotalRecharge2" # 累计充值活动
|
| | | OperationActionName_TotalRecharge3 = "ActTotalRecharge3" # 累计充值活动 - 节日充值领奖
|
| | | OperationActionName_WeekParty = "ActWeekParty" # 周狂欢活动
|
| | | OperationActionName_LoginAward = "ActLoginAward" # 登录奖励活动
|
| | | OperationActionName_FeastWeekParty = "ActFeastWeekParty" # 节日巡礼狂欢活动
|
| | | OperationActionName_FeastRedPacket = "ActFeastRedPacket" # 节日红包活动
|
| | | OperationActionName_CollectWords = "ActCollectWords" # 集字活动
|
| | | OperationActionName_CollectWords2 = "ActCollectWords2" # 集字活动2
|
| | | OperationActionName_LuckyTreasure = "ActLuckyTreasure" # 幸运鉴宝活动
|
| | | OperationActionName_RechargePrize = "ActRechargePrize" # 充值返利活动
|
| | | OperationActionName_RechargeRebateGold = "ActRechargeRebateGold" # 充值返利仙玉活动(活动结束邮件发放,节日活动)
|
| | |
| | | #节日活动类型列表 - 该类型无视开服天,日期到了就开启
|
| | | FeastOperationActionNameList = [OperationActionName_FeastWeekParty, OperationActionName_FeastRedPacket,
|
| | | OperationActionName_RechargeRebateGold, OperationActionName_GrowupBuy,
|
| | | OperationActionName_FeastLogin, OperationActionName_TotalRecharge3,
|
| | | OperationActionName_FeastLogin,
|
| | | OperationActionName_FeastWish, OperationActionName_FeastTravel,
|
| | | ]
|
| | | #所有的运营活动列表,含节日活动
|
| | |
| | | OperationActionName_BossReborn,OperationActionName_SpringSale,
|
| | | OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
|
| | | OperationActionName_RealmPoint, OperationActionName_FlashSale,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge, OperationActionName_TotalRecharge2,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge,
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward,
|
| | | OperationActionName_NewFairyCeremony, OperationActionName_LuckyTreasure,
|
| | | OperationActionName_DailyGiftbag, OperationActionName_RechargePrize,
|
| | | OperationActionName_CollectWords, OperationActionName_CollectWords2] \
|
| | | OperationActionName_CollectWords] \
|
| | | + FeastOperationActionNameList
|
| | | #需要记录开启活动时的世界等级的运营活动
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell,
|
| | | OperationActionName_NewFairyCeremony, OperationActionName_FlashSale,
|
| | | OperationActionName_BossReborn, OperationActionName_TotalRecharge, OperationActionName_TotalRecharge2,
|
| | | OperationActionName_BossReborn, OperationActionName_TotalRecharge,
|
| | | OperationActionName_CostRebate, OperationActionName_FlashGiftbag,
|
| | | OperationActionName_SpringSale, OperationActionName_LuckyTreasure,
|
| | | OperationActionName_DailyGiftbag, OperationActionName_GrowupBuy,
|
| | | OperationActionName_WeekParty,
|
| | | OperationActionName_CollectWords, OperationActionName_CollectWords2,
|
| | | OperationActionName_FeastLogin, OperationActionName_TotalRecharge3,
|
| | | OperationActionName_CollectWords,
|
| | | OperationActionName_FeastLogin,
|
| | | OperationActionName_FeastWish, OperationActionName_FeastTravel,
|
| | | ]
|
| | |
|
| | | #所有的累计充值活动
|
| | | OperationActionName_TotalRechargeDict = {
|
| | | 1:OperationActionName_TotalRecharge,
|
| | | 2:OperationActionName_TotalRecharge2,
|
| | | 3:OperationActionName_TotalRecharge3,
|
| | | }
|
| | | #支持多活动分组编号的活动名
|
| | | MultiActNumOperationActNameList = [OperationActionName_TotalRecharge, OperationActionName_CollectWords]
|
| | |
|
| | | #跨服运营活动表名定义
|
| | | CrossActName_CTGBillboard = "CrossActCTGBillboard" # 充值排行榜
|
| | |
|
| | |
| | | ActKey_ID = "ID" # 活动ID,唯一标识的ID,一般是活动开启的time值
|
| | | ActKey_State = "State" # 活动状态 0-未开启, >0开启中,也代表当日的第几个时间段
|
| | | ActKey_CfgID = "CfgID" # 活动表配置ID
|
| | | ActKey_ActNum = "ActNum" # 活动分组编号
|
| | | ActKey_DayIndex = "DayIndex" # 当前活动天索引,0开始,代表第1天
|
| | | ActKey_TemplateID = "TemplateID" # 当前活动模板ID
|
| | | ActKey_WorldLV = "WorldLV" # 活动开启时世界等级
|
| | |
| | | import ChConfig
|
| | | import CommFunc
|
| | |
|
| | | def GetTemplateID(cfgID, dayIndex, actNum):
|
| | | def GetTemplateID(cfgID, dayIndex):
|
| | | if cfgID == None or dayIndex == None:
|
| | | return 0
|
| | | if actNum == 1:
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTotalRecharge", cfgID)
|
| | | else:
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTotalRecharge%s" % actNum, cfgID) |
| | | if not ipyData:
|
| | | return 0
|
| | | templateIDList = ipyData.GetTemplateIDList()
|
| | | templateID = templateIDList[-1] if dayIndex >= len(templateIDList) else templateIDList[dayIndex]
|
| | | return templateID
|
| | |
|
| | | def GetActInfo(actNum):
|
| | | if ShareDefine.OperationActionName_TotalRecharge not in PyGameData.g_operationActionDict:
|
| | | return {}
|
| | | actNumDict = PyGameData.g_operationActionDict[ShareDefine.OperationActionName_TotalRecharge]
|
| | | if actNum not in actNumDict:
|
| | | return {}
|
| | | return actNumDict[actNum]
|
| | |
|
| | | def OnPlayerLogin(curPlayer):
|
| | |
|
| | | for actNum, actName in ShareDefine.OperationActionName_TotalRechargeDict.items():
|
| | | TransferPlayerActDBKeyValue(curPlayer)
|
| | | |
| | | for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_TotalRecharge, {}).values():
|
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | isReset = __CheckPlayerTotalRechargeAction(curPlayer, actNum)
|
| | | if not isReset:
|
| | | actTotalRechargeInfo = PyGameData.g_operationActionDict.get(actName, {})
|
| | | # 活动中同步活动信息
|
| | | if actTotalRechargeInfo.get(ShareDefine.ActKey_State):
|
| | | if actInfo.get(ShareDefine.ActKey_State):
|
| | | Sync_TotalRechargeActionInfo(curPlayer, actNum)
|
| | | Sync_TotalRechargeInfo(curPlayer, actNum)
|
| | | |
| | | return
|
| | |
|
| | | def TransferPlayerActDBKeyValue(curPlayer):
|
| | | ## 玩家登录时调用,旧版本玩家活动数据转移到新版本字典,线上版本维护之后的版本可删除此代码,线上版本分支 gt_1.100.4
|
| | | |
| | | # 原: 1-常规单日;2-常规多日;3-节日多日
|
| | | # 新:10 11 31
|
| | | transferActNumDict = {1:10, 2:11, 3:31}
|
| | | for actNumOld, actNumNew in transferActNumDict.items():
|
| | | actID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeID % actNumOld)
|
| | | if not actID:
|
| | | continue
|
| | | |
| | | templateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeTemplateID % actNumOld)
|
| | | rechargeGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeGold % actNumOld)
|
| | | awardRecord = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumOld)
|
| | | worldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNumOld)
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeID % actNumNew, actID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeTemplateID % actNumNew, templateID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeGold % actNumNew, rechargeGold)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumNew, awardRecord)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeWorldLV % actNumNew, worldLV)
|
| | | |
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeID % actNumOld, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeTemplateID % actNumOld, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeGold % actNumOld, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeAwardRecord % actNumOld, 0)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeWorldLV % actNumOld, 0)
|
| | | |
| | | GameWorld.Log("累计充值转移玩家活动字典记录: actNumOld=%s,actNumNew=%s,actID=%s,templateID=%s,rechargeGold=%s,awardRecord=%s,worldLV=%s" |
| | | % (actNumOld, actNumNew, actID, templateID, rechargeGold, awardRecord, worldLV), curPlayer.GetPlayerID())
|
| | |
|
| | | return
|
| | |
|
| | |
| | | ## 检查玩家累计充值活动数据信息
|
| | |
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | if actNum not in ShareDefine.OperationActionName_TotalRechargeDict:
|
| | | return
|
| | | actName = ShareDefine.OperationActionName_TotalRechargeDict[actNum]
|
| | | actTotalRechargeInfo = PyGameData.g_operationActionDict.get(actName, {})
|
| | | TotalRechargeID = actTotalRechargeInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actTotalRechargeInfo.get(ShareDefine.ActKey_State, 0)
|
| | | actInfo = GetActInfo(actNum)
|
| | | TotalRechargeID = actInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actInfo.get(ShareDefine.ActKey_State, 0)
|
| | |
|
| | | playerTotalRechargeID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeID % actNum) # 玩家身上的活动ID
|
| | |
|
| | |
| | | if TotalRechargeID == playerTotalRechargeID:
|
| | | GameWorld.DebugLog("累计充值活动ID不变,不处理!actNum=%s" % actNum, curPlayer.GetPlayerID())
|
| | | return
|
| | | actWorldLV = actTotalRechargeInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNum)
|
| | | templateID = GetTemplateID(actTotalRechargeInfo.get(ShareDefine.ActKey_CfgID, 0), actTotalRechargeInfo.get(ShareDefine.ActKey_DayIndex, 0), actNum)
|
| | | templateID = GetTemplateID(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), actNum)
|
| | | playerTemplateID = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeTemplateID % actNum)
|
| | |
|
| | | GameWorld.DebugLog("累计充值重置! actNum=%s,TotalRechargeID=%s,playerTotalRechargeID=%s,state=%s,templateID=%s,playerTemplateID=%s"
|
| | |
| | |
|
| | | if batchPlayerIDList:
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeAwardRecord % actNum, awardRecord)
|
| | | mailTypeKey = "TotalRechargeMail40" if actNum == 3 else "TotalRechargeMail"
|
| | | PlayerControl.SendMailBatch(mailTypeKey, batchPlayerIDList, batchAddItemList, batchParamList)
|
| | | actType = actNum / 10
|
| | | PlayerControl.SendMailBatch("TotalRechargeMail%s" % actType, batchPlayerIDList, batchAddItemList, batchParamList)
|
| | |
|
| | | return
|
| | |
|
| | |
| | | return itemInfoDict[str(job)]
|
| | |
|
| | |
|
| | | def AddTotalRechargeGold(curPlayer, addGold, actNum):
|
| | | def AddTotalRechargeGold(curPlayer, addGold):
|
| | | if addGold <= 0:
|
| | | return
|
| | |
|
| | | if actNum not in ShareDefine.OperationActionName_TotalRechargeDict:
|
| | | return
|
| | | actName = ShareDefine.OperationActionName_TotalRechargeDict[actNum]
|
| | | actTotalRechargeInfo = PyGameData.g_operationActionDict.get(actName, {})
|
| | | |
| | | if not actTotalRechargeInfo.get(ShareDefine.ActKey_State):
|
| | | for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_TotalRecharge, {}).values():
|
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | GameWorld.DebugLog("累计充值活动当前未开启! actNum=%s" % actNum)
|
| | | return
|
| | | continue
|
| | |
|
| | | actID = actTotalRechargeInfo.get(ShareDefine.ActKey_ID)
|
| | | templateID = GetTemplateID(actTotalRechargeInfo.get(ShareDefine.ActKey_CfgID, 0), actTotalRechargeInfo.get(ShareDefine.ActKey_DayIndex, 0), actNum)
|
| | | actID = actInfo.get(ShareDefine.ActKey_ID)
|
| | | templateID = GetTemplateID(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0), actNum)
|
| | | if not actID or not templateID:
|
| | | GameWorld.ErrLog("累计充值活动数据异常!actID=%s,templateID=%s" % (actID, templateID), curPlayer.GetPlayerID())
|
| | | return
|
| | | continue
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeID % actNum, actID)
|
| | | PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_TotalRechargeTemplateID % actNum, templateID)
|
| | |
|
| | |
| | | def OnGetTotalRechargeAward(curPlayer, awardIndex, actNum):
|
| | | '''OnGetTotalRechargeAward
|
| | | @param awardIndex: 奖励索引
|
| | | @param actNum: 活动编号,如1 或 2 代表不同的活动
|
| | | @param actNum: 活动编号,如11 或 12 代表不同的活动
|
| | | '''
|
| | | actNum = GameWorld.ToIntDef(actNum, 0)
|
| | | if actNum <= 0:
|
| | | GameWorld.DebugLog("没有指定领取的累充活动编号! actNum=%s" % actNum)
|
| | | return
|
| | | playerID = curPlayer.GetPlayerID()
|
| | | actInfo = GetActInfo(actNum)
|
| | |
|
| | | if actNum not in ShareDefine.OperationActionName_TotalRechargeDict:
|
| | | return
|
| | | actName = ShareDefine.OperationActionName_TotalRechargeDict[actNum]
|
| | | actTotalRechargeInfo = PyGameData.g_operationActionDict.get(actName, {})
|
| | | |
| | | TotalRechargeID = actTotalRechargeInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actTotalRechargeInfo.get(ShareDefine.ActKey_State, 0)
|
| | | templateID = GetTemplateID(actTotalRechargeInfo.get(ShareDefine.ActKey_CfgID, 0), actTotalRechargeInfo.get(ShareDefine.ActKey_DayIndex, 0), actNum)
|
| | | TotalRechargeID = actInfo.get(ShareDefine.ActKey_ID, 0)
|
| | | state = actInfo.get(ShareDefine.ActKey_State, 0)
|
| | | templateID = GetTemplateID(actInfo.get(ShareDefine.ActKey_CfgID, 0), actInfo.get(ShareDefine.ActKey_DayIndex, 0))
|
| | | if not state or not templateID:
|
| | | GameWorld.DebugLog("没有累计充值活动,无法领奖!actNum=%s,state=%s,templateID=%s" % (actNum, state, templateID), playerID)
|
| | | return
|
| | |
| | | return
|
| | |
|
| | | needGold = CommFunc.RMBToCoin(awardIpyData.GetNeedGold())
|
| | | actWorldLV = actTotalRechargeInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | awardItemList = __GetItemList(ipyData.GetAwardItem(), curPlayer.GetJob(), actWorldLV)
|
| | |
|
| | | curRechargeGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeGold % actNum)
|
| | |
| | | def Sync_TotalRechargeActionInfo(curPlayer, actNum):
|
| | | ## 通知累计充值活动信息
|
| | |
|
| | | if actNum not in ShareDefine.OperationActionName_TotalRechargeDict:
|
| | | return
|
| | | actName = ShareDefine.OperationActionName_TotalRechargeDict[actNum]
|
| | | actTotalRechargeInfo = PyGameData.g_operationActionDict.get(actName, {})
|
| | | |
| | | if not actTotalRechargeInfo:
|
| | | actInfo = GetActInfo(actNum)
|
| | | if not actInfo.get(ShareDefine.ActKey_State):
|
| | | return
|
| | |
|
| | | if not actTotalRechargeInfo.get(ShareDefine.ActKey_State):
|
| | | return
|
| | | |
| | | cfgID = actTotalRechargeInfo.get(ShareDefine.ActKey_CfgID)
|
| | | if actNum == 1:
|
| | | cfgID = actInfo.get(ShareDefine.ActKey_CfgID)
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTotalRecharge", cfgID)
|
| | | else:
|
| | | ipyData = IpyGameDataPY.GetIpyGameData("ActTotalRecharge%s" % actNum, cfgID) |
| | | if not ipyData:
|
| | | return
|
| | |
|
| | |
| | | if not templateIDList:
|
| | | return
|
| | | job = curPlayer.GetJob()
|
| | | actWorldLV = actTotalRechargeInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0)
|
| | | openServerDay = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_ServerDay) + 1
|
| | | actInfo = ChPyNetSendPack.tagMCActTotalRechargeInfo()
|
| | | actInfo.ActNum = actNum
|
| | |
| | | PlayerNewFairyCeremony.OnFCRecharge(curPlayer)
|
| | | PlayerGoldGift.OnPlayerChargeGold(curPlayer)
|
| | | #累积充值X元
|
| | | for actNum in ShareDefine.OperationActionName_TotalRechargeDict.keys():
|
| | | PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin, actNum)
|
| | | PlayerActTotalRecharge.AddTotalRechargeGold(curPlayer, orderCoin)
|
| | | PlayerFairyCeremony.AddFCCTGRMB(curPlayer, orderCoin)
|
| | | PlayerNewFairyCeremony.AddFCCostGold(curPlayer, orderCoin)
|
| | | #开服活动
|
| | |
| | | if key.startswith(ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]):
|
| | | keyHead = ShareDefine.Def_Notify_WorldKey_OperationActionInfo[:-2]
|
| | | actionName = key[len(keyHead):]
|
| | | PyGameData.g_operationActionDict[actionName] = eval(msgValue)
|
| | | actInfo = eval(msgValue)
|
| | | actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0)
|
| | | if actionName in ShareDefine.MultiActNumOperationActNameList:
|
| | | if not actNum:
|
| | | GameWorld.ErrLog('MultiActNumOperation can not found actNum. actionName=%s,msg = %s' % (actionName, msg))
|
| | | return
|
| | | if actionName not in PyGameData.g_operationActionDict:
|
| | | PyGameData.g_operationActionDict[actionName] = {}
|
| | | PyGameData.g_operationActionDict[actionName][actNum] = actInfo
|
| | | else:
|
| | | PyGameData.g_operationActionDict[actionName] = actInfo
|
| | |
|
| | | if actionName == ShareDefine.OperationActionName_ExpRate:
|
| | | PlayerControl.RefreshOperationAction_ExpRate()
|
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_CostRebate:
|
| | | PlayerCostRebate.RefreshCostRebateActionInfo()
|
| | | elif actionName in ShareDefine.OperationActionName_TotalRechargeDict.values():
|
| | | for actNum, actName in ShareDefine.OperationActionName_TotalRechargeDict.items():
|
| | | if actionName == actName:
|
| | | |
| | | elif actionName == ShareDefine.OperationActionName_TotalRecharge:
|
| | | PlayerActTotalRecharge.RefreshTotalRechargeActionInfo(actNum)
|
| | | break
|
| | | |
| | | elif actionName == ShareDefine.OperationActionName_SpringSale:
|
| | | PlayerSpringSale.RefreshSpringSaleActionInfo()
|
| | |
|
| | |
| | | PlayerWishingWell.RefreshWishingWellAction()
|
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_CollectWords:
|
| | | PlayerActCollectWords.RefreshActCollectWordsInfo(1)
|
| | | |
| | | elif actionName == ShareDefine.OperationActionName_CollectWords2:
|
| | | PlayerActCollectWords.RefreshActCollectWordsInfo(2)
|
| | | PlayerActCollectWords.RefreshActCollectWordsInfo(actNum)
|
| | |
|
| | | elif actionName == ShareDefine.OperationActionName_WeekParty:
|
| | | PlayerWeekParty.RefreshOperationAction_WeekParty()
|
| | |
| | |
|
| | | Def_Notify_WorldKey_AssistBoss = "AssistBoss" # 协助boss
|
| | |
|
| | | #活动类型定义
|
| | | ActTypeList = (
|
| | | ActType_OpenComm, # 开服及常规运营活动 1
|
| | | ActType_MixServer, # 合服活动 2
|
| | | ActType_Feast, # 节日活动 3
|
| | | ) = range(1, 1 + 3)
|
| | |
|
| | | #运营活动表名定义
|
| | | OperationActionName_ExpRate = "ActExpRate" # 多倍经验活动
|
| | | OperationActionName_CostRebate = "ActCostRebate" # 消费返利活动
|
| | |
| | | OperationActionName_FlashSale = "ActFlashSale" # 限时抢购活动
|
| | | OperationActionName_WishingWell = "ActWishingWell" # 许愿池活动
|
| | | OperationActionName_TotalRecharge = "ActTotalRecharge" # 累计充值活动
|
| | | OperationActionName_TotalRecharge2 = "ActTotalRecharge2" # 累计充值活动
|
| | | OperationActionName_TotalRecharge3 = "ActTotalRecharge3" # 累计充值活动 - 节日充值领奖
|
| | | OperationActionName_WeekParty = "ActWeekParty" # 周狂欢活动
|
| | | OperationActionName_LoginAward = "ActLoginAward" # 登录奖励活动
|
| | | OperationActionName_FeastWeekParty = "ActFeastWeekParty" # 节日巡礼狂欢活动
|
| | | OperationActionName_FeastRedPacket = "ActFeastRedPacket" # 节日红包活动
|
| | | OperationActionName_CollectWords = "ActCollectWords" # 集字活动
|
| | | OperationActionName_CollectWords2 = "ActCollectWords2" # 集字活动2
|
| | | OperationActionName_LuckyTreasure = "ActLuckyTreasure" # 幸运鉴宝活动
|
| | | OperationActionName_RechargePrize = "ActRechargePrize" # 充值返利活动
|
| | | OperationActionName_RechargeRebateGold = "ActRechargeRebateGold" # 充值返利仙玉活动(活动结束邮件发放,节日活动)
|
| | |
| | | #节日活动类型列表 - 该类型无视开服天,日期到了就开启
|
| | | FeastOperationActionNameList = [OperationActionName_FeastWeekParty, OperationActionName_FeastRedPacket,
|
| | | OperationActionName_RechargeRebateGold, OperationActionName_GrowupBuy,
|
| | | OperationActionName_FeastLogin, OperationActionName_TotalRecharge3,
|
| | | OperationActionName_FeastLogin,
|
| | | OperationActionName_FeastWish, OperationActionName_FeastTravel,
|
| | | ]
|
| | | #所有的运营活动列表,含节日活动
|
| | |
| | | OperationActionName_BossReborn,OperationActionName_SpringSale,
|
| | | OperationActionName_FlashGiftbag, OperationActionName_FairyCeremony,
|
| | | OperationActionName_RealmPoint, OperationActionName_FlashSale,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge, OperationActionName_TotalRecharge2,
|
| | | OperationActionName_WishingWell, OperationActionName_TotalRecharge,
|
| | | OperationActionName_WeekParty, OperationActionName_LoginAward,
|
| | | OperationActionName_NewFairyCeremony, OperationActionName_LuckyTreasure,
|
| | | OperationActionName_DailyGiftbag, OperationActionName_RechargePrize,
|
| | | OperationActionName_CollectWords, OperationActionName_CollectWords2] \
|
| | | OperationActionName_CollectWords] \
|
| | | + FeastOperationActionNameList
|
| | | #需要记录开启活动时的世界等级的运营活动
|
| | | NeedWorldLVOperationActNameList = [OperationActionName_FairyCeremony, OperationActionName_WishingWell,
|
| | | OperationActionName_NewFairyCeremony, OperationActionName_FlashSale,
|
| | | OperationActionName_BossReborn, OperationActionName_TotalRecharge, OperationActionName_TotalRecharge2,
|
| | | OperationActionName_BossReborn, OperationActionName_TotalRecharge,
|
| | | OperationActionName_CostRebate, OperationActionName_FlashGiftbag,
|
| | | OperationActionName_SpringSale, OperationActionName_LuckyTreasure,
|
| | | OperationActionName_DailyGiftbag, OperationActionName_GrowupBuy,
|
| | | OperationActionName_WeekParty,
|
| | | OperationActionName_CollectWords, OperationActionName_CollectWords2,
|
| | | OperationActionName_FeastLogin, OperationActionName_TotalRecharge3,
|
| | | OperationActionName_CollectWords,
|
| | | OperationActionName_FeastLogin,
|
| | | OperationActionName_FeastWish, OperationActionName_FeastTravel,
|
| | | ]
|
| | |
|
| | | #所有的累计充值活动
|
| | | OperationActionName_TotalRechargeDict = {
|
| | | 1:OperationActionName_TotalRecharge,
|
| | | 2:OperationActionName_TotalRecharge2,
|
| | | 3:OperationActionName_TotalRecharge3,
|
| | | }
|
| | | #支持多活动分组编号的活动名
|
| | | MultiActNumOperationActNameList = [OperationActionName_TotalRecharge, OperationActionName_CollectWords]
|
| | |
|
| | | #跨服运营活动表名定义
|
| | | CrossActName_CTGBillboard = "CrossActCTGBillboard" # 充值排行榜
|
| | |
|
| | |
| | | ActKey_ID = "ID" # 活动ID,唯一标识的ID,一般是活动开启的time值
|
| | | ActKey_State = "State" # 活动状态 0-未开启, >0开启中,也代表当日的第几个时间段
|
| | | ActKey_CfgID = "CfgID" # 活动表配置ID
|
| | | ActKey_ActNum = "ActNum" # 活动分组编号
|
| | | ActKey_DayIndex = "DayIndex" # 当前活动天索引,0开始,代表第1天
|
| | | ActKey_TemplateID = "TemplateID" # 当前活动模板ID
|
| | | ActKey_WorldLV = "WorldLV" # 活动开启时世界等级
|