xdh
2018-08-22 ccdbc28cd6358b12d0ace0ec3b84b280ab817643
fix:任务扣钱支持绑玉、仙玉组合扣钱
1个文件已修改
20 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py
@@ -1939,6 +1939,9 @@
        
    conditionType = curConditionNode.GetAttribute("type")
    moneyType = int(curConditionNode.GetAttribute("moneytype"))
    goldValue = curPlayer.GetGold()
    goldPaperValue = curPlayer.GetGoldPaper()
    silverValue = PlayerControl.GetSilver(curPlayer)
@@ -1949,6 +1952,8 @@
        return QuestRunnerValue.GetEval(conditionType, goldPaperValue, conditionValue)
    elif moneyType == IPY_GameWorld.TYPE_Price_Silver_Money:
        return QuestRunnerValue.GetEval(conditionType, silverValue, conditionValue)
    elif moneyType == ShareDefine.TYPE_Price_Gold_Paper_Money:
        return QuestRunnerValue.GetEval(conditionType, goldValue + goldPaperValue, conditionValue)
    else:
        GameWorld.Log("任务 = %s , moneytype = %s填错拉" % (curMission.GetMissionID() , moneyType) , curPlayer.GetPlayerID())
        return
@@ -3681,18 +3686,23 @@
    
    moneytype = int(curActionNode.GetAttribute("moneytype"))
    
    if moneytype not in ChConfig.Def_MoneyType_All:
        GameWorld.Log("##异常moneytype = %s填错拉" % (moneytype))
        return
#    if moneytype not in ChConfig.Def_MoneyType_All:
#        GameWorld.Log("##异常moneytype = %s填错拉" % (moneytype))
#        return
    
    curMissionID = 0
    if curMission == None:
        curMissionID = 0
    else:
        curMissionID = curMission.GetMissionID()
    costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, moneytype, value)
    if not costMoneyList:
        GameWorld.Log("##付费异常,玩家金钱不足,任务missionID = %s" % (curMissionID) , curPlayer.GetPlayerID())
        EventShell.DoExitEvent(curPlayer)
        return
    #付钱
    if not PlayerControl.PayMoney(curPlayer, moneytype, value, ChConfig.Def_Cost_MissionDel, {"MissionID":curMissionID}):
    for moneyType, moneyNum in costMoneyList:
        if not PlayerControl.PayMoney(curPlayer, moneyType, moneyNum, ChConfig.Def_Cost_MissionDel, {"MissionID":curMissionID}):
        GameWorld.Log("##付费异常,玩家金钱不足,任务missionID = %s" % (curMissionID) , curPlayer.GetPlayerID())
        EventShell.DoExitEvent(curPlayer)
        return