10287 【英文】1折活动(增加推金币累计获得货币奖励通知;AA05)
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 05 推金币信息 #tagMCTuijinbiInfo
|
| | |
|
| | | class tagMCTuijinbiMoney(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("MoneyType", c_ubyte), |
| | | ("MoneyValue", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | 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.MoneyType = 0
|
| | | self.MoneyValue = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagMCTuijinbiMoney)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 05 推金币信息 //tagMCTuijinbiInfo:
|
| | | MoneyType:%d,
|
| | | MoneyValue:%d
|
| | | '''\
|
| | | %(
|
| | | self.MoneyType,
|
| | | self.MoneyValue
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | class tagMCTuijinbiInfo(Structure):
|
| | | Head = tagHead()
|
| | | AwardMoneyCount = 0 #(BYTE AwardMoneyCount)
|
| | | AwardMoneyList = list() #(vector<tagMCTuijinbiMoney> AwardMoneyList)// 累计获得货币信息列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x05
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.AwardMoneyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.AwardMoneyCount):
|
| | | temAwardMoneyList = tagMCTuijinbiMoney()
|
| | | _pos = temAwardMoneyList.ReadData(_lpData, _pos)
|
| | | self.AwardMoneyList.append(temAwardMoneyList)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x05
|
| | | self.AwardMoneyCount = 0
|
| | | self.AwardMoneyList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | for i in range(self.AwardMoneyCount):
|
| | | length += self.AwardMoneyList[i].GetLength()
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.AwardMoneyCount)
|
| | | for i in range(self.AwardMoneyCount):
|
| | | data = CommFunc.WriteString(data, self.AwardMoneyList[i].GetLength(), self.AwardMoneyList[i].GetBuffer())
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | AwardMoneyCount:%d,
|
| | | AwardMoneyList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.AwardMoneyCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCTuijinbiInfo=tagMCTuijinbiInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTuijinbiInfo.Head.Cmd,m_NAtagMCTuijinbiInfo.Head.SubCmd))] = m_NAtagMCTuijinbiInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 0A 周狂欢活动信息 #tagMCWeekPartyInfo
|
| | |
|
| | | class tagMCWeekPartyItem(Structure):
|
| | |
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 05 推金币信息 #tagMCTuijinbiInfo
|
| | |
|
| | | class tagMCTuijinbiMoney(Structure):
|
| | | _pack_ = 1
|
| | | _fields_ = [
|
| | | ("MoneyType", c_ubyte), |
| | | ("MoneyValue", c_int), |
| | | ]
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | 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.MoneyType = 0
|
| | | self.MoneyValue = 0
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | return sizeof(tagMCTuijinbiMoney)
|
| | |
|
| | | def GetBuffer(self):
|
| | | return string_at(addressof(self), self.GetLength())
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''// AA 05 推金币信息 //tagMCTuijinbiInfo:
|
| | | MoneyType:%d,
|
| | | MoneyValue:%d
|
| | | '''\
|
| | | %(
|
| | | self.MoneyType,
|
| | | self.MoneyValue
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | class tagMCTuijinbiInfo(Structure):
|
| | | Head = tagHead()
|
| | | AwardMoneyCount = 0 #(BYTE AwardMoneyCount)
|
| | | AwardMoneyList = list() #(vector<tagMCTuijinbiMoney> AwardMoneyList)// 累计获得货币信息列表
|
| | | data = None
|
| | |
|
| | | def __init__(self):
|
| | | self.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x05
|
| | | return
|
| | |
|
| | | def ReadData(self, _lpData, _pos=0, _Len=0):
|
| | | self.Clear()
|
| | | _pos = self.Head.ReadData(_lpData, _pos)
|
| | | self.AwardMoneyCount,_pos = CommFunc.ReadBYTE(_lpData, _pos)
|
| | | for i in range(self.AwardMoneyCount):
|
| | | temAwardMoneyList = tagMCTuijinbiMoney()
|
| | | _pos = temAwardMoneyList.ReadData(_lpData, _pos)
|
| | | self.AwardMoneyList.append(temAwardMoneyList)
|
| | | return _pos
|
| | |
|
| | | def Clear(self):
|
| | | self.Head = tagHead()
|
| | | self.Head.Clear()
|
| | | self.Head.Cmd = 0xAA
|
| | | self.Head.SubCmd = 0x05
|
| | | self.AwardMoneyCount = 0
|
| | | self.AwardMoneyList = list()
|
| | | return
|
| | |
|
| | | def GetLength(self):
|
| | | length = 0
|
| | | length += self.Head.GetLength()
|
| | | length += 1
|
| | | for i in range(self.AwardMoneyCount):
|
| | | length += self.AwardMoneyList[i].GetLength()
|
| | |
|
| | | return length
|
| | |
|
| | | def GetBuffer(self):
|
| | | data = ''
|
| | | data = CommFunc.WriteString(data, self.Head.GetLength(), self.Head.GetBuffer())
|
| | | data = CommFunc.WriteBYTE(data, self.AwardMoneyCount)
|
| | | for i in range(self.AwardMoneyCount):
|
| | | data = CommFunc.WriteString(data, self.AwardMoneyList[i].GetLength(), self.AwardMoneyList[i].GetBuffer())
|
| | | return data
|
| | |
|
| | | def OutputString(self):
|
| | | DumpString = '''
|
| | | Head:%s,
|
| | | AwardMoneyCount:%d,
|
| | | AwardMoneyList:%s
|
| | | '''\
|
| | | %(
|
| | | self.Head.OutputString(),
|
| | | self.AwardMoneyCount,
|
| | | "..."
|
| | | )
|
| | | return DumpString
|
| | |
|
| | |
|
| | | m_NAtagMCTuijinbiInfo=tagMCTuijinbiInfo()
|
| | | ChNetPackDict[eval("0x%02x%02x"%(m_NAtagMCTuijinbiInfo.Head.Cmd,m_NAtagMCTuijinbiInfo.Head.SubCmd))] = m_NAtagMCTuijinbiInfo
|
| | |
|
| | |
|
| | | #------------------------------------------------------
|
| | | # AA 0A 周狂欢活动信息 #tagMCWeekPartyInfo
|
| | |
|
| | | class tagMCWeekPartyItem(Structure):
|
| | |
| | | import PlayerChatBox
|
| | | import PlayerXiangong
|
| | | import PlayerMineArea
|
| | | import PlayerSuperDiscount
|
| | | import PlayerActLoginNew
|
| | | import PlayerActBuyCountGift
|
| | | import PlayerActTask
|
| | |
| | | PlayerZhanling.OnPlayerLogin(curPlayer)
|
| | | PlayerMineArea.OnPlayerLogin(curPlayer)
|
| | | PlayerGuaji.OnPlayerLogin(curPlayer)
|
| | | PlayerSuperDiscount.OnPlayerLogin(curPlayer)
|
| | |
|
| | | # 上线查询一次充值订单
|
| | | curPlayer.SendDBQueryRecharge()
|
| | |
| | | import GameWorld
|
| | | import IpyGameDataPY
|
| | | import PlayerControl
|
| | | import ChPyNetSendPack
|
| | | import NetPackCommon
|
| | | import ShareDefine
|
| | | import ChConfig
|
| | | import time
|
| | |
|
| | | def OnPlayerLogin(curPlayer):
|
| | | SyncTuijinbiInfo(curPlayer)
|
| | | return
|
| | |
|
| | | def PlayerOnDay(curPlayer):
|
| | | GiveTuijinbiByDay(curPlayer)
|
| | |
| | | GameWorld.DebugLog("更新推金币奖励: moneyType=%s,moneyValue=%s,giveMoney=%s,updMoneyTotal=%s"
|
| | | % (moneyType, moneyValue, giveMoney, updMoneyTotal), playerID)
|
| | | PlayerControl.GiveMoney(curPlayer, moneyType, giveMoney, "Tuijinbi")
|
| | | SyncTuijinbiInfo(curPlayer)
|
| | |
|
| | | elif opType == 2:
|
| | | __DoActiveSuperDiscount(curPlayer)
|
| | |
|
| | | return
|
| | |
|
| | | def SyncTuijinbiInfo(curPlayer):
|
| | | awardMoneyList = []
|
| | | moneyUpperLimitDict = IpyGameDataPY.GetFuncEvalCfg("EnSuperDiscount", 3, {})
|
| | | for moneyType in moneyUpperLimitDict.keys():
|
| | | moneyTotal = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_TuiJinbiMoney % moneyType)
|
| | | if not moneyTotal:
|
| | | continue
|
| | | moneyInfo = ChPyNetSendPack.tagMCTuijinbiMoney()
|
| | | moneyInfo.MoneyType = moneyType
|
| | | moneyInfo.MoneyValue = moneyTotal
|
| | | awardMoneyList.append(moneyInfo)
|
| | | if not awardMoneyList:
|
| | | return
|
| | | clientPack = ChPyNetSendPack.tagMCTuijinbiInfo()
|
| | | clientPack.AwardMoneyList = awardMoneyList
|
| | | clientPack.AwardMoneyCount = len(clientPack.AwardMoneyList)
|
| | | NetPackCommon.SendFakePack(curPlayer, clientPack)
|
| | | return
|
| | |
|