ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py
@@ -18,6 +18,7 @@
import IPY_GameWorld
import PlayerControl
import GameWorldProcess
import PlayerSuccess
import ReadChConfig
import ShareDefine
import FBCommon
@@ -516,12 +517,15 @@
    #注册玩家离开副本时间
    gameFBMgr.SetPlayerLogoffTick(0)
    
    PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_EnterMap, 1, [gameMapID])
    if gameFBMgr.HaveFBPlayer(curPlayerID):
        #已经注册了这个玩家, 不清除已注册的玩家的字典信息
        return
    
    #注册进入这个副本的玩家
    gameFBMgr.AddFBPlayer(curPlayerID)
    return
def DoEnterFB(curPlayer, tick):
@@ -1225,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
    
    #玩家 在副本中,并且副本不踢出玩家下线
@@ -1259,9 +1267,6 @@
#  @return mapID
#  @remarks 函数详细说明.
def __GetFBLogic_MapID(mapID):
    #ManorWarMapIDList = ReadChConfig.GetEvalChConfig("ManorWarMapID")
    #if mapID in ManorWarMapIDList:
    #    return 'ManorWar'
    mapID = FBCommon.GetRecordMapID(mapID)
    for key, value in ChConfig.Def_FB_MapID.items():
        if mapID in value:
@@ -2138,6 +2143,51 @@
    
    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)
## 给自定义副本奖励后续处理
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())