From d1ad5d9c180f06127775498044c239d980689dbd Mon Sep 17 00:00:00 2001 From: xdh <xiefantasy@qq.com> Date: 星期二, 14 八月 2018 09:52:14 +0800 Subject: [PATCH] fix:2385 boss复活调整 --- ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 55 insertions(+), 1 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py index d6c0c46..99e2f5e 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py @@ -65,6 +65,7 @@ import PlayerGeTui import GameWorldActionControl import GMT_CTG +import PyGameData #--------------------------------------------------------------------- #--------------------------------------------------------------------- @@ -154,6 +155,8 @@ PlayerGeTui.CleanNewGuyCallBackGeTui(curPlayer.GetID()) #活动 GameWorldActionControl.OnPlayerLogin(curPlayer) + #玩家等级记录 + PyGameData.g_todayPlayerLVDict[curPlayer.GetID()] = curPlayer.GetLV() GMT_CTG.OnPlayerLogin(curPlayer) @@ -620,6 +623,10 @@ elif packType == IPY_GameServer.CDBPlayerRefresh_LV: curPlayer.SetLV(packValue) PlayerSocial.UpdateSocialInfo(curPlayer, packType, packValue) + #玩家等级记录 + playerID = curPlayer.GetID() + if playerID in PyGameData.g_todayPlayerLVDict: + PyGameData.g_todayPlayerLVDict[playerID] = packValue elif packType == IPY_GameServer.CDBPlayerRefresh_Job: curPlayer.SetJob(packValue) @@ -1114,5 +1121,52 @@ NetPackCommon.SendFakePack(curPlayer, serverDateTime) return +def UpdataPlayerLVInfo(): + #Onday更新玩家等级信息 + PyGameData.g_yesterdayPlayerLVDict = PyGameData.g_todayPlayerLVDict + PyGameData.g_todayPlayerLVDict = {} + playerManager = GameWorld.GetPlayerManager() + for i in xrange(playerManager.GetActivePlayerCount()): + curPlayer = playerManager.GetActivePlayerAt(i) + if curPlayer == None or not curPlayer.GetInitOK(): + continue + if PlayerControl.GetIsTJG(curPlayer): + continue + PyGameData.g_todayPlayerLVDict[curPlayer.GetID()] = curPlayer.GetLV() + return + +def LoadPlayerLVData(): + #服务器开启时加载活跃玩家等级信息 + universalRecMgr = GameWorld.GetUniversalRecMgr() + + recDataList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_TodayPlayerLVInfo) + allCnt = recDataList.Count() + for index in xrange(allCnt): + recData = recDataList.At(index) + PyGameData.g_todayPlayerLVDict[recData.GetValue1()] = recData.GetValue2() - \ No newline at end of file + recDataList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_YesterdayPlayerLVInfo) + allCnt = recDataList.Count() + for index in xrange(allCnt): + recData = recDataList.At(index) + PyGameData.g_yesterdayPlayerLVDict[recData.GetValue1()] = recData.GetValue2() + GameWorld.DebugLog(' 服务器开启时加载活跃玩家等级信息g_todayPlayerLVDict=%s, g_yesterdayPlayerLVDict=%s'%(PyGameData.g_todayPlayerLVDict,PyGameData.g_yesterdayPlayerLVDict)) + return + +def SavePlayerLVData(): + #服务器关闭前时保存活跃玩家等级信息 + GameWorld.GetUniversalRecMgr().Delete(ShareDefine.Def_UniversalGameRecType_TodayPlayerLVInfo) + GameWorld.GetUniversalRecMgr().Delete(ShareDefine.Def_UniversalGameRecType_YesterdayPlayerLVInfo) + universalRecMgr = GameWorld.GetUniversalRecMgr() + recDataList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_TodayPlayerLVInfo) + for playerID, lv in PyGameData.g_todayPlayerLVDict.items(): + recData = recDataList.AddRec() + recData.SetValue1(playerID) + recData.SetValue2(lv) + + recDataList = universalRecMgr.GetTypeList(ShareDefine.Def_UniversalGameRecType_YesterdayPlayerLVInfo) + for playerID, lv in PyGameData.g_yesterdayPlayerLVDict.items(): + recData = recDataList.AddRec() + recData.SetValue1(playerID) + recData.SetValue2(lv) + return \ No newline at end of file -- Gitblit v1.8.0