From ae8e857873ba53e55392ab06237cd7b16426d93e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期日, 25 十一月 2018 17:55:06 +0800 Subject: [PATCH] 4762 【后端】助战机器人AI及伤血; --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py | 29 ++++++++++++++++++++--------- 1 files changed, 20 insertions(+), 9 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py index effb205..5b38a85 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py @@ -35,6 +35,7 @@ import ItemCommon import IpyGameDataPY import ShareDefine +import GameFuncComm import time import math @@ -236,12 +237,8 @@ # BYTE Cnt; // 扫荡次数 # BYTE IsFinish; // 是否立即完成; 0-否;1-花钱立即完成;2-客户端自行倒计时间到后发送2代表领取扫荡完成奖励 # DWORD DataEx; //附带信息 +# BYTE IsLittleHelper; // 是否小助手扫荡 #}; -## 玩家副本扫荡 -# @param playerIndex 玩家索引 -# @param clientData 客户端封包 -# @param tick 时间 -# @return None def OnPlayerFBWipeOut(playerIndex, clientData, tick): curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(playerIndex) @@ -255,13 +252,27 @@ #isFinish = clientData.IsFinish isFinish = 1 # 暂时默认1,之后有需要扫荡等待的再说 dataEx = clientData.DataEx + isLittleHelper = clientData.IsLittleHelper + if isLittleHelper: + if not GameFuncComm.GetFuncCanUse(curPlayer, ShareDefine.GameFuncID_LittleHelper): + GameWorld.DebugLog("玩家没有小助手功能权限!", curPlayer.GetPlayerID()) + return - if FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID()) == FBCommon.GetRecordMapID(mapID): - GameWorld.DebugLog("玩家在扫荡目标地图中,无法扫荡!mapID=%s" % mapID) + if cnt <= 0: return fbIpyData = FBCommon.GetFBIpyData(mapID) + if FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID()) == FBCommon.GetRecordMapID(mapID): + if fbIpyData and fbIpyData.GetDayTimes():#没有限制进入次数的不限制在目标地图扫荡 + GameWorld.DebugLog("玩家在扫荡目标地图中,无法扫荡!mapID=%s" % mapID) + return + + fbLineIpyData = FBCommon.GetFBLineIpyData(mapID, lineID) + if not fbLineIpyData: + GameWorld.DebugLog("找不到该副本线路,无法扫荡!mapID=%s, lineID=%s" % (mapID, lineID)) + return + if FBCommon.CheckCanEnterFBComm(curPlayer, mapID, lineID, fbIpyData, fbLineIpyData, cnt) != ShareDefine.EntFBAskRet_OK: return costMoneyList = [] @@ -277,9 +288,9 @@ % (mapID, lineID, curPlayer.GetLV(), sweepLVLimit), curPlayer.GetPlayerID()) return - #扫荡道具判断 + #扫荡道具判断,小助手不消耗扫荡道具 sweepItemID = fbLineIpyData.GetSweepItemID() - if sweepItemID: + if sweepItemID and not isLittleHelper: sweepItemCnt = fbLineIpyData.GetSweepCostCnt() sweepCostCnt = sweepItemCnt * cnt #isEnough, sweepCostindexList = ItemCommon.GetItem_FromPack_ByID(sweepItemID, itemPack, sweepCostCnt) -- Gitblit v1.8.0