From 56915409677ce25cbbb7fab752c420a26229c84d Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 07 四月 2024 17:50:54 +0800
Subject: [PATCH] 10019 【砍树】回合战斗(新增技能效果ID 1007、1008、4542、5012;新增技能释放方式51) 1. 新增技能效果ID 1007-根据目标状态变更技能伤害百分比;1008-根据目标血量变更技能伤害百分比 2. 增加锁定受到的最大伤害效果 4542-buff锁定受到伤害最大值,不会高于自身最大生命值x% 3. 增加技能被动效果ID 5012-目标闪避后触发技能 4. 增加技能释放方式51-打出目标xx属性的X%伤害,单体攻击,支持配置最大不超过自身xx属性x%

---
 ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
index f6b51be..dea19da 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/Player/PlayerFamilyParty.py
@@ -183,8 +183,14 @@
         for i in xrange(ipyMgr.GetQuestionBankCount()):
             ipyData = ipyMgr.GetQuestionBankByIndex(i)
             questionID = ipyData.GetID()
+            try:
+                eval(ipyData.GetAnswer())
+            except:
+                GameWorld.ErrLog("答题题库答案异常,不处理! questionID=%s,answer=%s" % (questionID, ipyData.GetAnswer()))
+                continue
             allQuestionIDList.append(questionID)
         IpyGameDataPY.SetConfigEx('AllQuestionID', allQuestionIDList)
+        GameWorld.Log("加载仙盟宴会答题题库ID! %s" % str(allQuestionIDList))
     if not allQuestionIDList:
         GameWorld.ErrLog('仙盟宴会题库没有题目!')
         return
@@ -200,8 +206,12 @@
                 ipyData = IpyGameDataPY.GetIpyGameData('QuestionBank', lastQuestionID)
                 if ipyData:
                     answer = ipyData.GetAnswer()
-                    answer = answer.replace('[', '')
-                    answer = answer.replace(']', '')
+                    #不能用replace, 可能导致替换错误, 如 ['望廬山瀑布'] 为 "['\xcd\xfb\x8f]\xc9\xbd\xc6\xd9\xb2\xbc']" 中间有个 ] 替换会导致乱码
+                    #answer = answer.replace('[', '')
+                    #answer = answer.replace(']', '')
+                    answer = answer.strip()
+                    if answer.startswith("[") and answer.endswith("]"):
+                        answer = answer[1:-1]
                     PlayerControl.FamilyNotify(familyID, 'Party_Correct', [maxSecond, GameWorld.GbkToCode(answer)])
                     
                 for index in xrange(family.GetCount()):

--
Gitblit v1.8.0