#include "stdafx.h" #include #include #include bool CSkillID::ReadSkillScript(char* szScriptName) { const int MAX_LINE = 4096; const char SKILL_ID_LEN = 32; const char SKILL_TYPE_LEN = 32; char cLineBuffer[MAX_LINE]; char cSkillID[SKILL_ID_LEN]; char cSkillType[SKILL_TYPE_LEN]; unsigned short BeforeID = 0, AfterID = 1; FILE* lpStream = fopen(szScriptName, "rt"); if(NULL == lpStream) { ERRLOG1(g_Log, "½ºÅ³ ½ºÅ©¸³Æ® ÆÄÀÏ ¿­±â ½ÇÆÐ. ÆÄÀϸí: %s", szScriptName); return false; } fgets(cLineBuffer, MAX_LINE, lpStream); // ù ¶óÀÎ Á¦°Å (Ä÷³¸í) while(!feof(lpStream)) { fgets(cLineBuffer, MAX_LINE, lpStream); sscanf(cLineBuffer, "%s %s", cSkillID, cSkillType); if(stricmp(cSkillType, "ITEM")) // ½ºÅ³Å¸ÀÔÀÌ ¾ÆÀÌÅÛÀÌ ¾Æ´Ò °æ¿ì¸¸ { if((*cSkillID == '0') && (*(cSkillID + 1) == 'x')) // 0x·Î ½ÃÀÛÇÏ´ÂÁö üũ { AfterID = Math::Convert::Atos(cSkillID); if(AfterID != BeforeID) { insert(AfterID); BeforeID = AfterID; } } } *cLineBuffer = *cSkillID = 0; } fclose(lpStream); return true; }