| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | | 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" # 当前大师经验点
|
| | |
| | | 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, # 兑换离线经验
|
| | |
| | |
|
| | | # 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)
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # 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):
|
| | |
| | | import PlayerCostRebate
|
| | | import PlayerActGarbageSorting
|
| | | import GY_Query_CrossRealmReg
|
| | | import PlayerTongTianLing
|
| | | import PlayerCrossRealmPK
|
| | | import FunctionNPCCommon
|
| | | import IPY_PlayerDefine
|
| | |
| | |
|
| | | EventShell.EventResponse_LVUp(curPlayer) # 升级触发事件
|
| | |
|
| | | PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_LVUp, 1)
|
| | | #---是否继续循环---
|
| | | curTotalExp = curTotalExp - lvUpNeedExp
|
| | |
|
| | |
| | | import PlayerSuccess
|
| | | import ChEquip
|
| | | import PlayerBillboard
|
| | | import PlayerTongTianLing
|
| | | import PassiveBuffEffMng
|
| | | import EventShell
|
| | | import DataRecordPack
|
| | |
| | | NotifyRealmExpInfo(curPlayer)
|
| | | #境界提升成就
|
| | | PlayerSuccess.UptateSuccessProgress(curPlayer, ShareDefine.SuccType_RealmlvUp, nextRealmLv)
|
| | | PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_RealmUp, 1)
|
| | | #更新排行榜
|
| | | PlayerBillboard.UpdateRealmBillboard(curPlayer)
|
| | | # 记录开服活动
|