From dc6334030f464235488d420e7e33930b98c5ae50 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 25 十月 2018 10:03:41 +0800 Subject: [PATCH] 2197 封魔坛报错(异常函数返回值统一) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py | 50 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 32 insertions(+), 18 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py index 6d5e05c..1c58de8 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCustomRefresh.py @@ -340,14 +340,24 @@ def ResetActivityBossRefreshCount(): ## 重置活动boss刷怪个数 - gameFB = GameWorld.GetGameFB() - gameNPC = GameWorld.GetNPCManager() + + # gameFb 要取活动线 + activityLineIndex = 0 # 活动线, 默认1线 + mapID = GameWorld.GetMap().GetMapID() + activityMapLineDict = IpyGameDataPY.GetFuncEvalCfg("MapLine", 2, {}) + if mapID in activityMapLineDict: + activityLineIndex = max(0, activityMapLineDict[mapID] - 1) + + gameWorld = IPY_GameWorld.IPY_GameWorld(activityLineIndex) + gameFB = gameWorld.GetGameFBByFbIndex(activityLineIndex) + + gameNPC = GameWorld.GetNPCManager() # NPC标识点的无所谓,哪条线都可以,因为都一样 for i in xrange(gameNPC.GetCustomNPCRefreshCount()): npcRefresh = gameNPC.GetCustomNPCRefreshAt(i) refreshMark = npcRefresh.GetRefreshMark() if gameFB.GetGameFBDictByKey(ChConfig.Map_NPC_ActivityBossRebornCount % refreshMark): gameFB.SetGameFBDict(ChConfig.Map_NPC_ActivityBossRebornCount % refreshMark, 0) - GameWorld.DebugLog("重置活动boss刷怪点刷怪个数: refreshMark=%s" % refreshMark) + GameWorld.DebugLog("重置活动boss刷怪点刷怪个数: activityLineIndex=%s,refreshMark=%s" % (activityLineIndex, refreshMark)) return ## 世界boss刷怪 @@ -361,7 +371,8 @@ mapID = GameWorld.GetMap().GetMapID() refreshMark = npcRefresh.GetRefreshMark() lineID = GameWorld.GetGameWorld().GetLineID() - + relatedType, relatedID = 0, 0 + isNeedShunt = 0 if mapID == ChConfig.Def_FBMapID_SealDemon: bossID = GameLogic_SealDemon.CurFBLineBOSSID() stoneNPCID = 0 @@ -371,14 +382,15 @@ return stoneNPCID = ipyData.GetStoneNPCID() bossID = ipyData.GetNPCID() + relatedType = ipyData.GetRelatedType() + relatedID = ipyData.GetRelatedID() + isNeedShunt = ipyData.GetIsNeedShunt() if not bossID and not stoneNPCID: return gameFB = GameWorld.GetGameFB() gameWorldMgr = GameWorld.GetGameWorld() - relatedType = ipyData.GetRelatedType() - relatedID = ipyData.GetRelatedID() - isActivityBoss = False + isActivityBoss = False # 是否活动boss # 关联日常活动 if relatedType == 1: actionKey = ShareDefine.Def_Notify_WorldKey_DailyActionState % relatedID @@ -411,7 +423,7 @@ rebornBossState = 0 stoneNPCID = 0 # 活动线暂不刷墓碑 - isNeedShunt = NPCCommon.IsMapNeedBossShunt(mapID) and ipyData.GetIsNeedShunt() + isNeedShunt = NPCCommon.IsMapNeedBossShunt(mapID) and isNeedShunt curNPC = None if npcRefresh.GetCount() > 0: @@ -483,16 +495,18 @@ '''分流boss是否需要处理 无伤血、仇恨、没人看到他、他没看到别人 ''' - if curNPC.GetPlayerHurtList().GetHurtCount(): - #GameWorld.DebugLog("分流boss有伤血,不可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) - return True - - if curNPC.GetAttentionPlayersCount() or curNPC.GetInSightObjCount(): - #GameWorld.DebugLog("分流boss有人看到,不可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) - return True - - GameWorld.DebugLog("分流boss不需要处理了,可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) - return False + # 策划暂时修改分流boss不同步死亡 + return True +# if curNPC.GetPlayerHurtList().GetHurtCount(): +# #GameWorld.DebugLog("分流boss有伤血,不可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) +# return True +# +# if curNPC.GetAttentionPlayersCount() or curNPC.GetInSightObjCount(): +# #GameWorld.DebugLog("分流boss有人看到,不可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) +# return True +# +# GameWorld.DebugLog("分流boss不需要处理了,可以清除!npcID=%s" % curNPC.GetNPCID(), GameWorld.GetGameWorld().GetLineID()) +# return False #=================================================================================================== -- Gitblit v1.8.0