LuaDistributesRetAchievement = {} LuaDistributesRetAchievement.sysID = 43 LuaDistributesRetAchievement.cmdID = 2 function LuaDistributesRetAchievement.ExtraPacket(memStream) -- print('ExtraPacket:'..memStream.Length) local binaryReader = CS.BinaryMessageHandle.GetLuaPacketReader(memStream) local sysID = binaryReader:ReadByte() local cmdID = binaryReader:ReadByte() packet = LuaDistributesRetAchievement.ReadPacket(binaryReader) return packet end function LuaDistributesRetAchievement.SendPacket(packet) local message = CS.BinaryMessageHandle.CreateMessage(LuaDistributesRetAchievement.sysID, LuaDistributesRetAchievement.cmdID) if(list == nil) then list = {} end message:WriteInt(#packet['list']) for k,v in ipairs(packet['list']) do require "LuaDistributesAchievementNode" LuaDistributesAchievementNode.WritePacket(v, binaryWriter) end if(packet['progress'] == nil) then packet['progress'] = 0 end message:WriteInt(packet['progress']) if(packet['totalProgress'] == nil) then packet['totalProgress'] = 0 end message:WriteInt(packet['totalProgress']) message:Send() end function LuaDistributesRetAchievement.ReadPacket(binaryReader) local packet = {} packet['list'] = {} local listCnt = binaryReader:ReadInt32() for i=1,listCnt,1 do require "LuaDistributesAchievementNode" packet['list'][i] = LuaDistributesAchievementNode.ReadPacket(binaryReader) end packet['progress'] = binaryReader:ReadInt32() packet['totalProgress'] = binaryReader:ReadInt32() return packet end