From 8c3d4da0efd8345892ac9822297b93644e03be3a Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 07 三月 2019 18:56:24 +0800 Subject: [PATCH] 6332 【后端】【2.0】主要是拍品相关规则调整及背包优化(拍品堆叠逻辑修改) --- ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py | 36 +++++++++++++++++++++++++++--------- 1 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py index e94851e..525da05 100644 --- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py +++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerViewCache.py @@ -26,6 +26,8 @@ import ReadChConfig import PlayerFamily import IPY_GameServer +import PlayerFBHelpBattle +import IpyGameDataPY import ShareDefine import ChConfig @@ -81,6 +83,14 @@ curCache.SetPlusDataNoSave(PlusData,len(PlusData)) curCache.SetNeedSaveDB(isSaveDB) #设置需要保存到数据库 + # 同步更新助战信息 + if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID): + PropDataDict = json.loads(PropData) + fightPower = PropDataDict.get("FightPower", 0) + familyID = PropDataDict.get("FamilyID", 0) + playerName = PropDataDict.get("Name", "") + PlayerFBHelpBattle.UpdateCheckInPlayerInfo(PlayerID, fightPower, familyID, playerName) + #暂时关闭 #=========================================================================== # FamilyIDKey = "FamilyID" @@ -109,7 +119,10 @@ # @param PlayerID, PlayerLV # @return None def IsNeedSaveLogoutPlayer(PlayerID, PlayerLV): - SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit") + if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID): + return True + + SaveDBLimitLV = IpyGameDataPY.GetFuncCfg("PlayerViewCache", 1) #校验玩家等级 if PlayerLV < SaveDBLimitLV: return False @@ -118,7 +131,9 @@ # 上榜用户 def IsNeedSaveViewCacheAllInfo(PlayerID): - SaveDBLimitLV, NeedCheckBillBoardType, HighLadderLimitOrder = ReadChConfig.GetEvalChConfig("CacheSaveLimit") + if PlayerFBHelpBattle.IsInHelpBattleCheckInList(PlayerID): + return True + NeedCheckBillBoardType = IpyGameDataPY.GetFuncEvalCfg("PlayerViewCache", 2) #校验玩家是否上排行榜 billboardMgr = GameWorld.GetBillboard() for BillBoardType in NeedCheckBillBoardType: @@ -221,7 +236,7 @@ return playerEquipList = [] - equipItemList = eval(itemData) + equipItemList = json.loads(itemData) for equipItemDict in equipItemList: equipIndex = equipItemDict["ItemIndex"] if equipIndex not in ShareDefine.RoleEquipType: @@ -259,8 +274,9 @@ answerPack.LV = 1 answerPack.RealmLV = 1 answerPack.OnlineType = ChConfig.Def_Offline + answerPack.ServerGroupID = 0 else: - cacheDict = eval(curCache.GetPropData()) + cacheDict = json.loads(curCache.GetPropData()) answerPack.PlayerID = clientPack.PlayerID answerPack.PlayerName = cacheDict["Name"] @@ -268,6 +284,7 @@ answerPack.LV = cacheDict["LV"] answerPack.RealmLV = cacheDict["RealmLV"] answerPack.OnlineType = ChConfig.Def_Offline + answerPack.ServerGroupID = cacheDict.get("ServerGroupID", 0) else: answerPack.PlayerID = clientPack.PlayerID @@ -277,19 +294,20 @@ answerPack.RealmLV = tagPlayer.GetOfficialRank() answerPack.OnlineType = ChConfig.Def_Online answerPack.IsInTeam = tagPlayer.GetTeamID() > 0 + answerPack.ServerGroupID = PlayerControl.GetPlayerServerGroupID(tagPlayer) curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index) NetPackCommon.SendFakePack(curPlayer, answerPack) return -def OnPlayerLeaveFamily(playerID): - GameWorld.DebugLog("ViewCache->OnPlayerLeaveFamily", playerID) +def OnPlayerFamilyChange(playerID, familyID, familyName): + GameWorld.DebugLog("ViewCache->OnPlayerFamilyChange", playerID) curCache = ViewCacheMgr.FindCache(playerID) if not curCache: return - PropData = eval(curCache.GetPropData()) - PropData["FamilyID"] = 0 - PropData["FamilyName"] = "" + PropData = json.loads(curCache.GetPropData()) + PropData["FamilyID"] = familyID + PropData["FamilyName"] = familyName playerLV = PropData["LV"] PropData = json.dumps(PropData, ensure_ascii=False) -- Gitblit v1.8.0