From 4815a9626bce7740bb867f056f9694c4c2f858c9 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 16 四月 2019 17:29:24 +0800
Subject: [PATCH] 860312 增加锁定模式 - 只对选中目标造成伤害,适用于部分BOSS争夺副本

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 insertions(+), 1 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
index 97aaa8b..3f71c2a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -1229,7 +1229,11 @@
 def PlayerLoginInFBCheck(curPlayer, tick):
     gameMap = GameWorld.GetMap()
     #如果此地图是自动释放的, 需要检查这个玩家
-    if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull, IPY_GameWorld.fbtCrossVSRoom]:
+    if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull]:
+        return False
+    
+    #跨服服务器是直接注册的地图ID数据,地图肯定没有该玩家,所以不判断
+    if GameWorld.IsCrossServer():
         return False
     
     #玩家 在副本中,并且副本不踢出玩家下线
@@ -2139,6 +2143,52 @@
     
     return callFunc(curPlayer, tick)
 
+## 客户端进入自定义场景
+def OnEnterCustomScene(curPlayer, mapID, lineID):
+    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnEnterCustomScene"))
+    
+    if callFunc == None:
+        return
+    
+    return callFunc(curPlayer, mapID, lineID)
+
+## 客户端发送刷新自定义副本奖励
+def OnRefreshCustomFBPrize(curPlayer, mapID, lineID):
+    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnRefreshCustomFBPrize"))
+    
+    if callFunc == None:
+        return []
+    
+    return callFunc(curPlayer, mapID, lineID)
+
+## 给自定义副本奖励后续处理
+## @return: 返回结算副本over信息字典,不含jsonItem信息
+def OnGiveCustomFBPrizeOK(curPlayer, mapID, lineID):
+    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnGiveCustomFBPrizeOK"))
+    
+    if callFunc == None:
+        return {}
+    
+    return callFunc(curPlayer, mapID, lineID)
+
+
+## 结束跨服副本
+def OnEndCrossFB(curPlayer, mapID, lineID, exData):
+    do_FBLogic_ID = __GetFBLogic_MapID(mapID)
+    
+    callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnEndCrossFB"))
+    
+    if callFunc == None:
+        return
+    
+    return callFunc(curPlayer, mapID, lineID, exData)
+
 def OnPlayerLVUp(curPlayer):
     ## 玩家升级
     do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID())

--
Gitblit v1.8.0