| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 08 刷新缥缈任务 #tagCMRefreshPiaomiaoTask
|
| | |
|
| | | class tagCMRefreshPiaomiaoTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMRefreshPiaomiaoTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 08 刷新缥缈任务 //tagCMRefreshPiaomiaoTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMRefreshPiaomiaoTask=tagCMRefreshPiaomiaoTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshPiaomiaoTask.Cmd,m_NAtagCMRefreshPiaomiaoTask.SubCmd))] = m_NAtagCMRefreshPiaomiaoTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 02通知选中对象 # tagCMSelectObj
|
| | |
|
| | | class tagCMSelectObj(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 20 缥缈任务信息 #tagMCPiaomiaoTaskInfo
|
| | |
|
| | | class tagMCPiaomiaoTaskInfo(Structure):
|
| | | Head = tagHead()
|
| | | FinishCount = 0 #(BYTE FinishCount)//今日已完成次数
|
| | | RefreshCount = 0 #(BYTE RefreshCount)//今日已刷新次数
|
| | | TaskCount = 0 #(BYTE TaskCount)
|
| | | TaskIDList = list() #(vector<DWORD> TaskIDList)//刷新任务ID列表[taskID,...] |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.FinishCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.TaskCount):
|
| | | value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
|
| | | self.TaskIDList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | self.FinishCount = 0
|
| | | self.RefreshCount = 0
|
| | | self.TaskCount = 0
|
| | | self.TaskIDList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1
|
| | | length += 4 * self.TaskCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.FinishCount)
|
| | | data = CommFunc.WriteBYTE(data, self.RefreshCount)
|
| | | data = CommFunc.WriteBYTE(data, self.TaskCount)
|
| | | for i in range(self.TaskCount):
|
| | | data = CommFunc.WriteDWORD(data, self.TaskIDList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | FinishCount:%d,
|
| | | RefreshCount:%d,
|
| | | TaskCount:%d,
|
| | | TaskIDList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.FinishCount,
|
| | | self.RefreshCount,
|
| | | self.TaskCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCPiaomiaoTaskInfo=tagMCPiaomiaoTaskInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPiaomiaoTaskInfo.Head.Cmd,m_NAtagMCPiaomiaoTaskInfo.Head.SubCmd))] = m_NAtagMCPiaomiaoTaskInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 19 查询玩家境界阶装备信息结果 #tagSCPlayerEquipCacheResult
|
| | |
|
| | | class tagSCPlayerEquipCacheResult(Structure):
|
| | |
| | | GameFuncID_TJG = 147 # 脱机挂
|
| | | GameFuncID_SuperGift = 150 # 超值礼包
|
| | | GameFuncID_ZhuXianBoss = 163 # 诛仙BOSS
|
| | | GameFuncID_PiaomiaoTask = 173 # 缥缈任务
|
| | | # 以下为暂时无用的
|
| | | GameFuncID_Truck = 33 # 运镖
|
| | | GameFuncID_RunDaily = 34 # 日常跑环
|
| | |
| | | PacketSubCMD_11=0x07
|
| | | PacketCallFunc_11=OnTakeTask
|
| | |
|
| | |
|
| | | ;缥缈任务
|
| | | [PlayerPiaomiaoTask]
|
| | | ScriptName = Player\PlayerPiaomiaoTask.py
|
| | | Writer = hxp
|
| | | Releaser = hxp
|
| | | RegType = 0
|
| | | RegisterPackCount = 1
|
| | |
|
| | | PacketCMD_1=0xA2
|
| | | PacketSubCMD_1=0x08
|
| | | PacketCallFunc_1=OnRefreshPiaomiaoTask
|
| | |
|
| | | ;VIP功能
|
| | | [PlayerVip]
|
| | | ScriptName = Player\PlayerVip.py
|
| | |
| | | Def_PDict_TodayAssistMoney = "TodayAssistMoney" # 今日已获得协助货币奖励
|
| | | Def_PDict_TodayAssistMoneySocial = "TodayAssistMoneySocial" # 今日已获得协助货币 社交关系额外加成
|
| | |
|
| | | #缥缈任务
|
| | | Def_PDict_PiaomiaoTaskFinishCount = "PiaomiaoTaskFinishCount" # 今日已完成任务次数
|
| | | Def_PDict_PiaomiaoTaskRefreshCount = "PiaomiaoTaskRefreshCount" # 今日已刷新次数
|
| | | Def_PDict_PiaomiaoMaxGradeTaskID = "PiaomiaoMaxGradeTaskID" # 缥缈任务最大评分任务ID
|
| | | #-------------------------------------------------------------------------------
|
| | | #可以从07 41封包购买的背包类型,和对应字典{背包类型:[字典key, 默认格子数]}
|
| | |
|
| | |
| | | Def_Cost_BuyKillBossCnt, #购买boss次数
|
| | | Def_Cost_EquipStar, #装备升星
|
| | | Def_Cost_ActivityPlace, #活跃放置 50
|
| | | Def_Cost_PiaomiaoTask, #缥缈任务
|
| | | #-----------以下为暂时没用的,先不删除,如有新增消费点则放在这些之前------------
|
| | | Def_Cost_RefreshArrestTask, # 刷新悬赏任务
|
| | | Def_Cost_OffLineExp, # 兑换离线经验
|
| | |
| | | Def_Cost_Trade, # 交易
|
| | | Def_Cost_Rename, # 改名
|
| | | Def_Cost_SkillLvUp, # 技能升级
|
| | | ) = range(2000, 2000 + 63)
|
| | | ) = range(2000, 2000 + 62)
|
| | |
|
| | | Def_Cost_Reason_SonKey = "reason_name_son" # 消费点原因子类说明key
|
| | |
|
| | |
| | | Def_Cost_BuyKillBossCnt:"BuyKillBossCnt",
|
| | | Def_Cost_EquipStar:"EquipStar",
|
| | | Def_Cost_ActivityPlace:"ActivityPlace",
|
| | | Def_Cost_PiaomiaoTask:"PiaomiaoTask",
|
| | | }
|
| | | ## -----------------------------------------------------
|
| | |
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A2 08 刷新缥缈任务 #tagCMRefreshPiaomiaoTask
|
| | |
|
| | | class tagCMRefreshPiaomiaoTask(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("Cmd", c_ubyte),
|
| | | ("SubCmd", c_ubyte),
|
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Cmd = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | 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 = 0xA2
|
| | | self.SubCmd = 0x08
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagCMRefreshPiaomiaoTask)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// A2 08 刷新缥缈任务 //tagCMRefreshPiaomiaoTask:
|
| | | Cmd:%s,
|
| | | SubCmd:%s
|
| | | '''\
|
| | | %(
|
| | | self.Cmd,
|
| | | self.SubCmd
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagCMRefreshPiaomiaoTask=tagCMRefreshPiaomiaoTask()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagCMRefreshPiaomiaoTask.Cmd,m_NAtagCMRefreshPiaomiaoTask.SubCmd))] = m_NAtagCMRefreshPiaomiaoTask
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | #A2 02通知选中对象 # tagCMSelectObj
|
| | |
|
| | | class tagCMSelectObj(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 20 缥缈任务信息 #tagMCPiaomiaoTaskInfo
|
| | |
|
| | | class tagMCPiaomiaoTaskInfo(Structure):
|
| | | Head = tagHead()
|
| | | FinishCount = 0 #(BYTE FinishCount)//今日已完成次数
|
| | | RefreshCount = 0 #(BYTE RefreshCount)//今日已刷新次数
|
| | | TaskCount = 0 #(BYTE TaskCount)
|
| | | TaskIDList = list() #(vector<DWORD> TaskIDList)//刷新任务ID列表[taskID,...] |
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.FinishCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.RefreshCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | self.TaskCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.TaskCount):
|
| | | value,_pos=CommFunc.ReadDWORD(_lpData,_pos)
|
| | | self.TaskIDList.append(value)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xA7
|
| | | self.Head.SubCmd = 0x20
|
| | | self.FinishCount = 0
|
| | | self.RefreshCount = 0
|
| | | self.TaskCount = 0
|
| | | self.TaskIDList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | length += 1
|
| | | length += 1
|
| | | length += 4 * self.TaskCount
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.FinishCount)
|
| | | data = CommFunc.WriteBYTE(data, self.RefreshCount)
|
| | | data = CommFunc.WriteBYTE(data, self.TaskCount)
|
| | | for i in range(self.TaskCount):
|
| | | data = CommFunc.WriteDWORD(data, self.TaskIDList[i])
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | FinishCount:%d,
|
| | | RefreshCount:%d,
|
| | | TaskCount:%d,
|
| | | TaskIDList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.FinishCount,
|
| | | self.RefreshCount,
|
| | | self.TaskCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCPiaomiaoTaskInfo=tagMCPiaomiaoTaskInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCPiaomiaoTaskInfo.Head.Cmd,m_NAtagMCPiaomiaoTaskInfo.Head.SubCmd))] = m_NAtagMCPiaomiaoTaskInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # A7 19 查询玩家境界阶装备信息结果 #tagSCPlayerEquipCacheResult
|
| | |
|
| | | class tagSCPlayerEquipCacheResult(Structure):
|
| | |
| | | import FormulaControl
|
| | | import GameFuncComm
|
| | | import ChPyNetSendPack
|
| | | import PlayerPiaomiaoTask
|
| | | import NetPackCommon
|
| | | import NPCCommon
|
| | | import PlayerVip
|
| | |
| | | return
|
| | |
|
| | | curQuestData = QuestManager.FindQuest(taskID)
|
| | | if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
|
| | | PlayerPiaomiaoTask.OnFinishPiaomiaoTask(curPlayer, curMission)
|
| | | return
|
| | |
|
| | | rewardPer = 100 if rewardPer <= 0 else rewardPer
|
| | | moneyType, moneyCnt = 0, 0
|
| | |
| | | #放弃悬赏任务
|
| | | #if missionID == ChConfig.Def_ArrestMissionID:
|
| | | # PlayerArrestTask.OnDeleteArrestTask(curPlayer)
|
| | | |
| | | if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
|
| | | PlayerPiaomiaoTask.DoCancelPiaomiaoTask(curPlayer, curMission)
|
| | | return
|
| | |
|
| | | #先在任务表中找数据, 如果找到了, 就不遍历XML了
|
| | | if __DoLogic_DeleteMission(curPlayer, curMission):
|
| | |
| | |
|
| | | curQuestData = QuestManager.FindQuest(missionID)
|
| | | if not curQuestData:
|
| | | return
|
| | | |
| | | if curQuestData.Type == QuestCommon.Def_Mission_Type_Piaomiao:
|
| | | PlayerPiaomiaoTask.OnTakePiaomiaoTask(curPlayer, curMission)
|
| | | return
|
| | |
|
| | | QuestCommon.SetPlayerMissionState(curPlayer, curMission, 1)
|
| | |
| | | Def_GM_Active_Mission_Type = 999 #暂时不用,配大点
|
| | | Def_Mission_Type_RunDaily = 7
|
| | | Def_Mission_Type_RunFamily = 12
|
| | | Def_Mission_Type_Piaomiao = 25 # 缥缈任务
|
| | |
|
| | | Def_MainTask_Type_List = [Def_Mission_Type_Main, Def_Mission_Type_MainHid]
|
| | | Def_RunTask_Type_List = [Def_Mission_Type_RunDaily, Def_Mission_Type_RunFamily]
|
| | |
| | | import PlayerWeekParty
|
| | | import PlayerFeastWeekParty
|
| | | import PlayerActLogin
|
| | | import Operate_EquipWash
|
| | | import PlayerTreasure
|
| | | import GameLogic_GodArea
|
| | | import PlayerRune
|
| | | import PlayerFamilyRedPacket
|
| | | import IpyGameDataPY
|
| | | import EventReport
|
| | | import Operate_EquipStone
|
| | | import OpenServerCampaign
|
| | | import PlayerVip
|
| | | import PlayerRefineStove
|
| | |
| | | import PlayerGeTui
|
| | | import PlayerDogz
|
| | | import PlayerCoat
|
| | | import PlayerQuDaoDoubleBill
|
| | | import PlayerPiaomiaoTask
|
| | | import PlayerFB
|
| | | import SkillShell
|
| | | import PlayerYinji
|
| | |
| | | ChItem.Sync_ItemDayUseCnt(curPlayer)
|
| | | # 悬赏登录通知
|
| | | #PlayerArrestTask.OnLogin(curPlayer)
|
| | | # 缥缈任务
|
| | | PlayerPiaomiaoTask.OnPlayerLogin(curPlayer)
|
| | | # 符印登录通知
|
| | | PlayerRune.PlayerRuneLogin(curPlayer)
|
| | | # 仙盟红包登录通知
|
| | |
| | | import PlayerSignDay
|
| | | import PlayerGoldGift
|
| | | import PlayerEquipDecompose
|
| | | import PlayerPiaomiaoTask
|
| | | import PlayerFreeGoods
|
| | | import FunctionNPCCommon
|
| | | import PlayerGreatMaster
|
| | |
| | | ShareDefine.GameFuncID_AddPoint:lambda curObj:PlayerControl.DoAddPointOpen(curObj),
|
| | | ShareDefine.GameFuncID_Talent:lambda curObj:PlayerGreatMaster.DoTalentOpen(curObj),
|
| | | ShareDefine.GameFuncID_TJG:lambda curObj:PlayerTJG.DoTJGOpen(curObj),
|
| | | ShareDefine.GameFuncID_PiaomiaoTask:lambda curObj:PlayerPiaomiaoTask.DoPiaomiaoTaskOpen(curObj),
|
| | | #ShareDefine.GameFuncID_RunDaily:lambda curObj:FBCommon.DoFuncOpen_RunDaily(curObj),
|
| | | #ShareDefine.GameFuncID_RunFamily:lambda curObj:FBCommon.DoFuncOpen_RunFamily(curObj),
|
| | | #ShareDefine.GameFuncID_RefineExp:lambda curObj:Operate_PlayerBuyZhenQi.DoFuncOpen_RefineExp(curObj),
|
| | |
| | | import PlayerFlashSale
|
| | | import PlayerWishingWell
|
| | | import PlayerFairyDomain
|
| | | import PlayerPiaomiaoTask
|
| | | import PlayerVip
|
| | | import PlayerDiceEx
|
| | | import IpyGameDataPY
|
| | |
| | | PlayerCrossRealmPK.DoPlayerOnDay(curPlayer)
|
| | | #缥缈仙域
|
| | | PlayerFairyDomain.OnDay(curPlayer)
|
| | | #缥缈任务
|
| | | PlayerPiaomiaoTask.OnDay(curPlayer)
|
| | | #仙盟宴会
|
| | | GameLogic_FamilyParty.OnDayFamilyPartyPlayer(curPlayer)
|
| | | #协助
|
| | |
| | | GameFuncID_TJG = 147 # 脱机挂
|
| | | GameFuncID_SuperGift = 150 # 超值礼包
|
| | | GameFuncID_ZhuXianBoss = 163 # 诛仙BOSS
|
| | | GameFuncID_PiaomiaoTask = 173 # 缥缈任务
|
| | | # 以下为暂时无用的
|
| | | GameFuncID_Truck = 33 # 运镖
|
| | | GameFuncID_RunDaily = 34 # 日常跑环
|