hxp
2019-12-19 787c076b2fdc73a11b9b76e2ea928f3da1f5873e
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_BossHome.py
@@ -75,33 +75,32 @@
def OnChangeMapAsk(ask, tick):
    return IPY_GameWorld.cmeAccept
## 进副本
#  @param curPlayer
#  @param tick
#  @return None
def DoEnterFB(curPlayer, tick):
    playerID = curPlayer.GetPlayerID()
    if curPlayer.GetHP() == 0:
        PlayerControl.PlayerLeaveFB(curPlayer)
        return
    # 设置副本公共属性的单独处理,防止队员进入后被修改
    if not FBCommon.GetHadSetFBPropertyMark():
        lineID = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ReqFBFuncLine)
        FBCommon.SetFBPropertyMark(lineID)
    GameWorld.DebugLog("DoEnterFB...lineID=%s" % FBCommon.GetFBPropertyMark(), playerID)
    lineID = PlayerControl.GetFBFuncLineID(curPlayer)
    GameWorld.DebugLog("DoEnterFB...lineID=%s" % lineID, playerID)
    hadDelTicket = FBCommon.GetHadDelTicket(curPlayer)
    if not hadDelTicket:
        GameWorld.DebugLog('扣门票!')
        FBCommon.SetHadDelTicket(curPlayer)
        canEnterLine = PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_BossHome)
        lineID = FBCommon.GetFBPropertyMark()
        if lineID+1 > canEnterLine:
        if lineID+1 > canEnterLine and not curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFBFree):
            costGold = __GetEnterCostMoney(lineID)
            costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, ShareDefine.TYPE_Price_Gold_Paper_Money, costGold)
            mapID = GameWorld.GetMap().GetMapID()
            infoDict = {"MapID":mapID,"LineID":lineID}
            for moneyType, moneyNum in costMoneyList:
                if not PlayerControl.PayMoney(curPlayer, moneyType, moneyNum, ChConfig.Def_Cost_EnterFB, infoDict):
                    GameWorld.DebugLog("仙玉不足!costGold=%s" % costGold)
                    GameWorld.Log("仙玉不足!costGold=%s" % costGold)
                    PlayerControl.PlayerLeaveFB(curPlayer)
                    return
        EventReport.WriteEvent_FB(curPlayer, ChConfig.Def_FBMapID_BossHome, lineID, ChConfig.CME_Log_Start)
    
@@ -114,7 +113,7 @@
# @param tick 时间戳
# @return 无意义
def DoExitFB(curPlayer, tick):
    return
##玩家主动离开副本.
@@ -134,7 +133,17 @@
#  @param None
#  @return 是否副本复活
def OnPlayerReborn():
    return False
    return True
## 重置副本复活玩家坐标点
# @param None
# @return 无意义
def OnResetFBRebornPlacePos(curPlayer, rebornPlace, tick):
    lineID = PlayerControl.GetFBFuncLineID(curPlayer)
    ipyEnterPosInfo = FBCommon.GetFBLineEnterPosInfo(ChConfig.Def_FBMapID_BossHome, lineID)
    posX, posY = ipyEnterPosInfo[:2]
    curPlayer.ResetPos(posX, posY)
    return
## 询问玩家是否切换同个功能地图的不同场景地图
def CanChangeSameDataMapFB(curPlayer, mapID, lineID):
@@ -172,8 +181,9 @@
# @return 返回值无意义
# @remarks 玩家主动离开副本.
def DoPlayerDead(curPlayer):
    FBCommon.Notify_FB_Over(curPlayer, {FBCommon.Over_isPass:0})
    lineID = FBCommon.GetFBPropertyMark()
    leaveTime = int(FBCommon.GetFBLineStepTime(ChConfig.Def_FBMapID_BossHome, lineID))
    curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTime*1000, True)
    return
    #FBCommon.Notify_FB_Over(curPlayer, {FBCommon.Over_isPass:0})
    #lineID = PlayerControl.GetFBFuncLineID(curPlayer)
    #leaveTime = int(FBCommon.GetFBLineStepTime(ChConfig.Def_FBMapID_BossHome, lineID))
    #curPlayer.Sync_TimeTick(IPY_GameWorld.tttLeaveMap, 0, leaveTime*1000, True)
    return