From 8a5cd920235eefda418bba0e949ba522cab72a4c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 11 八月 2022 16:18:29 +0800
Subject: [PATCH] 9685 【后台】开服时间整合(清档完毕后入库存档)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py
index f076dba..5de75dc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerCrossBattlefield.py
@@ -53,6 +53,7 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_EnterCountWeek, 0)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek, 0)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_HighScoreTotalWeek, 0)
+    SyncCrossBattlefieldPlayerInfo(curPlayer)
     return
 
 #// C1 09 跨服战场购买开启场次 #tagCMCrossBattlefieldBuyOpen
@@ -63,6 +64,7 @@
 #    BYTE    Hour;        //战场开启时
 #    BYTE    Minute;        //战场开启分
 #    BYTE    Faction;        //阵营 1-红;2-蓝
+#    BYTE    ServerOnly;    //是否仅本服玩家可加入,0-否,1-是
 #};
 def OnCrossBattlefieldBuyOpen(index, clientData, tick):
     curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
@@ -70,6 +72,7 @@
     hour = clientData.Hour
     minute = clientData.Minute
     faction = clientData.Faction
+    serverOnly = clientData.ServerOnly
     
     if GameWorld.IsCrossServer():
         GameWorld.DebugLog("跨服服务器无法发起匹配!", playerID)
@@ -123,6 +126,7 @@
         return
     
     dataMsg = {"openHour":hour, "openMinute":minute, "faction":faction, "todayBuyOpenCount":todayBuyOpenCount,
+               "serverOnly":serverOnly,
                "accID":curPlayer.GetAccID(),
                "playerID":playerID,
                "playerName":CrossRealmPlayer.GetCrossPlayerName(curPlayer),
@@ -159,14 +163,14 @@
         todayBuyOpenCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountToday)
         updTodayBuyOpenCount = todayBuyOpenCount + 1
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_BuyOpenCountToday, updTodayBuyOpenCount)
-        SyncCrossBattlefieldPlayerInfo(curPlayer)
         
     isSameWeek = GameWorld.CheckTimeIsSameWeek(buyTime)
     if isSameWeek:
         weekBuyOpenCount = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek)
         updWeekBuyOpenCount = weekBuyOpenCount + 1
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek, updWeekBuyOpenCount)
-        
+    SyncCrossBattlefieldPlayerInfo(curPlayer)
+    
     GameWorld.Log("购买召集跨服战场结果: openHour=%s,openMinute=%s,faction=%s,updTodayBuyOpenCount=%s,updWeekBuyOpenCount=%s,buyTime=%s,isToday=%s,isSameWeek=%s" 
                   % (openHour, openMinute, faction, updTodayBuyOpenCount, updWeekBuyOpenCount, GameWorld.ChangeTimeNumToStr(buyTime), isToday, isSameWeek), playerID)
     
@@ -226,12 +230,12 @@
             PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_CrossBattlefield, addCnt)
             
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_HighScoreToday, highScoreToday)
-        SyncCrossBattlefieldPlayerInfo(curPlayer)
         
     if isSameWeek:
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_EnterCountWeek, enterCountWeek)
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_Battlefield_HighScoreTotalWeek, highScoreWeekTotal)
-        
+    SyncCrossBattlefieldPlayerInfo(curPlayer)
+    
     # 成就
     PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_Battlefield_Join, 1)
     if isCalled:
@@ -272,6 +276,9 @@
     clientPack = ChPyNetSendPack.tagMCCrossBattlefieldPlayerInfo()
     clientPack.BuyOpenCountToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountToday)
     clientPack.HighScoreToday = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_HighScoreToday)
+    clientPack.EnterCountWeek = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_EnterCountWeek)
+    clientPack.BuyOpenCountWeek = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_BuyOpenCountWeek)
+    clientPack.HighScoreTotalWeek = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Battlefield_HighScoreTotalWeek)
     NetPackCommon.SendFakePack(curPlayer, clientPack)
     return
 

--
Gitblit v1.8.0