From 388823edfe6308cba6f76ca6dc4f20022c5cb2be Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 30 六月 2025 19:03:50 +0800
Subject: [PATCH] 10431 【英文】看广告获得限时代金券

---
 ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBattlefield.py |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBattlefield.py b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBattlefield.py
index 5ed2757..c3e7baa 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBattlefield.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/GameWorldLogic/CrossBattlefield.py
@@ -253,6 +253,8 @@
                 
             billboardObj.ClearData()
             
+    # 清空队伍
+    PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
     return
 
 def GetCrossBattlefieldState():
@@ -472,9 +474,9 @@
                     GameWorld.Log("    无召集的场次不开分区战场! zoneID=%s" % (zoneID))
                  
     # 关闭
-    if not battlefieldState and beforeState != battlefieldState:
-        # 活动结束清空队伍
-        PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
+    #if not battlefieldState and beforeState != battlefieldState:
+    #    # 活动结束清空队伍
+    #    PlayerFuncTeam.DelTeamByFunc(ChConfig.Def_FBMapID_CrossBattlefield)
         
     # 同步子服务器
     dataMsg = {"battlefieldState":battlefieldState}
@@ -561,8 +563,9 @@
         if passSeconds > closeSeconds:
             GameWorld.DebugLog("迟到了! passSeconds=%s > %s" % (passSeconds, closeSeconds), playerID)
             isBelate = True
+            #去除新队员进入不受时间限制设定
             for _, copyMapObj in PyGameData.g_crossDynamicLineCopyMapInfo.items():
-                if copyMapObj.IsMustCopyMapPlayer(playerID):
+                if copyMapObj.IsMustCopyMapPlayer(playerID, False):
                     isBelate = False
                     GameWorld.DebugLog("已进入的重复进入不限制时间!  playerID=%s" % playerID)
                     break
@@ -652,6 +655,8 @@
     openMinute = msgData["openMinute"]
     faction = msgData["faction"]
     serverOnly = msgData.get("serverOnly", 0)
+    face = msgData.get("face", 0)
+    facePic = msgData.get("facePic", 0)
     
     hmNum = GetHMNum(openHour, openMinute)
     
@@ -681,7 +686,7 @@
         type2, value1, value2 = job, realmLV, 0
         cmpValue = buyOpenCountWeek + 1
         if cmpValue >= billboardCallCountLimit:
-            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)            
+            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)            
         
         # 通知子服
         serverGroupIDList = [serverGroupID]
@@ -749,7 +754,7 @@
     type2, value1, value2 = job, realmLV, 0
     cmpValue = buyOpenCountWeek + 1
     if cmpValue >= billboardCallCountLimit:
-        CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
+        CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWCall, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
         
     for otherBuyPlayerID, otherRec in buyPlayerInfo.items():
         if otherBuyPlayerID == playerID:
@@ -902,7 +907,7 @@
     syncPlayerDataInfo = {}
     winnerPlayerIDList, loserPlayerIDList = [], []
     for playerInfo in battlePlayerList:
-        playerID, job, realmLV, name, \
+        playerID, job, face, facePic, realmLV, name, \
             isWinner, faction, rank, score, highScoreToday, highScoreWeekTotal, enterCountWeek, teamID, \
             isCallOpen, isCalled, killCnt, ckillCntInfo, killBossCnt, killScoreKing, killGuardCnt, auraScore, superItemAwardCnt, \
             factionBuffCollCnt, personBuffCollCnt, crystalCollCnt, wallCollCnt \
@@ -932,14 +937,14 @@
         enterCountWeek += 1
         cmpValue = enterCountWeek
         if cmpValue >= billboardEnterCountLimit:
-            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWJoin, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
+            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWJoin, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
             
         # 更新周高分榜单
         if score > highScoreToday:
             highScoreWeekTotal += (score - highScoreToday)
             highScoreToday = score
             cmpValue = highScoreWeekTotal
-            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWScore, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue)
+            CrossBillboard.UpdCrossBillboard(ShareDefine.Def_CBT_BattlefieldWScore, groupValue1, dataID, name1, name2, type2, value1, value2, cmpValue, value3=face, value4=facePic)
             
         GameWorld.Log("    战场阵营玩家: faction=%s,isWinner=%s,rank=%s,playerID=%s,score=%s,highScoreToday=%s,highScoreWeekTotal=%s,enterCountWeek=%s,teamID=%s,isCallOpen=%s,isCalled=%s" 
                       % (faction, isWinner, rank, playerID, score, highScoreToday, highScoreWeekTotal, enterCountWeek, teamID, isCallOpen, isCalled), fbPropertyID)

--
Gitblit v1.8.0