| | |
| | | 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
|
| | |
|
| | | #玩家 在副本中,并且副本不踢出玩家下线
|
| | |
| | | # @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:
|
| | |
| | |
|
| | | 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())
|