574 lines
45 KiB
Erlang
574 lines
45 KiB
Erlang
%%----------------------------------------------------
|
|
%% 物品数据
|
|
%% @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.
|