From b965081066ea579c45c73f08cd9cd61bc157ac9f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 09 五月 2019 11:15:45 +0800
Subject: [PATCH] 6459 【后端】【2.0】缥缈仙域开发单(防范跨服妖王关闭线路时导致的报错)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
index 60deb8e..af77405 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -61,6 +61,7 @@
 import PlayerActLogin
 import PlayerHorse
 import FBCommon
+import NPCCommon
 
 import math
 import time
@@ -2571,6 +2572,18 @@
     maxPassLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_TrialTower_PassLV) # 历史最大过关数
     return QuestRunnerValue.GetEval(conditionType, maxPassLV, conditionValue)
 
+##通关诛仙塔第X层
+# @param curPlayer 玩家实例
+# @param curMission 任务实例
+# @param curConditionNode 节点信息
+# @return 返回值, 是否判断成功
+# @remarks <Check_Zhuxiantower type="类型" value="值"/> 
+def ConditionType_Check_Zhuxiantower(curPlayer, curMission, curConditionNode):
+    conditionValue = GameWorld.ToIntDef(curConditionNode.GetAttribute("value"), 0)
+    conditionType = curConditionNode.GetAttribute("type")
+    maxPassLV = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_ZhuXianTowerPassLV) # 历史最大过关数
+    return QuestRunnerValue.GetEval(conditionType, maxPassLV, conditionValue)
+
 def ConditionType_Get_Player_Coin(curPlayer, curMission, curConditionNode):
     # 判断玩家已充值点券数
     # <Get_Player_Coin type="great" value="0"/> 充值点券大于0代表已经首充过
@@ -3788,7 +3801,7 @@
 # @param curActionNode节点信息
 # @return 返回值无意义
 # @remarks  <Drop_Item id="物品ID" count="物品数量" starLV="星级" bind="是否绑定" isAuctionItem="是否拍品"
-#         suite="是否套装化" addAttrLV="追加等级",isLucky="是否有幸运"
+#         suite="是否套装化" addAttrLV="追加等级",isLucky="是否有幸运" isFakeDrop="是否假掉落"
 #        skillBoostEff="[技能效果增强索引, 值]", holeCount="孔数", isGreat="1", effIndex="1" , dropDist="掉落范围默认3"
 #        aroundPlayer="1" baseAttrRate="可强化的装备基础属性随机加强比例默认10000" greatAttr="[卓越属性列表]" />  
 def DoType_Drop_Item(curPlayer, curMission, curActionNode):
@@ -3840,7 +3853,14 @@
     if not curItem:
         GameWorld.Log('###创建地上物品异常,无此ID物品 = %s' % (curItemID))
         return
-    
+    isFakeDrop = GameWorld.ToIntDef(curActionNode.GetAttribute("isFakeDrop"), 0)
+    if isFakeDrop:#假掉落表现
+        dropItemDataStr = ChItem.GetMapDropItemDataStr(curItem)
+        #通知客户端
+        NPCCommon.SendVirtualItemDrop(curPlayer, curItemID, 0, 0, dropItemDataStr)
+        ItemControler.GivePlayerItemOrMail(curPlayer, [[curItemID, count, isAuctionItem]])
+        curItem.Clear()
+        return
     if curActionNode.GetAttribute("aroundPlayer") == "1" or not curNPC:
         posX, posY = curPlayer.GetPosX(), curPlayer.GetPosY()
     else:

--
Gitblit v1.8.0