From 0d24ae9f78e7a6314fe79e285566e6ad82dd1622 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 04 九月 2024 11:38:23 +0800 Subject: [PATCH] 10258 【越南】【砍树】新增古宝特殊效果(增加法器每X阶+xx属性) --- ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py | 102 +++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 95 insertions(+), 7 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py b/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py index a4df3e7..063395f 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py @@ -26,8 +26,13 @@ import CrossRealmPK import AuctionHouse import PlayerAssist +import PlayerRecData +import GameWorldMineArea import PyGameDataStruct +import PlayerFuncTeam import IpyGameDataPY +import PlayerCharm +import PlayerLove import CommFunc import time @@ -58,6 +63,7 @@ # 保存数据 存数据库和realtimebackup def GetSaveData(self): + PlayerAssist.RemoveOutofdateAssistThanks() savaData = "" cntData = "" cnt = 0 @@ -88,9 +94,8 @@ def __init__(self): self.allAssistDict = {} # 所有协助 {GUID:tagDBAssist, ...} - self.familyAssistDict = {} # 仙盟协助缓存 {familyID:[tagDBAssist, ...], ...} - self.playerNoSaveDBAssistDict = {} # 玩家发布的不存库协助 {playerID:[tagDBAssist, ...], ...} + self.playerAssistDict = {} # 玩家发布的协助 {playerID:[tagDBAssist, ...], ...} self.playerAssistingDict = {} # 玩家正在协助中的协助,只能存在一条 {playerID:tagDBAssist, ...} return @@ -122,11 +127,11 @@ PlayerAssist.OnInitAssistData(dbData, 1) self.allAssistDict[dbData.GUID] = dbData - familyID = dbData.FamilyID - if familyID not in self.familyAssistDict: - self.familyAssistDict[familyID] = [] - familyAssistList = self.familyAssistDict[familyID] - familyAssistList.append(dbData) + PlayerID = dbData.PlayerID + if PlayerID not in self.playerAssistDict: + self.playerAssistDict[PlayerID] = [] + playerAssistList = self.playerAssistDict[PlayerID] + playerAssistList.append(dbData) return pos @@ -144,6 +149,9 @@ cnt = 0 for dbData in self.playerViewCachePyDict.values(): + if dbData.PlayerID < 10000: + # 假人玩家不存储 + continue cnt += 1 savaData += dbData.getBuffer() @@ -307,6 +315,16 @@ class PyGameDataManager(object): def __init__(self): + self.DBPyFuncTeamManager = PlayerFuncTeam.DBPyFuncTeamManager() + self.DBPyFuncTeamMemManager = PlayerFuncTeam.DBPyFuncTeamMemManager() + self.DBPlayerRecDataManager = PlayerRecData.DBPlayerRecDataManager() + self.DBPyMineAreaAwardManager = GameWorldMineArea.DBPyMineAreaAwardManager() + self.DBPyMineAreaRecordManager = GameWorldMineArea.DBPyMineAreaRecordManager() + self.DBPyMineAreaItemManager = GameWorldMineArea.DBPyMineAreaItemManager() + self.DBPyCoupleManager = PlayerLove.DBPyCoupleManager() + self.DBPyUnNotifyLoveGiftRecManager = PlayerLove.DBPyUnNotifyLoveGiftRecManager() + self.DBPyCharmValueRecManager = PlayerCharm.DBPyCharmValueRecManager() + self.IntimacyManager = PlayerSocial.IntimacyManager() self.CrossPersonalCompensationManager = PlayerCompensation.CrossPersonalCompensationManager() self.CrossBillboardManager = CrossBillboard.CrossBillboardManager() self.PlayerAssistThanksPyManager = PlayerAssistThanksPyManager() @@ -332,6 +350,16 @@ def GetSaveData(self): buff = "" + buff += self.DBPyFuncTeamManager.GetSaveData() + buff += self.DBPyFuncTeamMemManager.GetSaveData() + buff += self.DBPlayerRecDataManager.GetSaveData() + buff += self.DBPyMineAreaAwardManager.GetSaveData() + buff += self.DBPyMineAreaRecordManager.GetSaveData() + buff += self.DBPyMineAreaItemManager.GetSaveData() + buff += self.DBPyCoupleManager.GetSaveData() + buff += self.DBPyUnNotifyLoveGiftRecManager.GetSaveData() + buff += self.DBPyCharmValueRecManager.GetSaveData() + buff += self.IntimacyManager.GetSaveData() buff += self.CrossPersonalCompensationManager.GetSaveData() buff += self.CrossBillboardManager.GetSaveData() buff += self.PlayerAssistThanksPyManager.GetSaveData() @@ -356,6 +384,16 @@ return buff def LoadGameData(self, gameBuffer, pos): + pos = self.DBPyFuncTeamManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyFuncTeamMemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPlayerRecDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyMineAreaAwardManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyMineAreaRecordManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyMineAreaItemManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyCoupleManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyUnNotifyLoveGiftRecManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBPyCharmValueRecManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.IntimacyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) pos = self.CrossPersonalCompensationManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) pos = self.CrossBillboardManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) pos = self.PlayerAssistThanksPyManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) @@ -467,6 +505,56 @@ pyGameDataMgr = GetPyGameDataManager() return pyGameDataMgr.familyStoreItemManager +def GetDBPyFuncTeamManager(): + # 功能队伍管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyFuncTeamManager + +#def GetDBPyFuncTeamMemManager(): +# # 功能队伍成员管理 +# pyGameDataMgr = GetPyGameDataManager() +# return pyGameDataMgr.DBPyFuncTeamMemManager + +def GetDBPlayerRecDataManager(): + # 玩家记录管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPlayerRecDataManager + +def GetDBPyMineAreaAwardManager(): + # 福地奖励结算管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyMineAreaAwardManager + +def GetDBPyMineAreaRecordManager(): + # 福地矿物记录管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyMineAreaRecordManager + +def GetDBPyMineAreaItemManager(): + # 福地矿物管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyMineAreaItemManager + +def GetDBPyCoupleManager(): + # 伴侣管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyCoupleManager + +def GetDBPyUnNotifyLoveGiftRecManager(): + # 未通知的赠送礼物记录 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyUnNotifyLoveGiftRecManager + +def GetDBPyCharmValueRecManager(): + # 魅力管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPyCharmValueRecManager + +def GetIntimacyManager(): + # 亲密管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.IntimacyManager + # 好友系统 def GetFriendManager(): pyGameDataMgr = GetPyGameDataManager() -- Gitblit v1.8.0