Thank you for the advice, I will give it a try. But the file you've attached is more like 9.1 version :). As 5.2 they don't have the JP in the skillresource.
rdb.fields = {
{"id", TYPE_INT32},
{"text_id", TYPE_INT32},
{"desc_id", TYPE_INT32 | TYPE_RDBIGNORE},
{"tooltip_id", TYPE_INT32},
{"is_valid", TYPE_INT8},
{"elemental", TYPE_BIT},
{"is_passive", TYPE_BIT},
{"is_physical_act", TYPE_BIT},
{"is_harmful", TYPE_BIT},
{"is_need_target", TYPE_BIT},
{"is_corpse", TYPE_BIT},
{"is_toggle", TYPE_BIT},
{"toggle_group", TYPE_INT32},
{"casting_type", TYPE_BIT},
{"casting_level", TYPE_BIT},
{"cast_range", TYPE_INT32},
{"valid_range", TYPE_INT32},
{"cost_hp", TYPE_INT32},
{"cost_hp_per_skl", TYPE_INT32},
{"cost_mp", TYPE_INT32},
{"cost_mp_per_skl", TYPE_INT32},
{"cost_mp_per_enhance", TYPE_INT32},
{"cost_hp_per", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_hp_per_skl_per", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_mp_per", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_mp_per_skl_per", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_havoc", TYPE_INT32},
{"cost_havoc_per_skl", TYPE_INT32},
{"cost_energy", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_energy_per_skl", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cost_exp", TYPE_INT32},
{"cost_exp_per_enhance", TYPE_INT32},
{"cost_jp", TYPE_INT32},
{"cost_jp_per_enhance", TYPE_INT32},
{"cost_item", TYPE_INT32},
{"cost_item_count", TYPE_INT32},
{"cost_item_count_per_skl", TYPE_INT32},
{"need_level", TYPE_INT32},
{"need_hp", TYPE_INT32},
{"need_mp", TYPE_INT32},
{"need_havoc", TYPE_INT32},
{"need_havoc_burst", TYPE_INT32},
{"need_state_id", TYPE_INT32},
{"need_state_level", TYPE_INT8},
{"need_state_exhaust", TYPE_INT8},
{"vf_one_hand_sword", TYPE_BIT},
{"vf_two_hand_sword", TYPE_BIT},
{"vf_double_sword", TYPE_BIT},
{"vf_dagger", TYPE_BIT},
{"vf_double_dagger", TYPE_BIT},
{"vf_spear", TYPE_BIT},
{"vf_axe", TYPE_BIT},
{"vf_one_hand_axe", TYPE_BIT},
{"vf_double_axe", TYPE_BIT},
{"vf_one_hand_mace", TYPE_BIT},
{"vf_two_hand_mace", TYPE_BIT},
{"vf_lightbow", TYPE_BIT},
{"vf_heavybow", TYPE_BIT},
{"vf_crossbow", TYPE_BIT},
{"vf_one_hand_staff", TYPE_BIT},
{"vf_two_hand_staff", TYPE_BIT},
{"vf_shield_only", TYPE_BIT},
{"vf_is_not_need_weapon", TYPE_BIT},
{"delay_cast", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"delay_cast_per_skl", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"delay_cast_mode_per_enhance", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"delay_common", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"delay_cooltime", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"delay_cooltime_mode_per_enhance", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"cool_time_group_id", TYPE_INT32},
{"uf_self", TYPE_BIT},
{"uf_party", TYPE_BIT},
{"uf_guild", TYPE_BIT},
{"uf_neutral", TYPE_BIT},
{"uf_purple", TYPE_BIT},
{"uf_enemy", TYPE_BIT},
{"tf_avatar", TYPE_BIT},
{"tf_summon", TYPE_BIT},
{"tf_monster", TYPE_BIT},
{"target", TYPE_INT16},
{"effect_type", TYPE_INT16},
{"state_id", TYPE_INT32},
{"state_level_base", TYPE_INT32},
{"state_level_per_skl", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"state_level_per_enhance", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"state_second", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"state_second_per_level", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"state_second_per_enhance", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"state_type", TYPE_BIT},
{"probability_on_hit", TYPE_INT32},
{"probability_inc_by_slv", TYPE_INT32},
{"hit_bonus", TYPE_INT16},
{"hit_bonus_per_enhance", TYPE_INT16},
{"percentage", TYPE_INT16},
{"hate_mod", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"hate_basic", TYPE_INT16},
{"hate_per_skl", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"hate_per_enhance", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"critical_bonus", TYPE_INT32},
{"critical_bonus_per_skl", TYPE_INT32},
{"var1", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var2", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var3", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var4", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var5", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var6", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var7", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var8", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var9", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var10", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var11", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var12", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var13", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var14", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var15", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var16", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var17", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var18", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var19", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"var20", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"icon_id", TYPE_INT32},
{"icon_file_name", TYPE_CHAR, 256},
{"is_projectile", TYPE_INT8},
{"projectile_speed", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
{"projectile_acceleration", TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)},
}
rdb.sqlColumnOrder = table.concat({
"id\0",
"text_id\0",
"desc_id\0",
"tooltip_id\0",
"is_valid\0",
"elemental\0",
"is_passive\0",
"is_physical_act\0",
"is_harmful\0",
"is_need_target\0",
"is_corpse\0",
"is_toggle\0",
"toggle_group\0",
"casting_type\0",
"casting_level\0",
"cast_range\0",
"valid_range\0",
"cost_hp\0",
"cost_hp_per_skl\0",
"cost_mp\0",
"cost_mp_per_skl\0",
"cost_mp_per_enhance\0",
"cost_hp_per\0",
"cost_hp_per_skl_per\0",
"cost_mp_per\0",
"cost_mp_per_skl_per\0",
"cost_havoc\0",
"cost_havoc_per_skl\0",
"cost_energy\0",
"cost_energy_per_skl\0",
"cost_exp\0",
"cost_exp_per_enhance\0",
"cost_jp\0",
"cost_jp_per_enhance\0",
"cost_item\0",
"cost_item_count\0",
"cost_item_count_per_skl\0",
"need_level\0",
"need_hp\0",
"need_mp\0",
"need_havoc\0",
"need_havoc_burst\0",
"need_state_id\0",
"need_state_level\0",
"need_state_exhaust\0",
"vf_one_hand_sword\0",
"vf_two_hand_sword\0",
"vf_double_sword\0",
"vf_dagger\0",
"vf_double_dagger\0",
"vf_spear\0",
"vf_axe\0",
"vf_one_hand_axe\0",
"vf_double_axe\0",
"vf_one_hand_mace\0",
"vf_two_hand_mace\0",
"vf_lightbow\0",
"vf_heavybow\0",
"vf_crossbow\0",
"vf_one_hand_staff\0",
"vf_two_hand_staff\0",
"vf_shield_only\0",
"vf_is_not_need_weapon\0",
"delay_cast\0",
"delay_cast_per_skl\0",
"delay_cast_mode_per_enhance\0",
"delay_common\0",
"delay_cooltime\0",
"delay_cooltime_mode_per_enhance\0",
"cool_time_group_id\0",
"uf_self\0",
"uf_party\0",
"uf_guild\0",
"uf_neutral\0",
"uf_purple\0",
"uf_enemy\0",
"tf_avatar\0",
"tf_summon\0",
"tf_monster\0",
"target\0",
"effect_type\0",
"state_id\0",
"state_level_base\0",
"state_level_per_skl\0",
"state_level_per_enhance\0",
"state_second\0",
"state_second_per_level\0",
"state_second_per_enhance\0",
"state_type\0",
"probability_on_hit\0",
"probability_inc_by_slv\0",
"hit_bonus\0",
"hit_bonus_per_enhance\0",
"percentage\0",
"hate_mod\0",
"hate_basic\0",
"hate_per_skl\0",
"hate_per_enhance\0",
"critical_bonus\0",
"critical_bonus_per_skl\0",
"var1\0",
"var2\0",
"var3\0",
"var4\0",
"var5\0",
"var6\0",
"var7\0",
"var8\0",
"var9\0",
"var10\0",
"var11\0",
"var12\0",
"var13\0",
"var14\0",
"var15\0",
"var16\0",
"var17\0",
"var18\0",
"var19\0",
"var20\0",
"icon_id\0",
"icon_file_name\0",
"is_projectile\0",
"projectile_speed\0",
"projectile_acceleration\0",
})
rdb.defaultTableName = "SkillResource"
rdb.convertData = function (dst, mode, row, rowNum)
if mode == DCT_Read and dst == DF_RDB then
row.desc_id = 0
end
end
This what I used with lot of changes in the types like TYPE_DECIMAL, MAKEINDEXEDVAR(2, 1)}, to float and so on with different attempts. And always resulted into messing up the skills to be blank boxes.