xdh
2019-02-16 92e5118d99b8e202b78c9cc781dd5b3b7d0b4485
5315 【后端】【1.6】登录奖励活动(循环广播)
4个文件已修改
26 ■■■■■ 已修改文件
PySysDB/PySysDBG.h 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/CoreServerGroup/GameServer/Script/IpyGameDataPY.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianTower.py 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerBillboard.py 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBG.h
@@ -547,6 +547,7 @@
    BYTE        ResetType;    //重置类型,0-0点重置;1-5点重置
    dict        NotifyInfoStart;    //全服提示信息 - 相对开始时间
    dict        NotifyInfoEnd;    //全服提示信息 - 相对结束时间
    list        NotifyInfoLoop;    //全服提示信息 - 循环广播[间隔分钟, 广播key]
    WORD        LVLimit;    //限制等级
};
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 # 限制等级
# 节日巡礼活动时间表
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)
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: