From 7d7d5711266d84749562f8c38eded0342f81b118 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期六, 29 十二月 2018 17:35:38 +0800 Subject: [PATCH] 860312 写死npc类型为功能NPC的话 坐标不按范围随机,配置无效 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerFB.py | 37 +++++++++++++++++++++++++++---------- 1 files changed, 27 insertions(+), 10 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..a287676 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,8 @@ import ItemCommon import IpyGameDataPY import ShareDefine +import GameFuncComm +import FBHelpBattle import time import math @@ -236,12 +238,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 +253,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 +289,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) @@ -335,7 +347,12 @@ #增加副本进入次数 if fbIpyData and fbIpyData.GetDayTimes(): FBCommon.AddEnterFBCount(curPlayer, mapID, cnt) - + + helpIpyData = IpyGameDataPY.GetIpyGameData("FBHelpBattle", mapID, lineID) + if helpIpyData: + FBHelpBattle.SendGameServer_SweepCallHelpBattlePlayer(curPlayer, mapID, lineID) + return + #扫荡结果给奖励等 FBLogic.OnPlayerFBSweepResult(curPlayer, mapID, lineID, cnt, isFinish, dataEx) return -- Gitblit v1.8.0