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