From 88fdfe9c93c12daa74b653dbb9cbe6d4a0503d6d Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 05 二月 2025 18:22:16 +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 3a0eda4..65fa532 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 @@ -6013,6 +6013,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 任务实例 @@ -7273,6 +7304,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