From 12e548e57be573f0b963eefb1865169e9d7e67cc Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 13 一月 2020 18:01:32 +0800
Subject: [PATCH] 4653 【主干】boss之家内前往协助boss之家其他层boss会退出协助状态
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py | 8 ++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 1 +
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 1 +
3 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index 69d10c7..63292c5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -3075,6 +3075,7 @@
Def_Player_HadRefreshAttr = "HadRefreshAttr" # 玩家在本地图是否刷新过属性
Def_PlayerKey_ClientCustomScene = "ClientCustomScene" # 客户端自定义场景状态
Def_PlayerKey_ChangeMapID = "ChangeMapID" # 请求切换的地图ID
+Def_PlayerKey_ChangeLineID = "ChangeLineID" # 请求切换的线路ID
Def_PlayerKey_ResetFBLinePosX = "ResetFBLinePosX" # 请求切换副本多合一地图功能线路ID
Def_PlayerKey_ResetFBLinePosY = "ResetFBLinePosY" # 请求切换副本多合一地图功能线路ID
Def_PlayerKey_AttackFollowMaster = "FollowAtk" # 召唤兽跟随攻击
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py
index 3eeba61..73a3458 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCHurtManager.py
@@ -887,9 +887,17 @@
def OnPlayerLeaveMap(curPlayer):
## 玩家离开地图处理
+ mapID = curPlayer.GetMapID()
+ mapType = GameWorld.GetMap().GetMapFBType()
+ changeMapID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ChangeMapID)
+ changeLineID = curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ChangeLineID)
+
playerID = curPlayer.GetPlayerID()
for hurtList in PyGameData.g_npcHurtDict.values():
if hurtList.IsNoAssistPlayer(playerID) or hurtList.IsAssistPlayer(playerID):
+ if mapType == IPY_GameWorld.fbtNull and mapID == changeMapID and changeLineID == hurtList.lineID:
+ #GameWorld.DebugLog("玩家同地图切线,当前伤血lineID为目标线路,不清伤血!changeLineID=%s" % changeLineID, playerID)
+ continue
GameWorld.DebugLog("玩家离开地图, 删除boss伤血玩家!npcID=%s" % (hurtList.npcID), playerID)
hurtList.DelHurtPlayer(playerID, "LeaveMap")
break
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
index 6e85afb..e612a74 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -2108,6 +2108,7 @@
GameWorld.DebugLog(" 本次免费进入副本!")
curPlayer.ResetWorldPosReq(sceneMapID, posX, posY, takeTruck, fbID, msg)
curPlayer.SetDict(ChConfig.Def_PlayerKey_ChangeMapID, sceneMapID)
+ curPlayer.SetDict(ChConfig.Def_PlayerKey_ChangeLineID, max(0, fbID))
#切地图处理玩家时钟纠正问题(需要一直通过玩家时钟计算的)
RefreshPlayerTick(curPlayer)
--
Gitblit v1.8.0