From 35c01486259f07144bd96539e45c1a7f36c84ffc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 11 六月 2024 11:41:00 +0800
Subject: [PATCH] 9912 [BT0.1]BOSS凭证(提交boss凭证改为实时刷新榜单;活动表增加字段配置发奖邮件模版;增加活动结束结算后备份榜单35;)

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py                      |    4 +++-
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py                                  |    4 +++-
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py |    4 ++--
 PySysDB/PySysDBG.h                                                                               |    1 +
 4 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/PySysDB/PySysDBG.h b/PySysDB/PySysDBG.h
index bb11987..43f2c82 100644
--- a/PySysDB/PySysDBG.h
+++ b/PySysDB/PySysDBG.h
@@ -566,6 +566,7 @@
 	BYTE		IsDayReset;	//是否每天重置
 	BYTE		ResetType;	//重置类型,0-0点重置;1-5点重置
 	list		TemplateIDList;	//榜单模板编号列表
+	char		MailKey;	//奖励邮件模板
 };
 
 //Boss历练榜单模版表
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index b033c44..33e7e43 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -471,6 +471,7 @@
                         ("BYTE", "IsDayReset", 0),
                         ("BYTE", "ResetType", 0),
                         ("list", "TemplateIDList", 0),
+                        ("char", "MailKey", 0),
                         ),
 
                 "ActBossTrialTemplate":(
@@ -1656,7 +1657,8 @@
     def GetNotifyInfoLoop(self): return self.attrTuple[8] # 全服提示信息 - 循环广播[间隔分钟, 广播key] list
     def GetIsDayReset(self): return self.attrTuple[9] # 是否每天重置 BYTE
     def GetResetType(self): return self.attrTuple[10] # 重置类型,0-0点重置;1-5点重置 BYTE
-    def GetTemplateIDList(self): return self.attrTuple[11] # 榜单模板编号列表 list
+    def GetTemplateIDList(self): return self.attrTuple[11] # 榜单模板编号列表 list
+    def GetMailKey(self): return self.attrTuple[12] # 奖励邮件模板 char
 
 # Boss历练榜单模版表
 class IPY_ActBossTrialTemplate():
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
index b2bce75..cd21cb0 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerActBossTrial.py
@@ -39,6 +39,7 @@
     billBoard = GameWorld.GetBillboard().FindBillboard(BillboardType)
     if not billBoard:
         return
+    mailKey = ipyData.GetMailKey()
     templateID = GameWorld.GetTemplateID(ipyData, cfgID, dayIndex)
     if not templateID:
         return
@@ -70,9 +71,10 @@
         GameWorld.Log("    发放boss历练榜单奖励: rank=%s,playerID=%s,cmpValue=%s,awardItemList=%s, %s" 
                       % (rank, playerID, cmpValue, awardItemList, name2))
         
-        PlayerCompensation.SendMailByKey("BossTrialMail%s" % actNum, [playerID], awardItemList, [rank])
+        PlayerCompensation.SendMailByKey(mailKey, [playerID], awardItemList, [rank])
         
     DataRecordPack.DR_BillboardData(BillboardType, "BossTrial", {"actNum":actNum, "cfgID":cfgID, "dayIndex":dayIndex, "templateID":templateID})
+    PlayerBillboard.CopyBillboard(ShareDefine.Def_BT_BossTrialSubmitBak, BillboardType)
     PlayerBillboard.ClearBillboardByIndex(BillboardType)
     GameWorld.Log("=================================================================================")
     return
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
index c35d274..4156f22 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActBossTrial.py
@@ -38,7 +38,7 @@
         if not submitCount:
             continue
         GameWorld.Log("Boss历练合服首登同步凭证榜单: actNum=%s,submitCount=%s" % (actNum, submitCount), curPlayer.GetPlayerID())
-        PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, submitCount)
+        PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, submitCount, autoSort=True)
         break
     
     return
@@ -124,7 +124,7 @@
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_BossTrialSubmitCount % actNum, updSubmitCount)
     GameWorld.DebugLog("Boss历练提交凭证: actNum=%s,itemID=%s,submitCount=%s,updSubmitCount=%s" % (actNum, itemID, submitCount, updSubmitCount), playerID)
     
-    PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, updSubmitCount)
+    PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_BossTrialSubmit, updSubmitCount, autoSort=True)
     
     Sync_BossTrialPlayerInfo(curPlayer, actNum)
     return

--
Gitblit v1.8.0