From 6feb3406bd4edf15e443f5d58f06229d5ee8733c Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期一, 24 十二月 2018 14:13:53 +0800
Subject: [PATCH] 5571 【1.4】集市物品卖出提示邮件新增VIP玩家模板
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py | 36 +++++++++++++++++++++++-------------
1 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
index 19da755..0e8a159 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActivity.py
@@ -69,7 +69,9 @@
if onEventType == ShareDefine.Def_OnEventTypeEx:
# 重置完成次数
for i in xrange(ipyDataMgr.GetDailyQuestCount()):
- key = ChConfig.Def_PDict_Activity_FinishCnt % (i+1)
+ ipyData = ipyDataMgr.GetDailyQuestByIndex(i)
+
+ key = ChConfig.Def_PDict_Activity_FinishCnt % ipyData.GetID()
curPBCnt = __GetPDictValue(curPlayer, key) #单次进度值
if curPBCnt:
__SetPDictValue(curPlayer, key, 0)
@@ -77,6 +79,8 @@
__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, 0)
# 重置领奖记录
__SetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityAwardRecord, 0)
+ #重置额外获得修行点数
+ __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint, 0)
#重新计算奖励阶段
__CalcAwardStage(curPlayer)
#重置可领取修行点,未领取的发邮件
@@ -230,30 +234,33 @@
multiple = 1
if addValue:
#__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_TotalPoint, nuwTotalPoint)
- multiple = __GetActionAddPer(curPlayer)
- addValue *= multiple
+ multiple, extraPointLimit = __GetActionAddPer(curPlayer)
+ curExtraPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint)
+ addExtraPoint = max(0, min(addValue*(multiple-1),extraPointLimit-curExtraPoint)) if extraPointLimit else addValue*(multiple-1)
+ __SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint, curExtraPoint+addExtraPoint)
+ addValue = addValue + addExtraPoint
realmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint)
__SetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint, realmPoint+addValue)
SyncDailyActivityInfo(curPlayer)
- GameWorld.DebugLog("增加活跃度任务次数,activityNum=%s,addPbCnt=%s,addValue=%s, multiple=%s"
- % (activityNum, addPbCnt, addValue, multiple), curPlayer.GetPlayerID())
+ GameWorld.DebugLog("增加活跃度任务次数,activityNum=%s,addPbCnt=%s,addValue=%s, multiple=%s, addExtraPoint=%s,curExtraPoint=%s"
+ % (activityNum, addPbCnt, addValue, multiple, addExtraPoint, curExtraPoint), curPlayer.GetPlayerID())
return
def __GetActionAddPer(curPlayer):
- multiple = 1
+ multiple, extraPointLimit = 1, 0 #倍数、额外可获得修行点上限
actRealmPointInfo = PyGameData.g_operationActionDict.get(ShareDefine.OperationActionName_RealmPoint, {})# 多倍修行点活动
if not actRealmPointInfo:
- return multiple
+ return multiple, extraPointLimit
if not actRealmPointInfo.get(ShareDefine.ActKey_State):
- return multiple
+ return multiple, extraPointLimit
actRealmPointIpyData = IpyGameDataPY.GetIpyGameData("ActRealmPoint", actRealmPointInfo.get(ShareDefine.ActKey_CfgID, 0))
if not actRealmPointIpyData:
- return multiple
+ return multiple, extraPointLimit
if curPlayer.GetLV() < actRealmPointIpyData.GetLVLimit():
- return multiple
- return actRealmPointIpyData.GetMultiple()
+ return multiple, extraPointLimit
+ return actRealmPointIpyData.GetMultiple(), actRealmPointIpyData.GetPointLimit()
## 同步活跃度信息
# @param curPlayer
@@ -266,6 +273,7 @@
sendPack.StageIndex = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_AwardStage)
sendPack.AwardRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_ActivityAwardRecord)
sendPack.RealmPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_RealmPoint)
+ sendPack.ExtraPoint = __GetPDictValue(curPlayer, ChConfig.Def_PDict_Activity_ExtraRealmPoint)
NetPackCommon.SendFakePack(curPlayer, sendPack)
return
@@ -384,15 +392,17 @@
if not unLimitCnt and curDayTimes >= dayTimesLimit:
return
updDayTimes = curDayTimes+addCnt if unLimitCnt else min(dayTimesLimit, curDayTimes+addCnt)
+ addCnt = updDayTimes - curDayTimes
PlayerControl.NomalDictSetProperty(curPlayer, key, updDayTimes)
GameWorld.DebugLog('增加日常活动完成次数 dailyID=%s, curDayTimes=%s, updDayTimes=%s'%(dailyID, curDayTimes, updDayTimes))
-
+ updWeekTimes = 0
if weekTimesLimit:
key = ChConfig.Def_PDict_DailyActionWeekTimes%dailyID
curWeekTimes = curPlayer.NomalDictGetProperty(key)
if not unLimitCnt and curWeekTimes >= weekTimesLimit:
return
updWeekTimes = curWeekTimes+addCnt if unLimitCnt else min(weekTimesLimit, curWeekTimes+addCnt)
+ addCnt = updWeekTimes - curWeekTimes
PlayerControl.NomalDictSetProperty(curPlayer, key, updWeekTimes)
GameWorld.DebugLog('增加日常活动完成次数 dailyID=%s, curWeekTimes=%s, updWeekTimes=%s'%(dailyID, curWeekTimes, updWeekTimes))
@@ -400,7 +410,7 @@
#对应的日常任务表ID
updTimes = updDayTimes or updWeekTimes
- if updTimes and dailyQuestData:
+ if addCnt and updTimes and dailyQuestData:
AddActivityFinishCnt(curPlayer, activityNum, updTimes, addCnt)
return True
--
Gitblit v1.8.0