From 92e5118d99b8e202b78c9cc781dd5b3b7d0b4485 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 16 二月 2019 13:47:05 +0800
Subject: [PATCH] 5315 【后端】【1.6】登录奖励活动(循环广播)

---
 ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py                                                        |    3 +++
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py                          |   13 +++++++++----
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py |    9 ++++-----
 PySysDB/PySysDBG.h                                                                                                     |    1 +
 4 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/PySysDB/PySysDBG.h b/PySysDB/PySysDBG.h
index 5b33bd4..a15c8f9 100644
--- a/PySysDB/PySysDBG.h
+++ b/PySysDB/PySysDBG.h
@@ -547,6 +547,7 @@
 	BYTE		ResetType;	//重置类型,0-0点重置;1-5点重置
 	dict		NotifyInfoStart;	//全服提示信息 - 相对开始时间
 	dict		NotifyInfoEnd;	//全服提示信息 - 相对结束时间
+	list		NotifyInfoLoop;	//全服提示信息 - 循环广播[间隔分钟, 广播key]
 	WORD		LVLimit;	//限制等级
 };
 
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
index ff1ecf0..b78a0ce 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py
@@ -456,6 +456,7 @@
                         ("BYTE", "ResetType", 0),
                         ("dict", "NotifyInfoStart", 0),
                         ("dict", "NotifyInfoEnd", 0),
+                        ("list", "NotifyInfoLoop", 0),
                         ("WORD", "LVLimit", 0),
                         ),
 
@@ -1388,6 +1389,7 @@
         self.ResetType = 0
         self.NotifyInfoStart = {}
         self.NotifyInfoEnd = {}
+        self.NotifyInfoLoop = []
         self.LVLimit = 0
         return
         
@@ -1402,6 +1404,7 @@
     def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
     def GetNotifyInfoStart(self): return self.NotifyInfoStart # 全服提示信息 - 相对开始时间
     def GetNotifyInfoEnd(self): return self.NotifyInfoEnd # 全服提示信息 - 相对结束时间
+    def GetNotifyInfoLoop(self): return self.NotifyInfoLoop # 全服提示信息 - 循环广播[间隔分钟, 广播key]
     def GetLVLimit(self): return self.LVLimit # 限制等级
 
 # 节日巡礼活动时间表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py
index 1a05974..49ae188 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py
@@ -121,12 +121,11 @@
 
 
 ## 更新当前已通关关卡
-def SetZhuXianTowerCurPassLV(curPlayer, passlv, costTime=0):
+def SetZhuXianTowerCurPassLV(curPlayer, passlv, costSeconds=0):
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_ZhuXianTowerPassLV, passlv)
+    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_ZhuXianTowerCostTime, costSeconds)
     #更新诛仙塔排行榜
-    saveTime = 10000-costTime/1000
-    PlayerBillboard.UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_ZhuXianTower, passlv, saveTime)
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_ZhuXianTowerCostTime, saveTime)
+    PlayerBillboard.UpdateZhuXianTowerBillboard(curPlayer)
     GameWorld.DebugLog(' 更新诛仙塔已通关数 %s' % passlv)
     return
 
@@ -445,7 +444,7 @@
     isFirstS = 0
     if fbLevel != __GetZhuXianTowerCurPassLV(curPlayer) and curStar == Def_MaxStar:
         #更新关卡
-        SetZhuXianTowerCurPassLV(curPlayer, fbLevel, costTime)
+        SetZhuXianTowerCurPassLV(curPlayer, fbLevel, costTime/1000)
         
         isFirstS = 1  #是否首次S通关
     gameFB.SetGameFBDict(FBDict_isFirstS, isFirstS)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
index 863555a..8836a33 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py
@@ -50,10 +50,7 @@
     
     if isAll:
         UpdateRuneTowerBillboard(curPlayer)
-        ##诛仙塔榜(通关时长没有的默认50秒)
-        UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_ZhuXianTower, 
-                              curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ZhuXianTowerPassLV), 
-                              curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ZhuXianTowerCostTime, 9950))
+        UpdateZhuXianTowerBillboard(curPlayer)
         
         #UpdateTJGBillboard(curPlayer, minuteExp) 脱机效率可不更新
         
@@ -182,6 +179,14 @@
     UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_TrialTower, passLV) 
     return
 
+def UpdateZhuXianTowerBillboard(curPlayer):
+    ##诛仙塔榜(通关时长没有的默认50秒)
+    costTime = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ZhuXianTowerCostTime, 50)
+    passLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ZhuXianTowerPassLV)
+    UpdatePlayerBillboard(curPlayer, ShareDefine.Def_BT_ZhuXianTower, passLV, 10000-costTime)
+    return
+
+
 def UpdateTJGBillboard(curPlayer, minuteExp):
     ##脱机效率榜
     if not minuteExp:

--
Gitblit v1.8.0