From 1e96cf184afac59994a1b3784a252123cdfe7adc Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 25 十月 2018 15:30:46 +0800 Subject: [PATCH] 4255 【后端】【1.3】小助手(扫荡支持,等级开启功能表增加VIP等级条件) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py | 24 +++++++++++++++++------- 1 files changed, 17 insertions(+), 7 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 e73962e..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,6 +252,15 @@ #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 cnt <= 0: + return + fbIpyData = FBCommon.GetFBIpyData(mapID) if FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID()) == FBCommon.GetRecordMapID(mapID): if fbIpyData and fbIpyData.GetDayTimes():#没有限制进入次数的不限制在目标地图扫荡 @@ -263,6 +269,10 @@ 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 = [] @@ -278,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