From c38e918b531d7d524f7c38117928d1822795876b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 18 一月 2019 11:14:34 +0800 Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(同步玩家等级、称号变更到跨服,增加读写try,增加同步CD配置开关) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py | 25 ++++++++++++++++++------- 1 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py index 7fc9b3d..591de6a 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_SealDemon.py @@ -36,6 +36,7 @@ import PlayerMagicWeapon import PlayerBossReborn import PlayerFairyCeremony +import PlayerWeekParty import EventReport FBDict_StartTick = 'FBDict_StartTick%s' #开始时间 @@ -47,6 +48,18 @@ FBPlayerDict_Rank = "FBPlayerDict_Rank" # 玩家排名 g_npcHurtDict = {} + + +def OnFBPlayerOnLogin(curPlayer): + if not GameWorld.GetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_FMTDouble): + GameWorld.SetDictValueByBit(curPlayer, ChConfig.Def_Player_Dict_VersionFix, ChConfig.Def_VerFix_FMTDouble, 1) + needViplv = IpyGameDataPY.GetFuncCfg('DemonJarSpecial') + if curPlayer.GetVIPLv() >= needViplv: + PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FMTOldDouble, 1) + GameWorld.DebugLog('1.3版本前可以双倍挑战') + NotifyFMTDouble(curPlayer) + return + ## 是否能够通过活动查询进入 # @param curPlayer 玩家实例 @@ -408,12 +421,8 @@ if playerHurtList: killerName, hurtValue = playerHurtList[0][1] NPCCommon.GameServer_KillGameWorldBoss(bossID, killerName, hurtValue) - - msgList = [bossID, 0] - GameWorld.GetPlayerManager().GameServer_QueryPlayerResult(0, 0, 0, 'GameWorldBossState', - '%s' % (msgList), len(str(msgList))) - bosskey = ShareDefine.Def_Notify_WorldKey_GameWorldBossReborn % bossID - GameWorld.GetGameWorld().SetGameWorldDict(bosskey, 0) + + NPCCommon.GameServe_GameWorldBossState(bossID, 0) __DoLogicSealDemonOver(1, tick, dropPosX, dropPosY) gameFB.SetGameFBDict(FBDict_IsOver, tick) @@ -538,6 +547,7 @@ PlayerMagicWeapon.SetMWPrivilegeData(curPlayer, ChConfig.MWPrivilege_SealDemonAddAttr, addCnt, True) PlayerBossReborn.AddBossRebornActionCnt(curPlayer, ChConfig.Def_BRAct_FMT, addCnt) PlayerFairyCeremony.AddFCPartyActionCnt(curPlayer, ChConfig.Def_PPAct_FMT, addCnt) + PlayerWeekParty.AddWeekPartyActionCnt(curPlayer, ChConfig.Def_WPAct_FMT, addCnt) return prizeItemList def OnPickUpItem(curPlayer, curItem, tick): @@ -702,7 +712,7 @@ curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex) if GameWorld.GetMap().GetMapID() == ChConfig.Def_FBMapID_SealDemon: return - if not PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_FMTDouble): + if not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTOldDouble) and not PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_FMTDouble): return PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_Player_Dict_FMTDouble, clientData.IsDouble) NotifyFMTDouble(curPlayer) @@ -711,6 +721,7 @@ def NotifyFMTDouble(curPlayer): packData = ChPyNetSendPack.tagMCFMTDoubleState() packData.IsDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTDouble) + packData.OldDouble = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FMTOldDouble) NetPackCommon.SendFakePack(curPlayer, packData) return -- Gitblit v1.8.0