%%---------------------------------------------------- %% 物品数据 %% @author shawn %%---------------------------------------------------- -module(item_data). -export([ cfg/0 ,init_data/2 ] ). -include("common.hrl"). -include("data_config.hrl"). cfg() -> S = binary_to_list(unicode:characters_to_binary("技能道具")), SS = binary_to_list(unicode:characters_to_binary("萌宠特产")), #data_cfg{ name = item_data ,lua_name = item_data ,desc = "物品数据" ,record = item_base ,splitv = 2 ,inc = ["common.hrl", "item.hrl", "condition.hrl"] ,source = "item_data.xml" ,target = "item_data.erl" ,valid_file = ["常规道具", "英雄物品", "装备道具","神装道具", "家具道具", "星命", "圣灵"] ,callback = [ {all, cb_fun, handle, {list, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"]}} ,{get, cb_fun, handle, {get_record, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"], id, item_base, all}} %% get_record(1) -> #record_name{}; ,{{assets_atom2code,0}, cb_fun, handle, {row_fun, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"], fun assets_atom2code/1}} ,{{assets_code2atom,undefined}, cb_fun, handle, {row_fun, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"], fun assets_code2atom/1}} ,{{assets_atom2name,"<<>>"}, cb_fun, handle, {row_fun, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"], fun assets_atom2name/1}} ,{{assets_code2name,"<<>>"}, cb_fun, handle, {row_fun, ["常规道具", "精灵", "英雄物品", "装备道具", "神装道具", "家具道具", "星命", "圣灵", "萌宠道具"], fun assets_code2name/1}} ,{{natal_set,"0"}, cb_fun, handle, {get_tuple, ["星命"], id, eqm_set}} ,{{get_sort, 0}, cb_fun, handle, {get_tuple, ["常规排序"], type, sort}} ,{{eqm_output_id,"0"}, cb_fun, handle, {get_tuple, ["装备道具"], id, eqm_output_id}} ,{{get_source,"[]"}, cb_fun, handle, {get_tuple, ["常规道具"], id, source}} ,{{get_star_jie, "undefined"}, cb_fun, handle, {get_tuple, ["神装道具", "装备道具"], id, [eqm_star, eqm_jie]}} ,{get_hero_hun, cb_fun, handle, {get_tuple, ["常规道具"], id, [camp_type, eqm_jie]}} ,{get_use_count, cb_fun, handle, {get_tuple, ["萌宠道具"], id, use_count}} ,{get_secret_dun_bag_max_num, cb_fun, handle, {get_tuple, ["位面探险道具"], id, overlap}} ] ,callback_cli = [ {item_data1, [{unit, cb_fun_lua, handle, {val_str, ["常规道具"], [id], all}}]}, {item_data2, [{unit, cb_fun_lua, handle, {val_str, ["装备道具"], [id], all}}]}, {item_data3, [{unit, cb_fun_lua, handle, {val_str, ["神装道具"], [id], all}}]}, {item_data4, [{unit, cb_fun_lua, handle, {val_str, ["星命"], [id], all}}]}, {item_data5, [{unit, cb_fun_lua, handle, {val_str, ["圣灵"], [id], all}}]}, {item_data6, [{unit, cb_fun_lua, handle, {val_str, ["英雄物品"], [id], all}}]}, {item_data7, [{unit, cb_fun_lua, handle, {val_str, ["家具道具"], [id], all}}]}, {item_data8, [{unit, cb_fun_lua, handle, {val_str, ["萌宠道具"], [id], all}}]}, {item_data9, [{unit, cb_fun_lua, handle, {val_str, ["精灵"], [id], all}}]}, {item_data10, [{unit, cb_fun_lua, handle, {val_str, ["位面探险道具"], [id], all}}]}, {get_data, cb_fun_lua, handle, {fun_unit, ["分割文件"], unit, name}}, {treasure_info, [{filter_row,[{type,#f_column.cell_val,[SS]}]}], cb_fun_lua, handle, {format, ["萌宠道具"], " [~s] = 1 ", [id]}}, {assets_id2label, [{nonull,[assets]}], cb_fun_lua, handle, {format, ["常规道具"], " [~s] = '~s'", [id,assets]}}, {assets_label2id, [{nonull,[assets]}], cb_fun_lua, handle, {format, ["常规道具"], " ~s = ~s", [assets,id]}}, {item_type, cb_fun_lua, handle, {kv, item_type}}, {item_effect_type, cb_fun_lua, handle, {kv, item_effect_type}}, {item_sort, cb_fun_lua, handle, {key_val, ["常规排序"], [type], sort}}, {skill_item_list, [{filter_row,[{type_desc,#f_column.cell_val,[S]}]}], cb_fun_lua, handle, {format, ["常规道具"], " [~s] = '~ts'", [id,id]}}, {holy_eqm_list, cb_fun_lua, handle, {type_get_val, ["神装道具"], [eqm_set,id], [id]}} ] ,callback_json = [ {unit1, cb_fun_json, handle, {val, ["常规道具"], [id], all}}, {unit2, cb_fun_json, handle, {val, ["装备道具"], [id], all}}, {unit3, cb_fun_json, handle, {val, ["神装道具"], [id], all}}, {unit4, cb_fun_json, handle, {val, ["星命"], [id], all}}, {unit5, cb_fun_json, handle, {val, ["圣灵"], [id], all}}, {unit6, cb_fun_json, handle, {val, ["英雄物品"], [id], all}}, {unit7, cb_fun_json, handle, {val, ["家具道具"], [id], all}}, {unit8, cb_fun_json, handle, {val, ["萌宠道具"], [id], all}}, {unit9, cb_fun_json, handle, {val, ["精灵"], [id], all}}, {unit10, cb_fun_json, handle, {val, ["位面探险道具"], [id], all}}, {treasure_info, [{filter_row,[{type,#f_column.cell_val,[SS]}]}], cb_fun_json, handle, {format, ["萌宠道具"], " \"~s\" : 1 ", [id]}}, {assets_id2label, [{nonull,[assets]}], cb_fun_json, handle, {format, ["常规道具"], " \"~s\" : \"~s\"", [id,assets]}}, {assets_label2id, [{nonull,[assets]}], cb_fun_json, handle, {format, ["常规道具"], " \"~s\" : \"~s\"", [assets,id]}}, {item_type, cb_fun_json, handle, {kv, item_type}}, {item_effect_type, cb_fun_json, handle, {kv, item_effect_type}}, {item_sort, cb_fun_json, handle, {key_val, ["常规排序"], [type], sort}}, {skill_item_list, [{filter_row,[{type_desc,#f_column.cell_val,[S]}]}], cb_fun_json, handle, {format, ["常规道具"], " \"~s\": \"~s\" ", [id,id]}}, {holy_eqm_list, cb_fun_json, handle, {type_get_val, ["神装道具"], [eqm_set,id], [id]}}, {tips, cb_fun_json, handle, {type_get_val, ["tips按钮"], [id, args], all}} ] ,sheet = [ {["常规道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = all} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time, desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, valid_list = false,desc = "使用条件", mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "服务端效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型", mod = all} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值", mod = all} ], mod = all } ,#f_column{type = term, name = client_effect, desc = "客户端使用效果", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "物品阶数", mod = all} ,#f_column{type = int, name = fast_use, desc = "是否快捷使用", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = bstr, name = use_desc , desc = "作用描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = kv, name = camp_type, kv_type = partner_camp_type, val = 0, val_cli = 0, desc = "阵营", mod = client} ,#f_column{type = int, name = mark , desc = "高亮奖励", mod = client} ] } ,{["英雄物品"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = all} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time, desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, valid_list = false,desc = "使用条件", mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "服务端效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型", mod = all} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值", mod = all} ], mod = all } ,#f_column{type = term, name = client_effect, desc = "客户端使用效果", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = int, name = eqm_jie, desc = "物品阶数", mod = all} ,#f_column{type = int, name = fast_use, desc = "是否快捷使用", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = bstr, name = use_desc , desc = "作用描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = int, name = mark , desc = "高亮奖励", mod = client} ] } ,{["装备道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = server} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time , desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, desc = "使用条件", valid_list = false, mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型"} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值"} ], mod = server } ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = int, name = eqm_set, val = 0, desc = "所属套装ID", mod = all} ,#f_column{type = int, name = eqm_star, val = 0, desc = "装备星级", mod = client} ,#f_column{type = int, name = attr_type, desc = "产出属性类型"} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = eqm_output_id, val = 0, desc = "产出ID", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "装备阶数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = term, name = tips_btn, desc = "tips标签", mod = client} ] } ,{["神装道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = server} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time , desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, desc = "使用条件", valid_list = false, mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型"} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值"} ], mod = server } ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = int, name = eqm_set, val = 0, desc = "所属套装ID", mod = all} ,#f_column{type = int, name = eqm_star, val = 0, desc = "装备星级", mod = client} ,#f_column{type = int, name = attr_type, desc = "产出属性类型"} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = eqm_output_id, val = 0, desc = "产出ID", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "装备阶数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = term, name = tips_btn, desc = "tips标签", mod = client} ] } ,{["家具道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = server} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time , desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, desc = "使用条件", valid_list = false, mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型"} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值"} ], mod = server } ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = int, name = eqm_set, val = 0, desc = "所属套装ID", mod = all} ,#f_column{type = int, name = eqm_star, val = 0, desc = "装备星级", mod = client} ,#f_column{type = int, name = attr_type, desc = "产出属性类型"} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = eqm_output_id, val = 0, desc = "产出ID", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "装备阶数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ] } ,{["星命"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = server} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time , desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, desc = "使用条件", valid_list = false, mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型"} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值"} ], mod = server } ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = int, name = eqm_set, val = 0, desc = "所属套装ID", mod = client} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ] } ,{["圣灵"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = server} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time , desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, desc = "使用条件", valid_list = false, mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型"} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值"} ], mod = server } ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = int, name = eqm_set, val = 0, desc = "所属套装ID", mod = client} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ] } ,{["萌宠道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}, {"萌宠", 6}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = all} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time, desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, valid_list = false,desc = "使用条件", mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "服务端效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型", mod = all} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值", mod = all} ], mod = all } ,#f_column{type = term, name = client_effect, desc = "客户端使用效果", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "物品阶数", mod = all} ,#f_column{type = int, name = fast_use, desc = "是否快捷使用", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = bstr, name = use_desc , desc = "作用描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = int, name = use_count, val = "0", desc = "可使用次数", mod = all} ] } ,{["位面探险道具"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}, {"萌宠", 6}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = all} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time, desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, valid_list = false,desc = "使用条件", mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "服务端效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型", mod = all} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值", mod = all} ], mod = all } ,#f_column{type = term, name = client_effect, desc = "客户端使用效果", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "物品阶数", mod = all} ,#f_column{type = int, name = fast_use, desc = "是否快捷使用", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = bstr, name = use_desc , desc = "作用描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = int, name = use_count, val = "0", desc = "可使用次数", mod = all} ] } ,{["精灵"], [ #f_column{type = int, name = id, primary = true, desc = "基础ID", mod = all} ,#f_column{type = bstr, name = name, desc = "物品名字", mod = all} ,#f_column{type = int, name = icon , desc = "图标ID", mod = client} ,#f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = kv, name = sub_type, desc = "背包类型", kv_type = [{"其他",0}, {"装备",1}, {"道具", 2},{"英雄", 3},{"特殊", 4},{"神装", 5}, {"精灵", 6}], mod = client} ,#f_column{type = kv, kv_type = quality, name = quality, desc = "物品品质", mod = all} ,#f_column{type = int, name = overlap, desc = "最大堆叠数", mod = all} ,#f_column{type = kv, kv_type = item_gain_type, name = gain_type , desc = "获得方式", mod = all} ,#f_column{type = kv, kv_type = item_use_type, name = use_type , desc = "使用方式", mod = all} ,#f_column{type = kv, kv_type = item_expire, name = expire_type, desc = "过期类型", mod = all} ,#f_column{type = term, add_list_sign = false, valid_list = [integer | {{integer, integer, integer}, {integer, integer, integer}}], name = expire_time, desc = "过期时间", mod = server, comment = "分钟填1以上的数字\n日期型填{{2012, 1, 1}, {12, 0, 0}}" } ,#f_column{type = term, name = value, desc = "物品价值", mod = all} ,#f_column{type = term, name = condition, valid_list = false,desc = "使用条件", mod = server} ,#f_column{type = tuple, name = effect, spilt_str = ":", spilt_line = "$", desc = "服务端效果", fields = [ #f_column{type = kv, name = effect_type, kv_type = item_effect_type, desc = "效果类型", mod = all} ,#f_column{type = term, name = val, add_list_sign = false, desc = "值", mod = all} ], mod = all } ,#f_column{type = term, name = client_effect, desc = "客户端使用效果", mod = client} ,#f_column{type = term, name = source, desc = "来源途径", mod = client} ,#f_column{type = atom, name = assets, desc = "资产原子", mod = desc} ,#f_column{type = bstr, name = desc , desc = "描述", mod = client} ,#f_column{type = int, name = lev, desc = "等级", val = 0, val_cli = 0, mod = all} ,#f_column{type = kv, name = career, kv_type = career, val = 0, val_cli = 0, desc = "职业", mod = all} ,#f_column{type = kv, name = sex, kv_type = sex, val = 2, val_cli = 2, desc = "性别", mod = all} ,#f_column{type = term, name = ext, desc = "附加参数", mod = all} ,#f_column{type = int, name = is_effect, desc = "是否加环绕特效", mod = client} ,#f_column{type = int, name = eqm_jie, val = 0, desc = "物品阶数", mod = all} ,#f_column{type = int, name = fast_use, desc = "是否快捷使用", mod = client} ,#f_column{type = term, name = tips_btn, desc = "Tips标签", mod = client} ,#f_column{type = bstr, name = type_desc , desc = "类型描述", mod = client} ,#f_column{type = bstr, name = use_desc , desc = "作用描述", mod = client} ,#f_column{type = kv, name = can_share , kv_type = bool, desc = "是否可分享", mod = all} ,#f_column{type = kv, name = camp_type, kv_type = partner_camp_type, val = 0, val_cli = 0, desc = "阵营", mod = client} ,#f_column{type = int, name = imageid, desc = "立绘id", mod = client} ] } ,{["常规排序"], [ #f_column{type = kv, kv_type = item_type, name = type, desc = "物品类型", mod = all} ,#f_column{type = int, name = sort, desc = "背包排序", mod = all} ]} ,{["tips按钮"], [ #f_column{type = int, name = id, desc = "操作类型", mod = client} ,#f_column{type = bstr, name = name, desc = "操作名", mod = client} ,#f_column{type = bstr, name = args, desc = "参数", mod = client} ]} ,{["分割文件"], [ #f_column{type = bstr, name = tbname, desc = "表名", mod = client} ,#f_column{type = bstr, name = name, desc = "文件名", mod = client} ]} ] %% end sheet }. assets_atom2code(Row) -> Code = cb_fun:get_val(id, Row), Atom = cb_fun:get_val(assets, Row), case Atom of val_not_exist -> false; _ -> {true, ?S("assets_atom2code(~s) -> ~s;", [Atom, Code])} end. assets_code2atom(Row) -> Code = cb_fun:get_val(id, Row), Atom = cb_fun:get_val(assets, Row), case Atom of val_not_exist -> false; _ -> {true, ?S("assets_code2atom(~s) -> ~s;", [Code, Atom])} end. assets_atom2name(Row) -> Atom = cb_fun:get_val(assets, Row), Name = cb_fun:get_val(name, Row), case Atom of val_not_exist -> false; _ -> {true, ?S("assets_atom2name(~s) -> ~ts;", [Atom, Name])} end. assets_code2name(Row) -> Code = cb_fun:get_val(id, Row), Atom = cb_fun:get_val(assets, Row), Name = cb_fun:get_val(name, Row), case Atom of val_not_exist -> false; _ -> {true, ?S("assets_code2name(~s) -> ~ts;", [Code, Name])} end. init_data(DataCfg, SheetDatas) -> Sheets = ["常规道具", "装备道具"], put(assets_list, []), [do_rows(Rows) || {SheetName, _Cols, Rows} <- SheetDatas, (Sheets =:= all orelse lists:member(SheetName, Sheets))], S = ?S("%%-------配置自动生成-------- %% 资产 %%----------------------------- -ifndef(GAME_ASSETS_H_). -define(GAME_ASSETS_H_, 1). ~ts -endif. ", [list_to_binary(string:join(lists:reverse(get(assets_list)), "\n"))]), write_file("../../server/inc/", "./out/", "game_assets.hrl", list_to_binary(S)), {DataCfg, SheetDatas}. do_rows([]) -> ok; do_rows([Row | T]) -> Atom = cb_fun:get_val(assets, Row), case Atom of val_not_exist -> false; _ -> Code = cb_fun:get_val(id, Row), Name = cb_fun:get_val(name, Row), S = ?S("-define(assets_~s, ~s). %% ~ts ", [Atom, Code, Name]), put(assets_list, [S | get(assets_list)]) end, do_rows(T). write_file(Path, DefPath, File, S) -> ?P("save=======>~ts ~n", [File]), case filelib:is_dir(Path) andalso get(gen_demo) =:= undefined of true -> ?P("===~w~n", [file:write_file(Path ++ File, unicode:characters_to_binary(S))]); _ -> file:write_file(DefPath ++ File, S) end.