源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

178 lines
5.1 KiB

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