1111 【越南】【英语】【BT】【砍树】增加任务判断、设置某阶装备星级件数接口;
1个文件已修改
50 ■■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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"/>