From e75c4e9dda0ef8c05f84e9cdd5cc7f14bd14d536 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期三, 22 八月 2018 16:17:46 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/SnxxServerCode --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/QuestRunner.py | 22 ++++++++++++++++------ ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 6 +++++- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py | 2 ++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py index 6cf2e53..926c040 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/AttackCommon.py @@ -1663,6 +1663,8 @@ aIceAtk = atkObj.GetIceAtk() # 冰攻, 元素真伤, 玩家及NPC通用 aIceAtk += PassiveBuffEffMng.GetPassiveSkillValueByTriggerType(atkObj, defObj, curSkill, ChConfig.TriggerType_AddIceAtk) #------- 防守方 + dMinAtk = defObj.GetMinAtk() # 防守方最小攻击 + dMaxAtk = defObj.GetMaxAtk() # 防守方最大攻击 dDef = defObj.GetDef() # 防守方防御力 dHP = GameObj.GetHP(defObj) # 防守方当前血量 dMaxHP = GameObj.GetMaxHP(defObj) # 防守方最大血量 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 3459869..62699e6 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 @@ -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,21 +3686,26 @@ 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() - - #付钱 - if not PlayerControl.PayMoney(curPlayer, moneytype, value, ChConfig.Def_Cost_MissionDel, {"MissionID":curMissionID}): + costMoneyList = PlayerControl.HaveMoneyEx(curPlayer, moneytype, value) + if not costMoneyList: GameWorld.Log("##付费异常,玩家金钱不足,任务missionID = %s" % (curMissionID) , curPlayer.GetPlayerID()) EventShell.DoExitEvent(curPlayer) return + #付钱 + 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 GameWorld.Login_Interface_GoldRec(curPlayer , 0 , 0 , 'MissionID_%s_Cost' % (curMissionID), moneytype, value) return diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py index a9219ee..01e10c3 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py @@ -2009,7 +2009,7 @@ # @param canLock 是否可以锁定玩家(传送点不可锁定, 因为要跨地图寻路) # @return 返回值无意义 # @remarks 玩家切换地图 -def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID= -1, msg='', canLock=True, exData1=0): +def PlayerResetWorldPos(curPlayer, mapID, posX, posY, takeTruck, lineID=-1, msg='', canLock=True, exData1=0): #更改: 死亡允许切换地图, 在副本中被怪打死, 副本时间到, 回收副本 # if curPlayer.GetHP() <= 0 : # GameWorld.Log("死亡无法切换地图") @@ -2084,6 +2084,10 @@ return bossShuntLineID return tagLineID + if curMapID == tagMapID: + GameWorld.DebugLog("同地图切换坐标不处理分流!", playerID) + return tagLineID + # 可以用来常规分流的线路人数字典信息, 并不是所有线路都可以用来做人数分流的,比如中立地图有多条线用来分流boss,但是只有1条线可用来做常规的人数分流 mapLineDict = IpyGameDataPY.GetFuncCfg("MapLine", 1) if tagMapID in mapLineDict: -- Gitblit v1.8.0