From 10a8911b87261fd20314009562b76242901f3e4f Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期二, 10 八月 2021 19:02:53 +0800 Subject: [PATCH] 9135 【主干】【BT3】活动逻辑优化(世界等级变更不影响已经开启活动的玩家奖励;多日连充、单笔累充、单日/多日累充、转盘活动、仙匣秘境、boss复活、消费返利、周狂欢) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py | 4 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py | 48 ------------ ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py | 82 -------------------- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py | 4 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActSingleRecharge.py | 6 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py | 8 + ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py | 2 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py | 41 ---------- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActXianXiaMJ.py | 8 +- 10 files changed, 17 insertions(+), 188 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py index 277b74b..1a81493 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldActionControl.py @@ -658,88 +658,6 @@ return actNumDisableWeekIpyDataInfo, disableWeekCfgIDDict -def TransferOperationActDBKeyValue(): - ''' 服务器启动时调用 - 支持多活动的数据转移,旧版本db活动数据转移到新版本,分两种情况 - 1. 原已支持多活动的: 手动根据原编号规则进行指定转移,这个维护一次后代码可删除 - 2. 原不支持多活动的,自动根据原活动类型进行适配转移即可,由于合服相关的独立出来了,所以只需要处理常规的及节日类型 - 这个代码可以一直放着,后续增加支持多活动类型的配置到 MultiActNumOperationActNameList 即可 - - 注:不支持多活动的,暂还是用旧的key记录数据 - ''' - GameWorld.Log("=== 转移运营活动旧版本数据到新版本 ===") - - # 1. 原已支持的 - 维护后过一次后可删除或注释掉,目前只有累计充值、集字,线上版本分支 gt_1.100.4 - transferDict = { - ShareDefine.OperationActionName_TotalRecharge:[ - # 原常规每日累充 转移 到 10 - [PlayerDBGSEvent.Def_OperationActID % ShareDefine.OperationActionName_TotalRecharge, - PlayerDBGSEvent.Def_OperationActID % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 10, - ], - [PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_TotalRecharge, - PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 10, - ], - - # 原常规多日累充2 转移 到 11 - [PlayerDBGSEvent.Def_OperationActID % (ShareDefine.OperationActionName_TotalRecharge + "2"), - PlayerDBGSEvent.Def_OperationActID % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 11, - ], - [PlayerDBGSEvent.Def_OActWorldLV % (ShareDefine.OperationActionName_TotalRecharge + "2"), - PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 11, - ], - - # 原节日多日累充3 转移 到 31 - [PlayerDBGSEvent.Def_OperationActID % (ShareDefine.OperationActionName_TotalRecharge + "3"), - PlayerDBGSEvent.Def_OperationActID % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 31, - ], - [PlayerDBGSEvent.Def_OActWorldLV % (ShareDefine.OperationActionName_TotalRecharge + "3"), - PlayerDBGSEvent.Def_OActWorldLV % ShareDefine.OperationActionName_TotalRecharge + "_%s" % 31, - ], - ], - ShareDefine.OperationActionName_CollectWords:[ - # 只配置了常规日期的,可不处理 - ], - } - for actName, transferKeyList in transferDict.items(): - for oldKey, newKey in transferKeyList: - value = PlayerDBGSEvent.GetDBGSTrig_ByKey(oldKey) - if not value: - continue - GameWorld.Log(" 转移旧运营活动dbKey值到新key: actName=%s,oldKey=%s,newKey=%s,value=%s" % (actName, oldKey, newKey, value)) - PlayerDBGSEvent.SetDBGSTrig_ByKey(newKey, value) - PlayerDBGSEvent.DelDBGSTrig_ByKey(oldKey) - - # 2. 新增支持的 - 可当做常规代码一直留着 - for actName in ShareDefine.MultiActNumOperationActNameList: - if actName in transferDict: - # 特殊处理转化的活动不进行常规处理 - continue - - actIDKeyOld = PlayerDBGSEvent.Def_OperationActID % actName - worldLVKeyOld = PlayerDBGSEvent.Def_OActWorldLV % actName - - actNum = GetOperationActNum(actName) - actIDKeyNew = actIDKeyOld + "_%s" % actNum - worldLVKeyNew = worldLVKeyOld + "_%s" % actNum - - dbActID = PlayerDBGSEvent.GetDBGSTrig_ByKey(actIDKeyOld) - dbWorldLV = PlayerDBGSEvent.GetDBGSTrig_ByKey(worldLVKeyOld) - if not dbActID: - continue - - GameWorld.Log(" 转移旧运营活动dbKey值到新key: actName=%s" % actName) - PlayerDBGSEvent.SetDBGSTrig_ByKey(actIDKeyNew, dbActID) - PlayerDBGSEvent.DelDBGSTrig_ByKey(actIDKeyOld) - GameWorld.Log(" actIDKeyOld=%s,actIDKeyNew=%s,dbActID=%s" % (actIDKeyOld, actIDKeyNew, dbActID)) - - if dbWorldLV: - PlayerDBGSEvent.SetDBGSTrig_ByKey(worldLVKeyNew, dbWorldLV) - PlayerDBGSEvent.DelDBGSTrig_ByKey(worldLVKeyOld) - GameWorld.Log(" worldLVKeyOld=%s,worldLVKeyNew=%s,dbWorldLV=%s" % (worldLVKeyOld, worldLVKeyNew, dbWorldLV)) - - GameWorld.Log("===================================") - return - def Dispose_OperationActionState(reloadRefresh=False): # 运营活动状态处理, 每天0点会强制同步当天的运营活动详情到地图服务器 diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py index df31452..6cb9e0e 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/GameWorldProcess.py @@ -1207,8 +1207,6 @@ GameWorld.GetGameWorld().SetDict(ChConfig.Def_WorldKey_IsGameWorldInit, int(time.time())) #初始化游戏时钟 GameWorld.GetGameWorld().SetTickTypeCount(ChConfig.TYPE_Tick_Count) - #转移运营活动旧db记录key value 到 新记录 - GameWorldActionControl.TransferOperationActDBKeyValue() #初始话开服时间、星期几 initOpenServerTime = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_InitOpenServerTime) openServerWeekday = PlayerDBGSEvent.GetDBGSTrig_ByKey(PlayerDBGSEvent.Def_OpenServerWeekday) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActSingleRecharge.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActSingleRecharge.py index 06ca77c..ee58b80 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActSingleRecharge.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActSingleRecharge.py @@ -251,7 +251,7 @@ # 线下活动,检查发放奖励 if ipyData.GetIsOfflineAct(): - playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TotalRechargeWorldLV % actNum) + playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SingleRechargeWorldLV % actNum) __SendSingleRechargeMail(curPlayer, templateID, playerWorldLV, actNum) return @@ -302,7 +302,7 @@ % (templateID, awardIndex, singleValue, canAwardValue), playerID) return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SingleRechargeWorldLV % actNum) awardItemList = GameWorld.GetDictValueByRangeKey(ipyData.GetAwardItem(), actWorldLV, []) if not ItemControler.CheckPackSpaceEnough(curPlayer, awardItemList): @@ -373,7 +373,7 @@ if not templateID: return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_SingleRechargeWorldLV % actNum) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData) clientPack = ChPyNetSendPack.tagMCActSingleRechargeInfo() diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py index 6f601a5..c79608b 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActTurntable.py @@ -289,7 +289,7 @@ if not canChoose: return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TurntableWorldLV % actNum) goodItemLib = GameWorld.GetDictValueByRangeKey(ipyData.GetGoodItemLib(), actWorldLV, []) chooseGoodItemNumList = clientData.GoodItemNumList if not chooseGoodItemNumList or len(chooseGoodItemNumList) != goodCount or min(chooseGoodItemNumList) <= 0 or max(chooseGoodItemNumList) > len(goodItemLib): @@ -481,7 +481,7 @@ if not ipyData: return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TurntableWorldLV % actNum) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData) clientPack = ChPyNetSendPack.tagMCActTurntableInfo() diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActXianXiaMJ.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActXianXiaMJ.py index b9e25f5..d7e74b2 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActXianXiaMJ.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActXianXiaMJ.py @@ -124,7 +124,7 @@ if not templateID: return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJWorldLV % actNum) awardIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActXianXiaMJAward", templateID) if not awardIpyDataList: return @@ -262,7 +262,7 @@ cfgID = actInfo.get(ShareDefine.ActKey_CfgID) actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0) - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJWorldLV % actNum) layerInfoValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJAwardLayerInfo % actNum) layerNum = layerInfoValue % 100 @@ -389,7 +389,7 @@ if not templateID: return - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJWorldLV % actNum) awardIpyDataList = IpyGameDataPY.GetIpyGameDataList("ActXianXiaMJAward", templateID) if not awardIpyDataList: return @@ -526,7 +526,7 @@ return costMoneyType, costMoneyValue = ipyData.GetUseMoneyInfo() - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJWorldLV % actNum) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData) layerInfoValue = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_XianXiaMJAwardLayerInfo % actNum) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py index 8ce9306..7add026 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBossReborn.py @@ -228,7 +228,7 @@ ipyDataList = IpyGameDataPY.GetIpyGameDataByCondition("BossReborn", {'TemplateID':templateID}, True) if not ipyDataList: return - worldLV = actBossRebornInfo.get(ShareDefine.ActKey_WorldLV, 0) + worldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_BRActionWorldLV) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actBossIpyData) actInfo = ChPyNetSendPack.tagMCBossRebornInfo() actInfo.Clear() diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py index 887a13e..1f1dc51 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCostRebate.py @@ -223,7 +223,7 @@ return needCostGold = awardIpyData.GetNeedCostGold() - actWorldLV = actInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CostRebateWorldLV % actNum) awardItemList = __GetItemList(awardIpyData.GetAwardItemList(), curPlayer.GetJob(), actWorldLV) curCostGold = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CostRebateGold % actNum) @@ -279,7 +279,7 @@ if not templateIDList: return job = curPlayer.GetJob() - actWorldLV = actCostRebateInfo.get(ShareDefine.ActKey_WorldLV, 0) + actWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CostRebateWorldLV % actNum) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(ipyData) actInfo = ChPyNetSendPack.tagMCCostRebateInfo() actInfo.ActNum = actNum diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py index d08b0f3..31c25c8 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashGiftbag.py @@ -41,52 +41,11 @@ def OnPlayerLogin(curPlayer): - TransferPlayerActDBKeyValue(curPlayer) - for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FlashGiftbag, {}).values(): actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0) isReset = __CheckPlayerFlashGiftbagAction(curPlayer, actNum) if not isReset: pass - - return - -def TransferPlayerActDBKeyValue(curPlayer): - ## 玩家登录时调用,旧版本玩家活动数据转移到新版本字典,线上版本维护之后的版本可删除此代码,线上版本分支 gt_1.100.4 - - ##限时礼包活动 - Def_PDict_FlashGiftbagID = "FlashGiftbagID" # 玩家身上的限时礼包活动ID,唯一标识,取活动开始日期time - Def_PDict_FlashGiftbagBuyCount = "FlashGiftbagBuyCount_%s" # 限时礼包已购买次数,参数(礼包ID) - Def_PDict_FlashGiftbagMailState = "FlashGiftbagMailState" # 玩家身上的活动更新提醒邮件状态 - - playerActID = curPlayer.NomalDictGetProperty(Def_PDict_FlashGiftbagID) - if not playerActID: - return - - tagActNum = 10 - - playerMailState = curPlayer.NomalDictGetProperty(Def_PDict_FlashGiftbagMailState) # 玩家身上的活动提醒邮件状态 - - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagID % tagActNum, playerActID) - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagMailState % tagActNum, playerMailState) - - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashGiftbagID, 0) - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashGiftbagMailState, 0) - - GameWorld.Log("限时礼包转移玩家活动字典记录: playerActID=%s,tagActNum=%s" % (playerActID, tagActNum), curPlayer.GetPlayerID()) - - ipyMgr = IpyGameDataPY.IPY_Data() - for index in xrange(ipyMgr.GetFlashGiftbagCount()): - ipyData = ipyMgr.GetFlashGiftbagByIndex(index) - giftbagID = ipyData.GetGiftbagID() - - buyCount = curPlayer.NomalDictGetProperty(Def_PDict_FlashGiftbagBuyCount % giftbagID) - if buyCount <= 0: - continue - - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashGiftbagBuyCount % (tagActNum, giftbagID), buyCount) - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashGiftbagBuyCount % giftbagID, 0) - GameWorld.Log(" 转移购买次数: giftbagID=%s,buyCount=%s" % (giftbagID, buyCount), curPlayer.GetPlayerID()) return diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py index c5d3178..fd421cf 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFlashSale.py @@ -43,58 +43,10 @@ def OnPlayerLogin(curPlayer): - TransferPlayerActDBKeyValue(curPlayer) - for actInfo in PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_FlashSale, {}).values(): actNum = actInfo.get(ShareDefine.ActKey_ActNum, 0) __CheckPlayerflashSaleAction(curPlayer, actNum) - return - -def TransferPlayerActDBKeyValue(curPlayer): - ## 玩家登录时调用,旧版本玩家活动数据转移到新版本字典,线上版本维护之后的版本可删除此代码,线上版本分支 gt_1.100.4 - - #限时抢购活动 - Def_PDict_FlashSaleID = "FlashSaleID" # 玩家身上的限时抢购活动ID,唯一标识,取活动开始日期time - Def_PDict_FlashSaleState = "FlashSaleState" # 玩家身上的限时抢购活动state - Def_PDict_FlashSaleMailState = "FlashSaleMailState" # 玩家身上的活动更新提醒邮件状态 - Def_PDict_FlashSaleYY = "FlashSaleYY_%s" # 玩家预约限时抢购商品 - - playerActID = curPlayer.NomalDictGetProperty(Def_PDict_FlashSaleID, 0, ChConfig.Def_PDictType_FlashSale) - if not playerActID: - return - - tagActNum = 10 - - playerState = curPlayer.NomalDictGetProperty(Def_PDict_FlashSaleState, 0, ChConfig.Def_PDictType_FlashSale) - playerMailState = curPlayer.NomalDictGetProperty(Def_PDict_FlashSaleMailState, 0, ChConfig.Def_PDictType_FlashSale) - - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleID % tagActNum, playerActID, ChConfig.Def_PDictType_FlashSale) - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleState % tagActNum, playerState, ChConfig.Def_PDictType_FlashSale) - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleMailState % tagActNum, playerMailState, ChConfig.Def_PDictType_FlashSale) - - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashSaleID, 0, ChConfig.Def_PDictType_FlashSale) - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashSaleState, 0, ChConfig.Def_PDictType_FlashSale) - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashSaleMailState, 0, ChConfig.Def_PDictType_FlashSale) - - GameWorld.Log("限时抢购转移玩家活动字典记录: tagActNum=%s,playerActID=%s,playerState=%s,playerMailState=%s" - % (tagActNum, playerActID, playerState, playerMailState), curPlayer.GetPlayerID()) - - for dayIndex in xrange(7): # 支持7天 - for timeIndex in xrange(2): # 支持2个时段 - for i in xrange(10): # 支持10个物品 - goodsMark = dayIndex * 10000 + timeIndex * 100 + i #商品标识 - isAppointment = curPlayer.NomalDictGetProperty(Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale) - if not isAppointment: - continue - - PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_FlashSaleYY % (tagActNum, goodsMark), isAppointment, ChConfig.Def_PDictType_FlashSale) - - PlayerControl.NomalDictSetProperty(curPlayer, Def_PDict_FlashSaleYY % goodsMark, 0, ChConfig.Def_PDictType_FlashSale) - - GameWorld.Log(" 转移预约状态: dayIndex=%s,timeIndex=%s,i=%s,goodsMark=%s, %s" - % (dayIndex, timeIndex, i, goodsMark, isAppointment), curPlayer.GetPlayerID()) - return def RefreshflashSaleActionInfo(actNum): diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py index 7970d51..2358e1b 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerWeekParty.py @@ -273,7 +273,8 @@ return #给奖励 - awardDict = __GetAwardItem(curPlayer, ipyData, actWeekPartyInfo.get(ShareDefine.ActKey_WorldLV, 0)) + playerWorldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyWorldLV, 0, ChConfig.Def_PDictType_WeekParty) + awardDict = __GetAwardItem(curPlayer, ipyData, playerWorldLV) # 检查背包 needSpace = len(awardDict) packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, needSpace) @@ -305,7 +306,8 @@ curPoint = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyPoint % day, 0, ChConfig.Def_PDictType_WeekParty) if curPoint < getPoint: return - pointAwardInfo = __GetPointAwardInfo(actBossIpyData.GetPointAward(), actWeekPartyInfo.get(ShareDefine.ActKey_WorldLV, 0)) + worldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyWorldLV, 0, ChConfig.Def_PDictType_WeekParty) + pointAwardInfo = __GetPointAwardInfo(actBossIpyData.GetPointAward(), worldLV) pointAwardDict = pointAwardInfo.get(day, {}) pointList = pointAwardDict.keys() pointList.sort() @@ -410,7 +412,7 @@ templateIDList = actBossIpyData.GetTemplateID() if not templateIDList: return - worldLV = actWeekPartyInfo.get(ShareDefine.ActKey_WorldLV, 0) + worldLV = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_WeekPartyWorldLV, 0, ChConfig.Def_PDictType_WeekParty) pointAwardDict = __GetPointAwardInfo(actBossIpyData.GetPointAward(), worldLV) startDateStr, endDateStr = GameWorld.GetOperationActionDateStr(actBossIpyData) actInfo = ChPyNetSendPack.tagMCWeekPartyInfo() -- Gitblit v1.8.0