From d9f13c5e9a02f31cad2f58357acd3140809e88c1 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期二, 11 九月 2018 19:57:27 +0800
Subject: [PATCH] fix:3477【后端】【1.0.15】【1.1.0】娲皇遗迹新增Vip特权:副本购买次数
---
ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 57 insertions(+), 1 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/ChPlayer.py
index d6c0c46..3e2f353 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)
@@ -679,6 +686,8 @@
GameWorld.Log("玩家 : %s,%s,FBID=%s 切换地图" % (curPlayer.GetName(), curPlayer.GetRealMapID(), curPlayer.GetFBID()) , curPlayer.GetPlayerID())
PlayerTeam.OnPlayerChangeMap(curPlayer, tick)
GameWorldBoss.OnPlayerChangeMap(curPlayer)
+ PlayerFamily.OnPlayerChangeMap(curPlayer, tick)
+ PlayerFamilyParty.OnPlayerChangeMap(curPlayer, tick)
return
## 玩家切换真实地图
@@ -1114,5 +1123,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