From d2a7a62fce1fcbf25633c620e06f9c40d1d1bbde Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 17 一月 2025 12:05:07 +0800 Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加击杀boss任务事件 --- ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py | 86 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 79 insertions(+), 7 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py b/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py index 70fb00a..32db39d 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/PyDataManager.py @@ -26,7 +26,12 @@ import CrossRealmPK import AuctionHouse import PlayerAssist +import GameRecData +import PlayerRecData +import GameWorldMineArea import PyGameDataStruct +import PlayerPackData +import PlayerFuncTeam import IpyGameDataPY import PlayerCharm import PlayerLove @@ -60,6 +65,7 @@ # 保存数据 存数据库和realtimebackup def GetSaveData(self): + PlayerAssist.RemoveOutofdateAssistThanks() savaData = "" cntData = "" cnt = 0 @@ -90,9 +96,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 @@ -124,11 +129,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 @@ -146,6 +151,9 @@ cnt = 0 for dbData in self.playerViewCachePyDict.values(): + if dbData.PlayerID < 10000: + # 假人玩家不存储 + continue cnt += 1 savaData += dbData.getBuffer() @@ -309,6 +317,14 @@ class PyGameDataManager(object): def __init__(self): + self.DBPlayerPackDataManager = PlayerPackData.DBPlayerPackDataManager() + self.DBGameRecDataManager = GameRecData.DBGameRecDataManager() + 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() @@ -338,6 +354,14 @@ def GetSaveData(self): buff = "" + buff += self.DBPlayerPackDataManager.GetSaveData() + buff += self.DBGameRecDataManager.GetSaveData() + 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() @@ -366,6 +390,14 @@ return buff def LoadGameData(self, gameBuffer, pos): + pos = self.DBPlayerPackDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + pos = self.DBGameRecDataManager.LoadPyGameData(gameBuffer, pos, len(gameBuffer)) + 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)) @@ -481,6 +513,46 @@ pyGameDataMgr = GetPyGameDataManager() return pyGameDataMgr.familyStoreItemManager +def GetDBGameRecDataManager(): + # 通用记录表新管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBGameRecDataManager + +def GetDBPlayerPackDataManager(): + # 玩家打包数据管理 + pyGameDataMgr = GetPyGameDataManager() + return pyGameDataMgr.DBPlayerPackDataManager + +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() -- Gitblit v1.8.0