#include #include "ItemCSVReader.h" using namespace std; inline string trim_left(const string& str) { string::size_type n = str.find_first_not_of(" \t\v\n\r"); return n == string::npos ? str : str.substr(n, str.length()); } inline string trim_right(const string& str) { string::size_type n = str.find_last_not_of(" \t\v\n\r"); return n == string::npos ? str : str.substr(0, n + 1); } string trim(const string& str){return trim_left(trim_right(str));} static string* StringSplit(string strOrigin, string strTok) { int cutAt; //ÀÚ¸£´ÂÀ§Ä¡ int index = 0; //¹®ÀÚ¿­À妽º string* strResult = new string[30]; //°á°úreturn ÇÒº¯¼ö //strTokÀ»Ã£À»¶§±îÁö¹Ýº¹ while ((cutAt = strOrigin.find_first_of(strTok)) != strOrigin.npos) { if (cutAt > 0) //ÀÚ¸£´ÂÀ§Ä¡°¡0º¸´ÙÅ©¸é(¼º°ø½Ã) { strResult[index++] = strOrigin.substr(0, cutAt); //°á°ú¹è¿­¿¡Ãß°¡ } strOrigin = strOrigin.substr(cutAt+1); //¿øº»ÀºÀÚ¸¥ºÎºÐÁ¦¿ÜÇѳª¸ÓÁö } if(strOrigin.length() > 0) //¿øº»À̾ÆÁ÷³²¾ÒÀ¸¸é { strResult[index++] = strOrigin.substr(0, cutAt); //³ª¸ÓÁö¸¦°á°ú¹è¿­¿¡Ãß°¡ } for( int i=0;i "; for (int j=0;j "; for (int j=0;j " << retValue << endl; return retValue; } int get_Item_Flag_Value(string inputString) { string arFlag[] = {"ITEM_TUNABLE", "ITEM_SAVE", "ITEM_STACKABLE", "COUNT_PER_1GOLD", "ITEM_SLOW_QUERY", "ITEM_UNIQUE", "ITEM_MAKECOUNT", "ITEM_IRREMOVABLE", "CONFIRM_WHEN_USE", "QUEST_USE", "QUEST_USE_MULTIPLE", "QUEST_GIVE", "ITEM_QUEST", "LOG", "STACKABLE", "SLOW_QUERY", "REFINEABLE", "IRREMOVABLE", "ITEM_APPLICABLE"}; int retValue = 0; string* arInputString = StringSplit(inputString, "|"); //ÇÁ·ÎÅä Á¤º¸ ³»¿ëÀ» ´Ü¾îº°·Î Âɰµ ¹è¿­. for(int i =0;i " << retValue << endl; return retValue; } int get_Item_WearFlag_Value(string inputString) { string arWearrFlag[] = {"WEAR_BODY", "WEAR_HEAD", "WEAR_FOOTS", "WEAR_WRIST", "WEAR_WEAPON", "WEAR_NECK", "WEAR_EAR", "WEAR_SHIELD", "WEAR_UNIQUE", "WEAR_ARROW", "WEAR_HAIR", "WEAR_ABILITY"}; int retValue = 0; string* arInputString = StringSplit(inputString, "|"); //ÇÁ·ÎÅä Á¤º¸ ³»¿ëÀ» ´Ü¾îº°·Î Âɰµ ¹è¿­. for(int i =0;i " << retValue << endl; return retValue; } int get_Item_Immune_Value(string inputString) { string arImmune[] = {"PARA","CURSE","STUN","SLEEP","SLOW","POISON","TERROR"}; int retValue = 0; string* arInputString = StringSplit(inputString, "|"); //ÇÁ·ÎÅä Á¤º¸ ³»¿ëÀ» ´Ü¾îº°·Î Âɰµ ¹è¿­. for(int i =0;i " << retValue << endl; return retValue; } int get_Item_LimitType_Value(string inputString) { string arLimitType[] = {"LIMIT_NONE", "LEVEL", "STR", "DEX", "INT", "CON", "PC_BANG", "REAL_TIME", "REAL_TIME_FIRST_USE", "TIMER_BASED_ON_WEAR"}; int retInt = -1; //cout << "LimitType : " << limitTypeStr << " -> "; for (int j=0;j "; for (int j=0;j "; for (int j=0;j "; for (int j=0;j "; for (int j=0;j "; for (int j=0;j " << retValue << endl; return retValue; } int get_Mob_RaceFlag_Value(string inputString) { string arRaceFlag[] = {"ANIMAL","UNDEAD","DEVIL","HUMAN","ORC","MILGYO","INSECT","FIRE","ICE","DESERT","TREE", "ATT_ELEC","ATT_FIRE","ATT_ICE","ATT_WIND","ATT_EARTH","ATT_DARK"}; int retValue = 0; string* arInputString = StringSplit(inputString, "|"); //ÇÁ·ÎÅä Á¤º¸ ³»¿ëÀ» ´Ü¾îº°·Î Âɰµ ¹è¿­. for(int i =0;i " << retValue << endl; return retValue; } int get_Mob_ImmuneFlag_Value(string inputString) { string arImmuneFlag[] = {"STUN","SLOW","FALL","CURSE","POISON","TERROR"}; int retValue = 0; string* arInputString = StringSplit(inputString, ","); //ÇÁ·ÎÅä Á¤º¸ ³»¿ëÀ» ´Ü¾îº°·Î Âɰµ ¹è¿­. for(int i =0;i " << retValue << endl; return retValue; }