From b2e1f1ba55cea7821474bcb8c3e0c4b519253590 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 05 二月 2025 18:18:55 +0800
Subject: [PATCH] 1111 【越南】【英语】【BT】【砍树】增加任务判断、设置某阶装备星级件数接口;
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 50 insertions(+), 0 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 f0d1a88..1a0c4ac 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
@@ -6021,6 +6021,37 @@
curMission.SetProperty(key, ChEquip.GetTotalPlusLV(curPlayer, False))
return
+##设置某阶达到X星级的件数
+# @param curPlayer 玩家实例
+# @param curMission 任务实例
+# @param curActionNode节点信息
+# @return 返回值无意义
+# @remarks <Set_Equiptstarcnt key="" id="" classLV="" star=""/>
+def DoType_Set_Equiptstarcnt(curPlayer, curMission, curActionNode):
+ key = curActionNode.GetAttribute("key")
+ questID = GameWorld.ToIntDef(curActionNode.GetAttribute("id"), 0)
+ if questID != 0:
+ curMission = curPlayer.FindMission(questID)
+ classLV = GameWorld.ToIntDef(curActionNode.GetAttribute("classLV"), 0)
+ equipMaxClasslv = IpyGameDataPY.GetFuncCfg('EquipMaxClasslv')
+ classlVList = [classLV] if classLV else range(1, equipMaxClasslv+1)
+
+ needStar = GameWorld.ToIntDef(curActionNode.GetAttribute("star"), 0)
+ totalCnt = 0
+ equipPlaceList = ChConfig.Pack_EquipPart_CanPlusStar[IPY_GameWorld.rptEquip]
+ for equipPlace in equipPlaceList:
+ for classLV in classlVList:
+ ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
+ if not ipyData:
+ continue
+
+ equipStar = ChEquip.GetEquipPartStar(curPlayer, ipyData.GetGridIndex())
+ if equipStar >= needStar:
+ totalCnt += 1
+
+ curMission.SetProperty(key, totalCnt)
+ return
+
##设置装备总星级
# @param curPlayer 玩家实例
# @param curMission 任务实例
@@ -7325,6 +7356,25 @@
totalcnt = GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
return ChEquip.GetTotalEquipStars(curPlayer) >= totalcnt
+##判断某阶星级达到X的件数是否达到
+# @param None
+# @return None <Classlvstar classLV="" star="" value="cnt"/>
+def ConditionType_Classlvstar(curPlayer, curMission, curActionNode):
+ classLV = GameWorld.ToIntDef(curActionNode.GetAttribute("classLV"), 0)
+ classLVList = [classLV] if classLV else xrange(1, IpyGameDataPY.GetFuncCfg('EquipMaxClasslv') + 1)
+ needStar = GameWorld.ToIntDef(curActionNode.GetAttribute("star"), 0)
+ totalCnt = 0
+ equipPlaceList = ChConfig.Pack_EquipPart_CanPlusStar[IPY_GameWorld.rptEquip]
+ for equipPlace in equipPlaceList:
+ for classLV in classLVList:
+ ipyData = IpyGameDataPY.GetIpyGameData('EquipPlaceIndexMap', classLV, equipPlace)
+ if not ipyData:
+ continue
+ equipStar = ChEquip.GetEquipPartStar(curPlayer, ipyData.GetGridIndex())
+ if equipStar >= needStar:
+ totalCnt += 1
+ return totalCnt >= GameWorld.ToIntDef(curActionNode.GetAttribute("value"), 0)
+
##装备宝石总等级
# @param None
# @return None <Equiptotalstone value="cnt"/>
--
Gitblit v1.8.0