From 3ce7cddcff138fc163c636da784afd5f558bd68c Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期五, 28 十二月 2018 12:09:14 +0800 Subject: [PATCH] 5424 【后端】【1.4】跨服竞技场开发(历史赛季信息增加记录赛季积分) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 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 24fb0bf..47c47c3 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBLogic.py @@ -18,7 +18,6 @@ import IPY_GameWorld import PlayerControl import GameWorldProcess -import PlayerMergeEvent import ReadChConfig import ShareDefine import FBCommon @@ -325,13 +324,13 @@ return -## 副本中召唤兽死亡(被击杀或者时间到等) +## 副本中NPC死亡(被击杀或者时间到等) # @param curNPC # @return None. -def DoFB_SummonNPCDead(curNPC): +def DoFB_NPCDead(curNPC): do_FBLogic_ID = __GetFBLogic_MapID(GameWorld.GetMap().GetMapID()) - callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFB_SummonNPCDead")) + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "DoFB_NPCDead")) if callFunc: callFunc(curNPC) @@ -495,7 +494,7 @@ gameMapID = gameMap.GetMapID() #如果已经设置过副本功能线路属性,则进入时同步玩家,一般下线重登或者非第一个进入该副本的玩家(如队友)会收到该包 - if FBCommon.GetHadSetFBPropertyMark(): + if FBCommon.GetHadSetFBPropertyMark() and gameMap.GetMapFBType() != IPY_GameWorld.fbtSingle: PlayerControl.SetFBFuncLineID(curPlayer, FBCommon.GetFBPropertyMark()) #成长NPC所需数据初始化 @@ -695,9 +694,6 @@ if callFunc: #GameWorld.Log("副本逻辑不可使用 GameLogic_%d"%(mapID)) callFunc(curPlayer , tick) - - #有玩家离开副本广播一次 - PlayerMergeEvent.BroadcastMergePlayerEvent() #如果是最后一个人离开副本, 那么设置副本的离开时间, 5分钟后副本关闭 __PlayerLeaveSetPlayerLogoffTick(curPlayer, tick) @@ -1229,7 +1225,7 @@ def PlayerLoginInFBCheck(curPlayer, tick): gameMap = GameWorld.GetMap() #如果此地图是自动释放的, 需要检查这个玩家 - if gameMap.GetMapFBType() == 0: + if gameMap.GetMapFBType() in [IPY_GameWorld.fbtNull, IPY_GameWorld.fbtCrossVSRoom]: return False #玩家 在副本中,并且副本不踢出玩家下线 @@ -1474,6 +1470,17 @@ return callFunc(curPlayer, mapID, lineID, cnt, isFinish, dataEx) +## 副本助战扫荡结果 +def OnPlayerFBHelpBattleSweepResult(curPlayer, mapID, lineID, helpBattlePlayerDict, addXianyuanCoin, reason): + do_FBLogic_ID = __GetFBLogic_MapID(mapID) + + callFunc = GameWorld.GetExecFunc(FBProcess, "GameLogic_%s.%s" % (do_FBLogic_ID, "OnPlayerFBHelpBattleSweepResult")) + + if callFunc == None: + return False + + return callFunc(curPlayer, mapID, lineID, helpBattlePlayerDict, addXianyuanCoin, reason) + ## 开始公共CD副本扫荡 def OnStartPubCDFBSweep(curPlayer, mapID, lineID, cnt, dataEx): do_FBLogic_ID = __GetFBLogic_MapID(mapID) -- Gitblit v1.8.0