From 94f84a379ded7bbb4b149b6aa6e1659290d71e3c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 十二月 2018 19:22:11 +0800
Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(修复本服时间比跨服时间慢时,不会加当日PK次数的bug)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py | 20 +++++++++++++++++---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py | 11 +++++++++--
2 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
index 7680c92..b3b541d 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorld.py
@@ -1603,9 +1603,9 @@
'''
checkDate = ChangeTimeNumToDatetime(checkTime)
curDate = GetCurrentTime()
- if checkDate > curDate:
- #DebugLog("检查时间比当前时间大")
- return False
+ #if checkDate > curDate:
+ # #DebugLog("检查时间比当前时间大")
+ # return False
Def_OnEventHour = ShareDefine.Def_OnEventHour
chkYear, chkMonth, chkDay, chkHour = checkDate.year, checkDate.month, checkDate.day, checkDate.hour
@@ -1622,6 +1622,7 @@
checkDateEx = datetime.datetime(chkYear, chkMonth, chkDay, 0, 0, 0)
curDateEx = datetime.datetime(curYear, curMonth, curDay, 0, 0, 0)
diffDays = (curDateEx - checkDateEx).days
+ ## 当前时间比检查的时间大1天
if diffDays == 1:
if chkHour < Def_OnEventHour:
#DebugLog("日期相差天数1, 不同天! chkHour(%s) < %s" % (chkHour, Def_OnEventHour))
@@ -1634,6 +1635,19 @@
#DebugLog("日期相差天数1, 同天! curHour(%s) < %s <= chkHour(%s)" % (curHour, Def_OnEventHour, chkHour))
return True
+ ## 当前时间比检查的时间小1天
+ elif diffDays == -1:
+ if curHour < Def_OnEventHour:
+ #DebugLog("日期相差天数-1, 不同天! curHour(%s) < %s" % (curHour, Def_OnEventHour))
+ return False
+
+ if chkHour >= Def_OnEventHour:
+ #DebugLog("日期相差天数-1, 不同天! chkHour(%s) >= %s" % (chkHour, Def_OnEventHour))
+ return False
+
+ #DebugLog("日期相差天数-1, 同天! chkHour(%s) < %s <= curHour(%s)" % (chkHour, Def_OnEventHour, curHour))
+ return True
+
#DebugLog("日期相差天数大于1,不同一天!")
return False
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
index a4ca269..659ed21 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossRealmPK.py
@@ -280,21 +280,28 @@
pkCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_PKCount) + 1
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_PKCount, pkCount)
+ GameWorld.Log(" 更新数据: danLV=%s,pkScore=%s,pkCount=%s" % (danLV, pkScore, pkCount), playerID)
if isWinner:
winCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_WinCount) + 1
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_WinCount, winCount)
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_CWinCount, cWinCount)
+ GameWorld.Log(" winner winCount=%s,cWinCount=%s" % (winCount, cWinCount), playerID)
else:
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_CWinCount, 0)
-
+ GameWorld.Log(" loser cWinCount=0", playerID)
+
# 同一天的话增加当日PK次数
if GameWorld.CheckTimeIsSameServerDayEx(GameWorld.ChangeTimeStrToNum(timeStr)):
todayPKCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayPKCount) + 1
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayPKCount, todayPKCount)
+ GameWorld.Log(" 同一天的PK结算增加今日PK次数: todayPKCount=%s" % todayPKCount, playerID)
if isWinner:
todayWinCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_CrossPK_TodayWinCount) + 1
PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_CrossPK_TodayWinCount, todayWinCount)
-
+ GameWorld.Log(" 增加今日已获胜次数: todayWinCount=%s" % todayWinCount, playerID)
+ else:
+ GameWorld.Log(" 不同天的PK结算不增加今日PK次数! ", playerID)
+
SyncCrossRealmPKPlayerInfo(curPlayer)
## 跨服已经通知过了,证明还在跨服服务器,不做以下的处理
--
Gitblit v1.8.0