From 42f1ae76751b709e75d90d87959829c6c59de3a3 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期日, 09 十月 2022 18:50:26 +0800
Subject: [PATCH] 9455 【越南】【后端】通天令(主干 冲突)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py | 208 ++++++++++++++++++++++++++
ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py | 208 ++++++++++++++++++++++++++
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py | 2
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 36 ++++
5 files changed, 453 insertions(+), 3 deletions(-)
diff --git a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
index 9e0ca5d..adb01bd 100644
--- a/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
+++ b/ServerPython/CoreServerGroup/GameServer/Script/ChPyNetPack.py
@@ -9922,6 +9922,54 @@
#------------------------------------------------------
+# A5 46 购买通天令 #tagCMBuyTongTianLing
+
+class tagCMBuyTongTianLing(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x46
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x46
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMBuyTongTianLing)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 46 购买通天令 //tagCMBuyTongTianLing:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMBuyTongTianLing=tagCMBuyTongTianLing()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyTongTianLing.Cmd,m_NAtagCMBuyTongTianLing.SubCmd))] = m_NAtagCMBuyTongTianLing
+
+
+#------------------------------------------------------
#A5 3B 请求领取补偿#tagCMRequestCompensation
class tagCMRequestCompensation(Structure):
@@ -10956,6 +11004,58 @@
#------------------------------------------------------
+# A5 45 兑换通天令等级经验积分点 #tagCMExchangeTongTianLVPoint
+
+class tagCMExchangeTongTianLVPoint(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ExchangePoint", c_int), # 兑换点数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x45
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x45
+ self.ExchangePoint = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMExchangeTongTianLVPoint)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 45 兑换通天令等级经验积分点 //tagCMExchangeTongTianLVPoint:
+ Cmd:%s,
+ SubCmd:%s,
+ ExchangePoint:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ExchangePoint
+ )
+ return DumpString
+
+
+m_NAtagCMExchangeTongTianLVPoint=tagCMExchangeTongTianLVPoint()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeTongTianLVPoint.Cmd,m_NAtagCMExchangeTongTianLVPoint.SubCmd))] = m_NAtagCMExchangeTongTianLVPoint
+
+
+#------------------------------------------------------
# A5 32 法器升级 #tagCMFaQiLVUp
class tagCMFaQiLVUp(Structure):
@@ -11394,6 +11494,114 @@
#------------------------------------------------------
+# A5 44 通天令领取等级奖励 #tagCMGetTongTianLVAward
+
+class tagCMGetTongTianLVAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TTLV", c_ubyte), # 领取对应等级奖励,发255为一键领取所有等级奖励,包含仙品奖励
+ ("IsXian", c_ubyte), # 是否领取仙品奖励,仅指定等级奖励有效
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x44
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x44
+ self.TTLV = 0
+ self.IsXian = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianLVAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 44 通天令领取等级奖励 //tagCMGetTongTianLVAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TTLV:%d,
+ IsXian:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TTLV,
+ self.IsXian
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianLVAward=tagCMGetTongTianLVAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianLVAward.Cmd,m_NAtagCMGetTongTianLVAward.SubCmd))] = m_NAtagCMGetTongTianLVAward
+
+
+#------------------------------------------------------
+# A5 43 通天令领取任务奖励 #tagCMGetTongTianTaskAward
+
+class tagCMGetTongTianTaskAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TaskID", c_ubyte), # 任务ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x43
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x43
+ self.TaskID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianTaskAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 43 通天令领取任务奖励 //tagCMGetTongTianTaskAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TaskID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TaskID
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianTaskAward=tagCMGetTongTianTaskAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianTaskAward.Cmd,m_NAtagCMGetTongTianTaskAward.SubCmd))] = m_NAtagCMGetTongTianTaskAward
+
+
+#------------------------------------------------------
# A5 56 神兵激活 #tagCMGodWeaponActivate
class tagCMGodWeaponActivate(Structure):
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index eff6309..02104df 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -4064,6 +4064,14 @@
Def_PDict_Success_CheckVersion = "Succ_CheckVersion" #老玩家某些功能成就检查版本
Def_PDict_Success_PassportAward = "Succ_PassportAward_%s" #成就通行证领奖状态,参数(key编号),按索引位存储0-未领,1-已领
+# 通天令
+Def_PDict_TTL_LVInfo = "TTL_LVInfo" # 当前通天令等级激活信息 = 等级*10+是否已购买通天令
+Def_PDict_TTL_LVPoint = "TTL_LVPoint" # 当前通天令等级已获得积分点
+Def_PDict_TTL_CommAwardRecord = "TTL_CommAwardRecord_%s" # 通天令等级常规领奖记录,参数(key编号),按等级索引位存储0-未领,1-已领
+Def_PDict_TTL_XianAwardRecord = "TTL_XianAwardRecord_%s" # 通天令等级仙品领奖记录,参数(key编号),按等级索引位存储0-未领,1-已领
+Def_PDict_TTL_TaskValue = "TTL_TaskValue_%s_%s" # 通天任务当前进度值,参数(任务类型,是否每日重置)
+Def_PDict_TTL_TaskAwardRecord = "TTL_TaskAwardRecord_%s" # 通天任务领奖记录,参数(key编号),按索引位存储0-未领,1-已领
+
# 大师 Def_PDictType_GreatMaster
Def_PDict_Master_Exp = "Master_Exp" # 当前大师经验
Def_PDict_Master_ExpPoint = "Master_ExpPoint" # 当前大师经验点
@@ -4963,11 +4971,11 @@
Def_Cost_ActivityPlace, #活跃放置 50
Def_Cost_FaQi, # 法器
Def_Cost_Love, # 情缘
-Def_Cost_CrossBattlefield, # 跨服战场
-Def_Cost_LianTi, # 炼体
Def_Cost_BuyOrderInfo, # 购买充值商品
Def_Cost_ActGodGift, # 天帝礼包活动
-Def_Cost_TongTianLing, # 通天令
+Def_Cost_TongTianLing, # 通天令 55
+Def_Cost_CrossBattlefield, # 跨服战场
+Def_Cost_LianTi, # 炼体
#-----------以下为暂时没用的,先不删除,如有新增消费点则放在这些之前------------
Def_Cost_RefreshArrestTask, # 刷新悬赏任务
Def_Cost_OffLineExp, # 兑换离线经验
@@ -5806,3 +5814,25 @@
# CTG ID 定义
Def_CTGID_SuccessPassport = 117 # 成就通行证
+
+# 通天令任务类型定义
+TTLTaskTypeList = (
+TTLTaskType_Activity, # 获取日常活跃度x 1
+TTLTaskType_Plus, # 强化x次 2
+TTLTaskType_Star, # 升星x次 3
+TTLTaskType_Wash, # 洗练x次 4
+TTLTaskType_LoveFB, # 参与情缘副本x次 5
+TTLTaskType_LVUp, # 等级提升x级 6
+TTLTaskType_RealmUp, # 境界提升x阶 7
+TTLTaskType_WorldBoss, # 击杀世界boss x次 8
+TTLTaskType_Sign, # 签到x次 9
+TTLTaskType_Dice, # 天机骰子挑战x次 10
+TTLTaskType_CrossPK, # 跨服PK参与x次 11
+TTLTaskType_ChuanGong, # 仙盟传功x次 12
+TTLTaskType_SWRH, # 守卫人皇参与x次 13
+TTLTaskType_ElderBattlefield, # 上古战场参与x次 14
+TTLTaskType_HorsePetBoss, # 灵宠争夺参与x次 15
+TTLTaskType_FamilyBoss, # 仙盟boss参与x次 16
+TTLTaskType_FamilyPartyAnswerRight, # 仙盟答题答对x次 17
+TTLTaskType_CrossBoss, # 跨服boss击杀x次 18
+) = range(1, 1 + 18)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
index 9e0ca5d..adb01bd 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChPyNetPack.py
@@ -9922,6 +9922,54 @@
#------------------------------------------------------
+# A5 46 购买通天令 #tagCMBuyTongTianLing
+
+class tagCMBuyTongTianLing(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x46
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x46
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMBuyTongTianLing)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 46 购买通天令 //tagCMBuyTongTianLing:
+ Cmd:%s,
+ SubCmd:%s
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd
+ )
+ return DumpString
+
+
+m_NAtagCMBuyTongTianLing=tagCMBuyTongTianLing()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMBuyTongTianLing.Cmd,m_NAtagCMBuyTongTianLing.SubCmd))] = m_NAtagCMBuyTongTianLing
+
+
+#------------------------------------------------------
#A5 3B 请求领取补偿#tagCMRequestCompensation
class tagCMRequestCompensation(Structure):
@@ -10956,6 +11004,58 @@
#------------------------------------------------------
+# A5 45 兑换通天令等级经验积分点 #tagCMExchangeTongTianLVPoint
+
+class tagCMExchangeTongTianLVPoint(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("ExchangePoint", c_int), # 兑换点数
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x45
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x45
+ self.ExchangePoint = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMExchangeTongTianLVPoint)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 45 兑换通天令等级经验积分点 //tagCMExchangeTongTianLVPoint:
+ Cmd:%s,
+ SubCmd:%s,
+ ExchangePoint:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.ExchangePoint
+ )
+ return DumpString
+
+
+m_NAtagCMExchangeTongTianLVPoint=tagCMExchangeTongTianLVPoint()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMExchangeTongTianLVPoint.Cmd,m_NAtagCMExchangeTongTianLVPoint.SubCmd))] = m_NAtagCMExchangeTongTianLVPoint
+
+
+#------------------------------------------------------
# A5 32 法器升级 #tagCMFaQiLVUp
class tagCMFaQiLVUp(Structure):
@@ -11394,6 +11494,114 @@
#------------------------------------------------------
+# A5 44 通天令领取等级奖励 #tagCMGetTongTianLVAward
+
+class tagCMGetTongTianLVAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TTLV", c_ubyte), # 领取对应等级奖励,发255为一键领取所有等级奖励,包含仙品奖励
+ ("IsXian", c_ubyte), # 是否领取仙品奖励,仅指定等级奖励有效
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x44
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x44
+ self.TTLV = 0
+ self.IsXian = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianLVAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 44 通天令领取等级奖励 //tagCMGetTongTianLVAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TTLV:%d,
+ IsXian:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TTLV,
+ self.IsXian
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianLVAward=tagCMGetTongTianLVAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianLVAward.Cmd,m_NAtagCMGetTongTianLVAward.SubCmd))] = m_NAtagCMGetTongTianLVAward
+
+
+#------------------------------------------------------
+# A5 43 通天令领取任务奖励 #tagCMGetTongTianTaskAward
+
+class tagCMGetTongTianTaskAward(Structure):
+ _pack_ = 1
+ _fields_ = [
+ ("Cmd", c_ubyte),
+ ("SubCmd", c_ubyte),
+ ("TaskID", c_ubyte), # 任务ID
+ ]
+
+ def __init__(self):
+ self.Clear()
+ self.Cmd = 0xA5
+ self.SubCmd = 0x43
+ return
+
+ def ReadData(self, stringData, _pos=0, _len=0):
+ self.Clear()
+ memmove(addressof(self), stringData[_pos:], self.GetLength())
+ return _pos + self.GetLength()
+
+ def Clear(self):
+ self.Cmd = 0xA5
+ self.SubCmd = 0x43
+ self.TaskID = 0
+ return
+
+ def GetLength(self):
+ return sizeof(tagCMGetTongTianTaskAward)
+
+ def GetBuffer(self):
+ return string_at(addressof(self), self.GetLength())
+
+ def OutputString(self):
+ DumpString = '''// A5 43 通天令领取任务奖励 //tagCMGetTongTianTaskAward:
+ Cmd:%s,
+ SubCmd:%s,
+ TaskID:%d
+ '''\
+ %(
+ self.Cmd,
+ self.SubCmd,
+ self.TaskID
+ )
+ return DumpString
+
+
+m_NAtagCMGetTongTianTaskAward=tagCMGetTongTianTaskAward()
+ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMGetTongTianTaskAward.Cmd,m_NAtagCMGetTongTianTaskAward.SubCmd))] = m_NAtagCMGetTongTianTaskAward
+
+
+#------------------------------------------------------
# A5 56 神兵激活 #tagCMGodWeaponActivate
class tagCMGodWeaponActivate(Structure):
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 4cd255e..3bad7b0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -82,6 +82,7 @@
import PlayerCostRebate
import PlayerActGarbageSorting
import GY_Query_CrossRealmReg
+import PlayerTongTianLing
import PlayerCrossRealmPK
import FunctionNPCCommon
import IPY_PlayerDefine
@@ -4246,6 +4247,7 @@
EventShell.EventResponse_LVUp(curPlayer) # 升级触发事件
+ PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_LVUp, 1)
#---是否继续循环---
curTotalExp = curTotalExp - lvUpNeedExp
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
index d42170a..d346b08 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerPrestigeSys.py
@@ -28,6 +28,7 @@
import PlayerSuccess
import ChEquip
import PlayerBillboard
+import PlayerTongTianLing
import PassiveBuffEffMng
import EventShell
import DataRecordPack
@@ -223,6 +224,7 @@
NotifyRealmExpInfo(curPlayer)
#境界提升成就
PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_RealmlvUp, nextRealmLv)
+ PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_RealmUp, 1)
#更新排行榜
PlayerBillboard.UpdateRealmBillboard(curPlayer)
# 记录开服活动
--
Gitblit v1.8.0