Must be they changed column names for 7.2
Someone will have to create a new dll with the correct column names.
Someone will have to create a new dll with the correct column names.
Something I tried to do changed that way.But it's still not working. Below the code that were changed below the row in the database 7.2 epicQuote:
Must be they changed column names for 7.2
Someone will have to create a new dll with the correct column names.
#include "IRowManipulator.h"
#include "DataType.h"
#include "ExportDLL.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
static FieldDescriptor df[] =
{ { 1, TYPE_INT32, "id" },
{ 1, TYPE_INT32, "name_id" },
{ 1, TYPE_INT32, "tooltip_id" },
{ 1, TYPE_INT32, "type" },
{ 1, TYPE_INT32, "group" },
{ 1, TYPE_INT32, "class" },
{ 1, TYPE_INT32, "wear_type" },
{ 1, TYPE_INT32, "set_id" },
{ 1, TYPE_INT32, "set_part_flag" },
{ 1, TYPE_INT8, "grade" },
{ 1, TYPE_INT32, "rank" },
{ 1, TYPE_INT32, "level" },
{ 1, TYPE_INT32, "enhance" },
{ 1, TYPE_INT32, "socket" },
{ 1, TYPE_INT32, "status_flag" },
{ 1, TYPE_BIT, "limit_deva" },
{ 1, TYPE_BIT, "limit_asura" },
{ 1, TYPE_BIT, "limit_gaia" },
{ 1, TYPE_BIT, "limit_fighter" },
{ 1, TYPE_BIT, "limit_hunter" },
{ 1, TYPE_BIT, "limit_magician" },
{ 1, TYPE_BIT, "limit_summoner" },
{ 1, TYPE_INT32, "use_min_level" },
{ 1, TYPE_INT32, "use_max_level" },
{ 1, TYPE_INT32, "target_min_level" },
{ 1, TYPE_INT32, "target_max_level" },
{ MAKEINDEXEDVAR(2, 1), TYPE_DECIMAL, "range" },
{ 1, TYPE_FLOAT32, "weight" },
{ 1, TYPE_INT32, "price" },
{ 1, TYPE_INT32, "huntaholic_point" },
{ 1, TYPE_INT32, "ethereal_durability" },
{ 1, TYPE_INT32, "endurance" },
{ 1, TYPE_BIT, "flag_wear" },
{ 1, TYPE_BIT, "flag_storage" },
{ 1, TYPE_BIT, "flag_enhance" },
{ 1, TYPE_BIT, "flag_use" },
{ 1, TYPE_BIT, "flag_card" },
{ 1, TYPE_BIT, "flag_socket" },
{ 1, TYPE_BIT, "flag_duplicate" },
{ 1, TYPE_BIT, "flag_target_use" },
{ 1, TYPE_BIT, "flag_warp" },
{ 1, TYPE_BIT, "flag_trade" },
{ 1, TYPE_BIT, "flag_sell" },
{ 1, TYPE_BIT, "flag_quest" },
{ 1, TYPE_BIT, "flag_overweight" },
{ 1, TYPE_BIT, "flag_cashitem" },
{ 1, TYPE_BIT, "flag_riding" },
{ 1, TYPE_BIT, "flag_drop" },
{ 1, TYPE_BIT, "flag_move" },
{ 1, TYPE_BIT, "flag_quest_distribute" },
{ 1, TYPE_BIT, "flag_sit" },
{ 1, TYPE_BIT, "flag_raid" },
{ 1, TYPE_BIT, "flag_secroute" },
{ 1, TYPE_BIT, "flag_eventmap" },
{ 1, TYPE_BIT, "flag_huntaholic" },
{ 1, TYPE_BIT, "flag_huntaholic_useable_only" },
{ 1, TYPE_BIT, "flag_deathmatch" },
{ 1, TYPE_BIT, "flag_deathmatch_useable_only" },
{ 1, TYPE_INT32, "material" },
{ 1, TYPE_INT32, "summon_id" },
{ 1, TYPE_INT32, "item_use_flag" },
{ 1, TYPE_INT32, "available_period" },
{ 1, TYPE_INT16, "decrease_type" },
{ 1, TYPE_INT32, "throw_range" },
{ 1, TYPE_INT16, "base_type_0" },
{ 1, TYPE_FLOAT64, "base_var1_0" },
{ 1, TYPE_FLOAT64, "base_var2_0" },
{ 1, TYPE_INT16, "base_type_1" },
{ 1, TYPE_FLOAT64, "base_var1_1" },
{ 1, TYPE_FLOAT64, "base_var2_1" },
{ 1, TYPE_INT16, "base_type_2" },
{ 1, TYPE_FLOAT64, "base_var1_2" },
{ 1, TYPE_FLOAT64, "base_var2_2" },
{ 1, TYPE_INT16, "base_type_3" },
{ 1, TYPE_FLOAT64, "base_var1_3" },
{ 1, TYPE_FLOAT64, "base_var2_3" },
{ 1, TYPE_INT16, "opt_type_0" },
{ 1, TYPE_FLOAT64, "opt_var1_0" },
{ 1, TYPE_FLOAT64, "opt_var2_0" },
{ 1, TYPE_INT16, "opt_type_1" },
{ 1, TYPE_FLOAT64, "opt_var1_1" },
{ 1, TYPE_FLOAT64, "opt_var2_1" },
{ 1, TYPE_INT16, "opt_type_2" },
{ 1, TYPE_FLOAT64, "opt_var1_2" },
{ 1, TYPE_FLOAT64, "opt_var2_2" },
{ 1, TYPE_INT16, "opt_type_3" },
{ 1, TYPE_FLOAT64, "opt_var1_3" },
{ 1, TYPE_FLOAT64, "opt_var2_3" },
{ 1, TYPE_INT32, "effect_id" },
{ 1, TYPE_INT16, "enhance_0_id" },
{ 1, TYPE_FLOAT32, "enhance_0_01" },
{ 1, TYPE_FLOAT32, "enhance_0_02" },
{ 1, TYPE_FLOAT32, "enhance_0_03" },
{ 1, TYPE_FLOAT32, "enhance_0_04" },
{ 1, TYPE_INT16, "enhance_1_id" },
{ 1, TYPE_FLOAT32, "enhance_1_01" },
{ 1, TYPE_FLOAT32, "enhance_1_02" },
{ 1, TYPE_FLOAT32, "enhance_1_03" },
{ 1, TYPE_FLOAT32, "enhance_1_04" },
{ 1, TYPE_INT32, "skill_id" },
{ 1, TYPE_INT32, "state_id" },
{ 1, TYPE_INT32, "state_level" },
{ 1, TYPE_INT32, "state_time" },
{ 1, TYPE_INT8, "state_type" },
{ 1, TYPE_INT32, "cool_time" },
{ 1, TYPE_INT16, "cool_time_group" },
{ 1, TYPE_INT32, "model_type_dem" },
{ 1, TYPE_INT32, "model_type_def" },
{ 1, TYPE_INT32, "model_type_asm" },
{ 1, TYPE_INT32, "model_type_asf" },
{ 1, TYPE_INT32, "model_type_gam" },
{ 1, TYPE_INT32, "model_type_gaf" },
{ 1, TYPE_INT8, "deco_model_change" },
{ 256, TYPE_CHAR, "model_00" },
{ 256, TYPE_CHAR, "model_01" },
{ 256, TYPE_CHAR, "model_02" },
{ 256, TYPE_CHAR, "model_03" },
{ 256, TYPE_CHAR, "model_04" },
{ 256, TYPE_CHAR, "model_05" },
{ 256, TYPE_CHAR, "model_06" },
{ 256, TYPE_CHAR, "model_07" },
{ 256, TYPE_CHAR, "model_08" },
{ 256, TYPE_CHAR, "model_09" },
{ 256, TYPE_CHAR, "model_10" },
{ 256, TYPE_CHAR, "model_11" },
{ 256, TYPE_CHAR, "model_12" },
{ 256, TYPE_CHAR, "model_13" },
{ 256, TYPE_CHAR, "model_14" },
{ 256, TYPE_CHAR, "model_15" },
{ 256, TYPE_CHAR, "model_16" },
{ 256, TYPE_CHAR, "model_17" },
{ 256, TYPE_CHAR, "texture_filename" },
{ 256, TYPE_CHAR, "drop_type" },
{ 1, TYPE_INT32, "icon_id" },
{ 256, TYPE_CHAR, "icon_file_name" },
{ 512, TYPE_CHAR, "script_text" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv0" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv1" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv2" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv3" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv4" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv5" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv6" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv7" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv8" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv9" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv10" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv11" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv12" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv13" },
{ 1, TYPE_BIT | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "nv14" },
{ 1, TYPE_INT32 | TYPE_SQLIGNORE | TYPE_CSVIGNORE | TYPE_GUIIGNORE, "item_use_flag2" },
{ 1, TYPE_INT16 | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "unknownValue0" },
{ 1, TYPE_INT16 | TYPE_SQLIGNORE | TYPE_CSVIGNORE, "unknownValue1" },
{ 3, TYPE_CHAR | TYPE_SQLIGNORE | TYPE_CSVIGNORE | TYPE_GUIIGNORE, "unkCatValue" } }; //always "Cat"
#pragma comment(linker, "/EXPORT:registerDBStructure=_registerDBStructure@8")
void EDATABASEDLL DLLCALLCONV registerDBStructure(FieldDescriptor **dfmPtr, int *sizePtr) {
*dfmPtr = df;
*sizePtr = sizeof(df) / sizeof(FieldDescriptor);
}
#pragma comment(linker, "/EXPORT:getSQLColumnOrder=_getSQLColumnOrder@0")
EDATABASEDLL const char* DLLCALLCONV getSQLColumnOrder() {
return "id\0"
"name_id\0"
"tooltip_id\0"
"type\0"
"group\0"
"class\0"
"wear_type\0"
"set_id\0"
"set_part_flag\0"
"grade\0"
"rank\0"
"level\0"
"enhance\0"
"socket\0"
"status_flag\0"
"limit_deva\0"
"limit_asura\0"
"limit_gaia\0"
"limit_fighter\0"
"limit_hunter\0"
"limit_magician\0"
"limit_summoner\0"
"use_min_level\0"
"use_max_level\0"
"target_min_level\0"
"target_max_level\0"
"range\0"
"weight\0"
"price\0"
"huntaholic_point\0"
"ethereal_durability\0"
"endurance\0"
"material\0"
"summon_id\0"
"item_use_flag\0"
"available_period\0"
"decrease_type\0"
"throw_range\0"
"base_type_0\0"
"base_var1_0\0"
"base_var2_0\0"
"base_type_1\0"
"base_var1_1\0"
"base_var2_1\0"
"base_type_2\0"
"base_var1_2\0"
"base_var2_2\0"
"base_type_3\0"
"base_var1_3\0"
"base_var2_3\0"
"opt_type_0\0"
"opt_var1_0\0"
"opt_var2_0\0"
"opt_type_1\0"
"opt_var1_1\0"
"opt_var2_1\0"
"opt_type_2\0"
"opt_var1_2\0"
"opt_var2_2\0"
"opt_type_3\0"
"opt_var1_3\0"
"opt_var2_3\0"
"effect_id\0"
"enhance_0_id\0"
"enhance_0_01\0"
"enhance_0_02\0"
"enhance_0_03\0"
"enhance_0_04\0"
"enhance_1_id\0"
"enhance_1_01\0"
"enhance_1_02\0"
"enhance_1_03\0"
"enhance_1_04\0"
"skill_id\0"
"state_id\0"
"state_level\0"
"state_time\0"
"state_type\0"
"cool_time\0"
"cool_time_group\0"
"model_type_dem\0"
"model_type_def\0"
"model_type_asm\0"
"model_type_asf\0"
"model_type_gam\0"
"model_type_gaf\0"
"deco_model_change\0"
"model_00\0"
"model_01\0"
"model_02\0"
"model_03\0"
"model_04\0"
"model_05\0"
"model_06\0"
"model_07\0"
"model_08\0"
"model_09\0"
"model_10\0"
"model_11\0"
"model_12\0"
"model_13\0"
"model_14\0"
"model_15\0"
"model_16\0"
"model_17\0"
"texture_filename\0"
"drop_type\0"
"icon_id\0"
"icon_file_name\0"
"script_text\0";
}
#pragma comment(linker, "/EXPORT:convertData=_convertData@16")
void EDATABASEDLL DLLCALLCONV convertData(eDataFormat dst, eDataConvertionType mode, IRowManipulator *row, unsigned int rowNum) {
if(mode == DCT_Write && dst == DF_RDB) {
row->setDataString("unkCatValue", "Cat");
row->setDataInt32("item_use_flag2",
row->getDataBit("flag_wear") |
(row->getDataBit("flag_storage") << 1) |
(row->getDataBit("flag_enhance") << 2) |
(row->getDataBit("flag_use") << 3) |
(row->getDataBit("flag_card") << 4) |
(row->getDataBit("flag_socket") << 5) |
(row->getDataBit("flag_duplicate") << 6) |
(row->getDataBit("flag_target_use") << 7) |
(row->getDataBit("flag_warp") << 8) |
(row->getDataBit("flag_trade") << 9) |
(row->getDataBit("flag_sell") << 10) |
(row->getDataBit("flag_quest") << 11) |
(row->getDataBit("flag_overweight") << 12) |
(row->getDataBit("flag_cashitem") << 13) |
(row->getDataBit("flag_riding") << 14) |
(row->getDataBit("flag_drop") << 15) |
(row->getDataBit("flag_move") << 16) |
(row->getDataBit("flag_quest_distribute") << 17) |
(row->getDataBit("flag_sit") << 18) |
(row->getDataBit("flag_raid") << 19) |
(row->getDataBit("flag_secroute") << 20) |
(row->getDataBit("flag_eventmap") << 21) |
(row->getDataBit("flag_huntaholic") << 22) |
(row->getDataBit("flag_huntaholic_useable_only") << 23) |
(row->getDataBit("flag_deathmatch") << 24) |
(row->getDataBit("flag_deathmatch_useable_only") << 25));
row->setDataInt16("unknownValue0", 0);
row->setDataInt16("unknownValue1", 49);
char nvValues[5];
int i;
for(i=0; i<15; i++) {
sprintf(nvValues, "nv%d", i);
row->setDataBit(nvValues, 0);
}
}
}
#ifdef __cplusplus
}
#endif
[id] ,[name_id] ,[tooltip_id] ,[type] ,[group] ,[class] ,[wear_type] ,[set_id] ,[set_part_flag] ,[grade] ,[rank] ,[level] ,[enhance] ,[socket] ,[status_flag] ,[limit_deva] ,[limit_asura] ,[limit_gaia] ,[limit_fighter] ,[limit_hunter] ,[limit_magician] ,[limit_summoner] ,[use_min_level] ,[use_max_level] ,[target_min_level] ,[target_max_level] ,[range] ,[weight] ,[price] ,[huntaholic_point] ,[ethereal_durability] ,[endurance] ,[material] ,[summon_id] ,[item_use_flag] ,[available_period] ,[decrease_type] ,[throw_range] ,[base_type_0] ,[base_var1_0] ,[base_var2_0] ,[base_type_1] ,[base_var1_1] ,[base_var2_1] ,[base_type_2] ,[base_var1_2] ,[base_var2_2] ,[base_type_3] ,[base_var1_3] ,[base_var2_3] ,[opt_type_0] ,[opt_var1_0] ,[opt_var2_0] ,[opt_type_1] ,[opt_var1_1] ,[opt_var2_1] ,[opt_type_2] ,[opt_var1_2] ,[opt_var2_2] ,[opt_type_3] ,[opt_var1_3] ,[opt_var2_3] ,[effect_id] ,[enhance_0_id] ,[enhance_0_01] ,[enhance_0_02] ,[enhance_0_03] ,[enhance_0_04] ,[enhance_1_id] ,[enhance_1_01] ,[enhance_1_02] ,[enhance_1_03] ,[enhance_1_04] ,[skill_id] ,[state_id] ,[state_level] ,[state_time] ,[state_type] ,[cool_time] ,[cool_time_group] ,[model_type_dem] ,[model_type_def] ,[model_type_asm] ,[model_type_asf] ,[model_type_gam] ,[model_type_gaf] ,[deco_model_change] ,[model_00] ,[model_01] ,[model_02] ,[model_03] ,[model_04] ,[model_05] ,[model_06] ,[model_07] ,[model_08] ,[model_09] ,[model_10] ,[model_11] ,[model_12] ,[model_13] ,[model_14] ,[model_15] ,[model_16] ,[model_17] ,[texture_filename] ,[drop_type] ,[icon_id] ,[icon_file_name] ,[script_text]
Yes, of course, did everything by the guide [Only registered and activated users can see links. Click Here To Register...]Quote:
They look the same to me.
Are you saying you rewrote the C++ code?
If so did you then recompile the DLL from the C++ code?
What can you recommend in this situation?Quote:
They look the same to me.
Are you saying you rewrote the C++ code?
If so did you then recompile the DLL from the C++ code?
Thank you just a huge,very grateful)))Quote:
I made .dll's for the whole 7.2 tables ... unfortunately i don't have the source code
but I will distribute these .dll's for you by the end of the day i think at 9 PM (+3:00 Grinch)
Are you here? I am waiting for you.Quote:
I made .dll's for the whole 7.2 tables ... unfortunately i don't have the source code
but I will distribute these .dll's for you by the end of the day i think at 9 PM (+3:00 Grinch)
#include "IRowManipulator.h"
#include "DataType.h"
#include "ExportDLL.h"
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#ifdef __cplusplus
extern "C" {
#endif
static FieldDescriptor df[] =
{ { 1, TYPE_INT32, "id" },
{ 1, TYPE_INT32, "name_id" },
{ 1, TYPE_INT32, "tooltip_id" },
{ 1, TYPE_INT32, "type" },
{ 1, TYPE_INT32, "group" },
{ 1, TYPE_INT32, "class" },
{ 1, TYPE_INT32, "wear_type" },
{ 1, TYPE_INT32, "set_id" },
{ 1, TYPE_INT32, "set_part_flag" },
{ 1, TYPE_INT8, "grade" },
{ 1, TYPE_INT32, "rank" },
{ 1, TYPE_INT32, "level" },
{ 1, TYPE_INT32, "enhance" },
{ 1, TYPE_INT32, "socket" },
{ 1, TYPE_INT32, "status_flag" },
{ 1, TYPE_BIT, "limit_deva" },
{ 1, TYPE_BIT, "limit_asura" },
{ 1, TYPE_BIT, "limit_gaia" },
{ 1, TYPE_BIT, "limit_fighter" },
{ 1, TYPE_BIT, "limit_hunter" },
{ 1, TYPE_BIT, "limit_magician" },
{ 1, TYPE_BIT, "limit_summoner" },
{ 1, TYPE_INT32, "use_min_level" },
{ 1, TYPE_INT32, "use_max_level" },
{ 1, TYPE_INT32, "target_min_level" },
{ 1, TYPE_INT32, "target_max_level" },
{ MAKEINDEXEDVAR(2, 1), TYPE_DECIMAL, "range" },
{ 1, TYPE_FLOAT32, "weight" },
{ 1, TYPE_INT32, "price" },
{ 1, TYPE_INT32, "huntaholic_point" },
{ 1, TYPE_INT32, "ethereal_durability" },
{ 1, TYPE_INT32, "endurance" },
{ 1, TYPE_BIT, "flag_wear" },
{ 1, TYPE_BIT, "flag_storage" },
{ 1, TYPE_BIT, "flag_enhance" },
{ 1, TYPE_BIT, "flag_use" },
{ 1, TYPE_BIT, "flag_card" },
{ 1, TYPE_BIT, "flag_socket" },
{ 1, TYPE_BIT, "flag_duplicate" },
{ 1, TYPE_BIT, "flag_target_use" },
{ 1, TYPE_BIT, "flag_warp" },
{ 1, TYPE_BIT, "flag_trade" },
{ 1, TYPE_BIT, "flag_sell" },
{ 1, TYPE_BIT, "flag_quest" },
{ 1, TYPE_BIT, "flag_overweight" },
{ 1, TYPE_BIT, "flag_cashitem" },
{ 1, TYPE_BIT, "flag_riding" },
{ 1, TYPE_BIT, "flag_drop" },
{ 1, TYPE_BIT, "flag_move" },
{ 1, TYPE_BIT, "flag_quest_distribute" },
{ 1, TYPE_BIT, "flag_sit" },
{ 1, TYPE_BIT, "flag_raid" },
{ 1, TYPE_BIT, "flag_secroute" },
{ 1, TYPE_BIT, "flag_eventmap" },
{ 1, TYPE_BIT, "flag_huntaholic" },
{ 1, TYPE_BIT, "flag_huntaholic_useable_only" },
{ 1, TYPE_BIT, "flag_deathmatch" },
{ 1, TYPE_BIT, "flag_deathmatch_useable_only" },
{ 1, TYPE_INT32, "material" },
{ 1, TYPE_INT32, "summon_id" },
{ 1, TYPE_INT32, "item_use_flag" },
{ 1, TYPE_INT32, "available_period" },
{ 1, TYPE_INT16, "decrease_type" },
{ 1, TYPE_INT32, "throw_range" },
{ 1, TYPE_INT16, "base_type_0" },
{ 1, TYPE_FLOAT64, "base_var1_0" },
{ 1, TYPE_FLOAT64, "base_var2_0" },
{ 1, TYPE_INT16, "base_type_1" },
{ 1, TYPE_FLOAT64, "base_var1_1" },
{ 1, TYPE_FLOAT64, "base_var2_1" },
{ 1, TYPE_INT16, "base_type_2" },
{ 1, TYPE_FLOAT64, "base_var1_2" },
{ 1, TYPE_FLOAT64, "base_var2_2" },
{ 1, TYPE_INT16, "base_type_3" },
{ 1, TYPE_FLOAT64, "base_var1_3" },
{ 1, TYPE_FLOAT64, "base_var2_3" },
{ 1, TYPE_INT16, "opt_type_0" },
{ 1, TYPE_FLOAT64, "opt_var1_0" },
{ 1, TYPE_FLOAT64, "opt_var2_0" },
{ 1, TYPE_INT16, "opt_type_1" },
{ 1, TYPE_FLOAT64, "opt_var1_1" },
{ 1, TYPE_FLOAT64, "opt_var2_1" },
{ 1, TYPE_INT16, "opt_type_2" },
{ 1, TYPE_FLOAT64, "opt_var1_2" },
{ 1, TYPE_FLOAT64, "opt_var2_2" },
{ 1, TYPE_INT16, "opt_type_3" },
{ 1, TYPE_FLOAT64, "opt_var1_3" },
{ 1, TYPE_FLOAT64, "opt_var2_3" },
{ 1, TYPE_INT32, "effect_id" },
{ 1, TYPE_INT16, "enhance_0_id" },
{ 1, TYPE_FLOAT32, "enhance_0_01" },
{ 1, TYPE_FLOAT32, "enhance_0_02" },
{ 1, TYPE_FLOAT32, "enhance_0_03" },
{ 1, TYPE_FLOAT32, "enhance_0_04" },
{ 1, TYPE_INT16, "enhance_1_id" },
{ 1, TYPE_FLOAT32, "enhance_1_01" },
{ 1, TYPE_FLOAT32, "enhance_1_02" },
{ 1, TYPE_FLOAT32, "enhance_1_03" },
{ 1, TYPE_FLOAT32, "enhance_1_04" },
{ 1, TYPE_INT32, "skill_id" },
{ 1, TYPE_INT32, "state_id" },
{ 1, TYPE_INT32, "state_level" },
{ 1, TYPE_INT32, "state_time" },
{ 1, TYPE_INT8, "state_type" },
{ 1, TYPE_INT32, "cool_time" },
{ 1, TYPE_INT16, "cool_time_group" },
{ 1, TYPE_INT32, "model_type_dem" },
{ 1, TYPE_INT32, "model_type_def" },
{ 1, TYPE_INT32, "model_type_asm" },
{ 1, TYPE_INT32, "model_type_asf" },
{ 1, TYPE_INT32, "model_type_gam" },
{ 1, TYPE_INT32, "model_type_gaf" },
{ 1, TYPE_INT8, "deco_model_change" },
{ 256, TYPE_CHAR, "model_00" },
{ 256, TYPE_CHAR, "model_01" },
{ 256, TYPE_CHAR, "model_02" },
{ 256, TYPE_CHAR, "model_03" },
{ 256, TYPE_CHAR, "model_04" },
{ 256, TYPE_CHAR, "model_05" },
{ 256, TYPE_CHAR, "model_06" },
{ 256, TYPE_CHAR, "model_07" },
{ 256, TYPE_CHAR, "model_08" },
{ 256, TYPE_CHAR, "model_09" },
{ 256, TYPE_CHAR, "model_10" },
{ 256, TYPE_CHAR, "model_11" },
{ 256, TYPE_CHAR, "model_12" },
{ 256, TYPE_CHAR, "model_13" },
{ 256, TYPE_CHAR, "model_14" },
{ 256, TYPE_CHAR, "model_15" },
{ 256, TYPE_CHAR, "model_16" },
{ 256, TYPE_CHAR, "model_17" },
{ 256, TYPE_CHAR, "texture_filename" },
{ 256, TYPE_CHAR, "drop_type" },
{ 1, TYPE_INT32, "icon_id" },
{ 256, TYPE_CHAR, "icon_file_name" },
{ 512, TYPE_CHAR, "script_text" } }; //always "Cat"
#pragma comment(linker, "/EXPORT:registerDBStructure=_registerDBStructure@8")
void EDATABASEDLL DLLCALLCONV registerDBStructure(FieldDescriptor **dfmPtr, int *sizePtr) {
*dfmPtr = df;
*sizePtr = sizeof(df) / sizeof(FieldDescriptor);
}
#pragma comment(linker, "/EXPORT:getSQLColumnOrder=_getSQLColumnOrder@0")
EDATABASEDLL const char* DLLCALLCONV getSQLColumnOrder() {
return "id\0"
"name_id\0"
"tooltip_id\0"
"type\0"
"group\0"
"class\0"
"wear_type\0"
"set_id\0"
"set_part_flag\0"
"grade\0"
"rank\0"
"level\0"
"enhance\0"
"socket\0"
"status_flag\0"
"limit_deva\0"
"limit_asura\0"
"limit_gaia\0"
"limit_fighter\0"
"limit_hunter\0"
"limit_magician\0"
"limit_summoner\0"
"use_min_level\0"
"use_max_level\0"
"target_min_level\0"
"target_max_level\0"
"range\0"
"weight\0"
"price\0"
"huntaholic_point\0"
"ethereal_durability\0"
"endurance\0"
"material\0"
"summon_id\0"
"item_use_flag\0"
"available_period\0"
"decrease_type\0"
"throw_range\0"
"base_type_0\0"
"base_var1_0\0"
"base_var2_0\0"
"base_type_1\0"
"base_var1_1\0"
"base_var2_1\0"
"base_type_2\0"
"base_var1_2\0"
"base_var2_2\0"
"base_type_3\0"
"base_var1_3\0"
"base_var2_3\0"
"opt_type_0\0"
"opt_var1_0\0"
"opt_var2_0\0"
"opt_type_1\0"
"opt_var1_1\0"
"opt_var2_1\0"
"opt_type_2\0"
"opt_var1_2\0"
"opt_var2_2\0"
"opt_type_3\0"
"opt_var1_3\0"
"opt_var2_3\0"
"effect_id\0"
"enhance_0_id\0"
"enhance_0_01\0"
"enhance_0_02\0"
"enhance_0_03\0"
"enhance_0_04\0"
"enhance_1_id\0"
"enhance_1_01\0"
"enhance_1_02\0"
"enhance_1_03\0"
"enhance_1_04\0"
"skill_id\0"
"state_id\0"
"state_level\0"
"state_time\0"
"state_type\0"
"cool_time\0"
"cool_time_group\0"
"model_type_dem\0"
"model_type_def\0"
"model_type_asm\0"
"model_type_asf\0"
"model_type_gam\0"
"model_type_gaf\0"
"deco_model_change\0"
"model_00\0"
"model_01\0"
"model_02\0"
"model_03\0"
"model_04\0"
"model_05\0"
"model_06\0"
"model_07\0"
"model_08\0"
"model_09\0"
"model_10\0"
"model_11\0"
"model_12\0"
"model_13\0"
"model_14\0"
"model_15\0"
"model_16\0"
"model_17\0"
"texture_filename\0"
"drop_type\0"
"icon_id\0"
"icon_file_name\0"
"script_text\0";
}
#pragma comment(linker, "/EXPORT:convertData=_convertData@16")
void EDATABASEDLL DLLCALLCONV convertData(eDataFormat dst, eDataConvertionType mode, IRowManipulator *row, unsigned int rowNum) {
if(mode == DCT_Write && dst == DF_RDB) {
row->setDataString("unkCatValue", "Cat");
row->setDataInt32("item_use_flag2",
row->getDataBit("flag_wear") |
(row->getDataBit("flag_storage") << 1) |
(row->getDataBit("flag_enhance") << 2) |
(row->getDataBit("flag_use") << 3) |
(row->getDataBit("flag_card") << 4) |
(row->getDataBit("flag_socket") << 5) |
(row->getDataBit("flag_duplicate") << 6) |
(row->getDataBit("flag_target_use") << 7) |
(row->getDataBit("flag_warp") << 8) |
(row->getDataBit("flag_trade") << 9) |
(row->getDataBit("flag_sell") << 10) |
(row->getDataBit("flag_quest") << 11) |
(row->getDataBit("flag_overweight") << 12) |
(row->getDataBit("flag_cashitem") << 13) |
(row->getDataBit("flag_riding") << 14) |
(row->getDataBit("flag_drop") << 15) |
(row->getDataBit("flag_move") << 16) |
(row->getDataBit("flag_quest_distribute") << 17) |
(row->getDataBit("flag_sit") << 18) |
(row->getDataBit("flag_raid") << 19) |
(row->getDataBit("flag_secroute") << 20) |
(row->getDataBit("flag_eventmap") << 21) |
(row->getDataBit("flag_huntaholic") << 22) |
(row->getDataBit("flag_huntaholic_useable_only") << 23) |
(row->getDataBit("flag_deathmatch") << 24) |
(row->getDataBit("flag_deathmatch_useable_only") << 25));
char nvValues[5];
int i;
for(i=0; i<15; i++) {
sprintf(nvValues, "nv%d", i);
row->setDataBit(nvValues, 0);
}
}
}
#ifdef __cplusplus
}
#endif
Thank you very much, but still gives the same error :(Quote:
Try this one.
It is my first ever DLL build and I had to work around some source file errors so it may not be right.
Quote:
I built it to your column names.
Double check the database that the column names exist and they are in the order that you gave them to me in the C++
That would be the lower clolumns in the C++ not where they are first listed, but after getSQLColumnOrder()
What are you trying to do when it gives the error are you trying to read the RDB? Load the database? Convert the database to RDB?
Copy the first line of your item database with headers and post the results here in a code window so I can see your column names.
Run this query..
select * from arcadia.dbo.itemresource where id = 100001
Down in the results pane you can highlight the row of results and right click select copy with headers.
Also with your C++ i could not use the pre 9.1 dev source I had to use the post 9.1 dev source so I am not sure if that has anything to do with it.
id int Unchecked name_id int Unchecked tooltip_id int Unchecked type int Unchecked [group] int Unchecked class int Unchecked wear_type int Unchecked set_id int Unchecked set_part_flag int Unchecked grade tinyint Unchecked rank int Unchecked [level] int Unchecked enhance int Unchecked socket int Unchecked status_flag int Unchecked limit_deva char(1) Unchecked limit_asura char(1) Unchecked limit_gaia char(1) Unchecked limit_fighter char(1) Unchecked limit_hunter char(1) Unchecked limit_magician char(1) Unchecked limit_summoner char(1) Unchecked use_min_level int Unchecked use_max_level int Unchecked target_min_level int Unchecked target_max_level int Unchecked range decimal(10, 2) Unchecked weight decimal(10, 2) Unchecked price int Unchecked huntaholic_point int Unchecked ethereal_durability int Unchecked endurance int Unchecked material int Unchecked summon_id int Unchecked item_use_flag int Unchecked available_period int Unchecked decrease_type tinyint Unchecked throw_range decimal(10, 2) Unchecked base_type_0 smallint Unchecked base_var1_0 decimal(12, 2) Unchecked base_var2_0 decimal(12, 2) Unchecked base_type_1 smallint Unchecked base_var1_1 decimal(12, 2) Unchecked base_var2_1 decimal(12, 2) Unchecked base_type_2 smallint Unchecked base_var1_2 decimal(12, 2) Unchecked base_var2_2 decimal(12, 2) Unchecked base_type_3 smallint Unchecked base_var1_3 decimal(12, 2) Unchecked base_var2_3 decimal(12, 2) Unchecked opt_type_0 smallint Unchecked opt_var1_0 decimal(12, 2) Unchecked opt_var2_0 decimal(12, 2) Unchecked opt_type_1 smallint Unchecked opt_var1_1 decimal(12, 2) Unchecked opt_var2_1 decimal(12, 2) Unchecked opt_type_2 smallint Unchecked opt_var1_2 decimal(12, 2) Unchecked opt_var2_2 decimal(12, 2) Unchecked opt_type_3 smallint Unchecked opt_var1_3 decimal(12, 2) Unchecked opt_var2_3 decimal(12, 2) Unchecked effect_id int Unchecked enhance_0_id smallint Unchecked enhance_0_01 decimal(10, 2) Unchecked enhance_0_02 decimal(10, 2) Unchecked enhance_0_03 decimal(10, 2) Unchecked enhance_0_04 decimal(10, 2) Unchecked enhance_1_id smallint Unchecked enhance_1_01 decimal(10, 2) Unchecked enhance_1_02 decimal(10, 2) Unchecked enhance_1_03 decimal(10, 2) Unchecked enhance_1_04 decimal(10, 2) Unchecked skill_id int Unchecked state_id int Unchecked state_level int Unchecked state_time int Unchecked state_type int Unchecked cool_time int Unchecked cool_time_group smallint Unchecked model_type_dem int Unchecked model_type_def int Unchecked model_type_asm int Unchecked model_type_asf int Unchecked model_type_gam int Unchecked model_type_gaf int Unchecked deco_model_change tinyint Unchecked model_00 varchar(256) Unchecked model_01 varchar(256) Unchecked model_02 varchar(256) Unchecked model_03 varchar(256) Unchecked model_04 varchar(256) Unchecked model_05 varchar(256) Unchecked model_06 varchar(256) Unchecked model_07 varchar(256) Unchecked model_08 varchar(256) Unchecked model_09 varchar(256) Unchecked model_10 varchar(256) Unchecked model_11 varchar(256) Unchecked model_12 varchar(256) Unchecked model_13 varchar(256) Unchecked model_14 varchar(256) Unchecked model_15 varchar(256) Unchecked model_16 varchar(256) Unchecked model_17 varchar(256) Unchecked texture_filename varchar(256) Unchecked drop_type varchar(256) Unchecked icon_id int Unchecked icon_file_name varchar(256) Unchecked script_text varchar(512) Unchecked Unchecked
id name_id tooltip_id type group class wear_type set_id set_part_flag grade rank level enhance socket status_flag limit_deva limit_asura limit_gaia limit_fighter limit_hunter limit_magician limit_summoner use_min_level use_max_level target_min_level target_max_level range weight price huntaholic_point ethereal_durability endurance material summon_id item_use_flag available_period decrease_type throw_range base_type_0 base_var1_0 base_var2_0 base_type_1 base_var1_1 base_var2_1 base_type_2 base_var1_2 base_var2_2 base_type_3 base_var1_3 base_var2_3 opt_type_0 opt_var1_0 opt_var2_0 opt_type_1 opt_var1_1 opt_var2_1 opt_type_2 opt_var1_2 opt_var2_2 opt_type_3 opt_var1_3 opt_var2_3 effect_id enhance_0_id enhance_0_01 enhance_0_02 enhance_0_03 enhance_0_04 enhance_1_id enhance_1_01 enhance_1_02 enhance_1_03 enhance_1_04 skill_id state_id state_level state_time state_type cool_time cool_time_group model_type_dem model_type_def model_type_asm model_type_asf model_type_gam model_type_gaf deco_model_change model_00 model_01 model_02 model_03 model_04 model_05 model_06 model_07 model_08 model_09 model_10 model_11 model_12 model_13 model_14 model_15 model_16 model_17 texture_filename drop_type icon_id icon_file_name script_text 100001 10100001 20100001 1 98 0 1 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0.00 1.00 0 0 0 0 99 0 16777216 0 0 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0.00 0.00 0 0 0.00 0.00 0.00 0.00 0 0.00 0.00 0.00 0.00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 drop_etc_pouch 0 icon_item_etc_0065 Run this query select * from arcadia.dbo.itemresource where id = 100001
Try to do as you see fit. And where are you sure that will work. I would be very grateful for a long time trying to understand.Quote:
Again I can not see a difference in column names.
It may be that you are compiling the C++ source from the release of the RDB tool post 9.1 instead of with an item C++ from the pre 9.1 release I will check it out more later.
As I said I could not use the source from the pre 9.1 tool because your C++ contained code that would only work with the later release.