From fc9a15f14791923a016e93525e1636b626bc5c6e Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 05 二月 2025 18:20:14 +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