4653 【主干】boss之家内前往协助boss之家其他层boss会退出协助状态
| | |
| | | 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" # 召唤兽跟随攻击
|
| | |
| | | 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
|
| | |
| | | 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)
|