--[[ 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
|