--[[ string 名字 int:8 性别 int:8 阵营 int:8 职业 int:16 等级 int:8 GM int:8 头衔vip等级 int:8 头衔 Array{ 等级模型列表 int:8 部位 int:32 模型id } Array{ 时装模型列表 int:8 部位 int:32 模型id int:32 贴图id } string 玩家头像 int:32 玩家头像版本 int:64 社团id string 社团名字 int8 社团第一职位 string 第一职位 int:32 玩家称号 int:32 武器附魔光效 int:32 翅膀id Array{ 时装模型列表 int:8 装扮类型 int:32 装扮id } int:32 活跃度形象id int:32 小精灵id int:8 转生次数 int:8 转生阶段 int:8 爵位阶段 Array{ 神器模型列表 int:8 部位 int:32 模型id } int:8 婚姻状态(0单身 1恋爱 2已婚) int:64 伴侣id string 伴侣名字 int:32 孩子形象id int:8 孩子标识位(0隐藏 1显示) int:32 护送状态 int:32 神降id int:32 星灵id int:16 内置图片id int:16 神格阶段 int:8 互动标识(0无互动 1互动主动方 2互动被动方) int:16 互动动作id int:64 互动对方id int:8 vip品级 int:64 角色id int:64 战力 Array{ 进阶列表 int:8 进阶类型 int:16 外观阶位 } int:8 骑乘状态 Array{ 珍宝列表 int:8 珍宝类型 int:16 外观id int:16 星数 } int:8 是否是永久贵族 0|否 1|体验 2|永久 int:32 跟随的宠物id int:8 跟随的宠物stage int:16 幻光id int:8 圣物系统圣阶等级 int:8 是否是跨服霸主 int:8 跨服主功能 军衔 ]] FigureProtoVo = FigureProtoVo or {} FigureProtoVo.pro_list = { [1] = {"name","s"} ,[2] = {"sex","c"} ,[3] = {"realm","c"} ,[4] = {"career","c"} ,[5] = {"level","h"} ,[6] = {"GM","c"} ,[7] = {"vip_flag","c"} ,[8] = {"touxian","c"} ,[9] = {"level_model_list", {[1] = {"part_pos","c"},[2] = {"level_model_id","i"}}} ,[10] = {"fashion_model_list", {[1] = {"part_pos","c"},[2] = {"fashion_model_id","i"},[3] = {"fashion_chartlet_id","i"}}} ,[11] = {"picture","s"} ,[12] = {"picture_ver","i"} ,[13] = {"guild_id","l"} ,[14] = {"guild_name","s"} ,[15] = {"position","c"} ,[16] = {"position_name","s"} ,[17] = {"dsgt_id", "i"} ,[18] = {"weapon_effect", "i"} ,[19] = {"wing_id", "i"} ,[20] = {"dress_list", {[1] = {"dress_type","c"},[2] = {"dress_id","i"}}} ,[21] = {"image_id","i"} ,[22] = {"sprite_id","i"} ,[23] = {"turn","c"} ,[24] = {"turn_stage","c"} ,[25] = {"grade_id","c"} ,[26] = {"godweapon_list", {[1] = {"part_pos","c"},[2] = {"godweapon_id","i"}}} ,[27] = {"is_marriage","c"} ,[28] = {"marriage_id","l"} ,[29] = {"marriage_name","s"} ,[30] = {"child_follow_status","c"} ,[31] = {"child_sex","c"} ,[32] = {"child_ageMonth","c"} ,[33] = {"child_heartLinkLevel","h"} ,[34] = {"child_vehicle_id","i"} ,[35] = {"child_fashion",{[1] = {"type","c"},[2] = {"fashion_id","i"}}} ,[36] = {"escort_state","i"} ,[37] = {"god_id","i"} ,[38] = {"star_soul_id","h"} ,[39] = {"profile_photo_id","i"} ,[40] = {"deity_id","h"} ,[41] = {"vip_type","c"} ,[42] = {"light_weapon_model",{[1] = {"type","c"},[2] = {"model_id","i"},[3] = {"picture_id","i"}}} ,[43] = {"role_id","l"} ,[44] = {"power","l"} ,[45] = {"foster_list", {[1] = {"type_id","c"},[2] = {"stage_id","h"}}} ,[46] = {"is_ride","c"} ,[47] = {"foster_skin_list", {[1] = {"type_id","c"},[2] = {"sub_id","h"},[3] = {"star","h"}}} ,[48] = {"sup_vip_type","c"} ,[49] = {"pokemon_id","i"} ,[50] = {"pokemon_star","c"} ,[51] = {"evil_type_id","i"} ,[52] = {"nature_tips",{[1] = {"nature_type","c"},[2] = {"tip","c"},[3] = {"show_pos", "c"}}} ,[53] = {"light_id","h"} ,[54] = {"ps_lv","c"} ,[55] = {"is_overlord","c"} ,[56] = {"military_ranks","c"} --跨服主功能 军衔 ,[57] = {"foster_sub_skin_list", {[1] = {"type_id","c"},[2] = {"skin_id","h"},[3] = {"star","h"}}} --进阶皮肤 } function FigureProtoVo.ReadFmt(target) local vo = nil local len = nil local list_vo = nil for i = 1, #FigureProtoVo.pro_list do vo = FigureProtoVo.pro_list[i] if i == 9 or i == 10 or i == 20 or i == 26 or i == 35 or i == 42 or i == 45 or i == 47 or i == 52 or i == 57 then len = UserMsgAdapter.ReadFmt("h") target[vo[1]] = {} for j = 1,len do list_vo = {} for k = 1,#vo[2] do list_vo[vo[2][k][1]] = UserMsgAdapter.ReadFmt(vo[2][k][2]) end table.insert(target[vo[1]],list_vo) if i == 20 then--把头像框参数拿出来 for kk,vv in pairs(target[vo[1]]) do if vv.dress_type == 2 then--头像框 target["dress_board"] = vv.dress_id break end end end end else local new_value = UserMsgAdapter.ReadFmt(vo[2]) if vo[1] ~= "role_id" or not target[vo[1]] or target[vo[1]] == 0 then target[vo[1]] = new_value end end end -- 拼接珍宝外观id for k,v in pairs(target.foster_skin_list) do if v.type_id == FosterConst.ModuleId.FWeapon then --武器的珍宝需要手动折算2次成资源名 v.skin_id = ShapeModel:GetModelRes( v.type_id, v.sub_id, v.star ) if v.skin_id > 0 then v.skin_id = GameResPath:GetFWeaponResName( target.career,v.skin_id) end else v.skin_id = ShapeModel:GetModelRes( v.type_id, v.sub_id, v.star ) end end end