Files
Sun1602/Server/MasterServer/MasterScriptParserManager.cpp
T
2022-10-26 12:25:11 +08:00

382 lines
18 KiB
C++

#include "StdAfx.h"
#include "./MasterScriptParserManager.h"
#include "MasterServerEx.h"
#include "AbusingOptionParser.h"
#include <ScriptDataManager.h>
#include <Function/CompressStreamIO.h>
BOOL ICompressConverter::SolarLoad( eSCRIPT_CODE ScriptCode, BYTE* pSTREAM, DWORD dwSize, BOOL bBigData )
{
const DWORD ERR_CANT_FIND_SCRIPT = 10;
const DWORD ERR_NOT_MATCHED_SIZE = 20;
const DWORD ERR_UNCOMPRESSED = 30;
const DWORD ERR_SCRIPT_PROCESS = 40;
typedef CompressStreamIO::STREAM_INFO_NODE STREAM_INFO_NODE;
FlowControl flow;
FLOWCONTROL_START()
{
// start LOGIC_BLOCK
SCRIPT_COMPRESS_INFO_TABLE_IT itFind = m_CompressInfos.find(ScriptCode);
if(itFind == m_CompressInfos.end())
{
SetFailFc(!"Find", ERR_CANT_FIND_SCRIPT);
break;
}
const sCOMPRESS_INFO& rINFO = itFind->second;
IfFailThenBreak(rINFO.CompressSz == dwSize, ERR_NOT_MATCHED_SIZE);
STREAM_INFO_NODE rPlain;
{
STREAM_INFO_NODE rCompressed;
rCompressed.STREAM = pSTREAM;
rCompressed.SIZE = dwSize;
rPlain.SIZE = rINFO.PlainSz;
IfFailThenBreak(CompressStreamIO::Uncompress(rCompressed, rPlain), ERR_UNCOMPRESSED);
};
const eSCRIPT_DATA_CMD command = SCRIPT_DATA_CMD::SET |
(SCRIPT_DATA_CMD::BUFFERINFO::BUFFER_SIZE | SCRIPT_DATA_CMD::BUFFERINFO::BUFFER);
IfFailThenBreak(
ScriptDataManager::DataStreamCommand(command, ScriptCode, rPlain.STREAM, rPlain.SIZE),
ERR_SCRIPT_PROCESS);
return TRUE;
}
FLOWCONTROL_END;
//switch( flow.GetErrorCode() )
//{
//case ERR_CANT_FIND_SCRIPT: case ERR_NOT_MATCHED_SIZE: case ERR_UNCOMPRESSED:
// break;
//default:
// break;
//}
MessageOut( eCRITICAL_LOG, _T("Can't Convert ScriptStream [%u] %s"), flow.GetErrorCode(), flow.GetErrorString() );
return FALSE;
} //SolarAuth¿ë
VOID ICompressConverter::Release()
{
}
VOID ICompressConverter::SetCompressInfo( const eSCRIPT_CODE scriptCode, const DWORD compressSz, const DWORD plainSz )
{
sCOMPRESS_INFO& rINFO = m_CompressInfos[scriptCode];
rINFO.CompressSz = compressSz;
rINFO.PlainSz = plainSz;
}
VOID
IParserInMaster::SetParser( const eSCRIPT_CODE scriptCode, IParser* const pParser )
{
sCOMPRESS_INFO& rINFO = m_CompressInfos[scriptCode];
rINFO.IParserPtr = pParser;
}
BOOL
IParserInMaster::SolarLoad( eSCRIPT_CODE scriptCode, BYTE* pSTREAM, DWORD dwSize, BOOL bBigData )
{
if( ICompressConverter::SolarLoad( scriptCode, pSTREAM, dwSize, bBigData ) )
{
sCOMPRESS_INFO& rINFO = m_CompressInfos[scriptCode];
IParser* const pIParser = rINFO.IParserPtr;
if( pIParser )
{
const eSCRIPT_DATA_CMD cmd = SCRIPT_DATA_CMD::GET | SCRIPT_DATA_CMD::BUFFERINFO::BUFFER | SCRIPT_DATA_CMD::BUFFERINFO::BUFFER_SIZE;
BYTE* pOutStream = NULL;
DWORD rOutSize = 0;
ScriptDataManager::DataStreamCommand( cmd, scriptCode, pOutStream, rOutSize );
//return IParser::SolarLoad( scriptCode, pOutStream, rOutSize, bBigData );
const CHAR* pFileName = FindFileName( scriptCode );
pIParser->InsertFileName( scriptCode, pFileName );
return pIParser->SolarLoad( scriptCode, pOutStream, rOutSize, bBigData );
}
return TRUE;
}
return FALSE;
}
//BOOL
//IParserInMaster::LoadScript( eSCRIPT_CODE scriptCode, BOOL bReload )
//{
// sCOMPRESS_INFO& rINFO = m_CompressInfos[scriptCode];
// IParser* const pIParser = rINFO.IParserPtr;
// if( pIParser )
// return pIParser->LoadScript( scriptCode, bReload );
// return FALSE;
//}
MasterScriptParserManager::MasterScriptParserManager(void)
{
}
MasterScriptParserManager::~MasterScriptParserManager(void)
{
}
VOID MasterScriptParserManager::InitParserPool( VOID* pPoolOption )
{
AbusingOptionParser::Instance()->Init( 0 );
}
BOOL MasterScriptParserManager::RegisterParser()
{
#ifdef __WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__
#define IPARSER_INTRUDER (&m_CompressConverter)
ERROR_PARSER( RegisterScriptData(SCRIPT_ACCESSORYITEMINFO, NULL, IPARSER_INTRUDER ) );
//C_NA_0_20100520_ACSYSTEM_CHANGED
ERROR_PARSER(RegisterScriptData(SCRIPT_ACHIEVEMENT_INFO, NULL, IPARSER_INTRUDER));
ERROR_PARSER( RegisterScriptData(SCRIPT_AICOMMONINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_AITYPEINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ARMORITEMINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ARMORTYPEDAMAGEINFO, NULL, IPARSER_INTRUDER ) );
//ERROR_PARSER( RegisterScriptData(SCRIPT_COMPOSITE_NPC, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_DROPRATIOINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ENCHANT, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_EXPVALUEINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_EXTRASTONEOPTIONINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_FATIGUEOPTION, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_FIELD, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_FORMULARATIO, NULL, IPARSER_INTRUDER ) );
#ifdef _NA000000_GM_COMMAND_CHANGE_CONCEPT_
ERROR_PARSER(RegisterScriptData(SCRIPT_GMRIGHTS, NULL, IPARSER_INTRUDER));
#else
ERROR_PARSER( RegisterScriptData(SCRIPT_DEVCOMMAND, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_GMCOMMAND, NULL, IPARSER_INTRUDER ) );
#endif
ERROR_PARSER( RegisterScriptData(SCRIPT_GROUP, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_INITCHARINFO, NULL, IPARSER_INTRUDER ) );
//ERROR_PARSER( RegisterScriptData(SCRIPT_INITCHARINFOLIST, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMCOMPOSELIST, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMCOMPOSITEINFO, NULL, IPARSER_INTRUDER ) );
//ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMCOMPOSITERESULTINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMCRYSTALIZELIST, NULL, IPARSER_INTRUDER ) );
//ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMDROPINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMTYPEDROPRATIO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ITEMTYPELIST, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_MAPENTERANCEPORTAL, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_MATCHINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_MISSIONREWARDINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_NPCEXTRAINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_NPCINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_PKSCRIPT, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_QUESTINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_RANKOPTIONINFO, NULL, IPARSER_INTRUDER ) );
//ERROR_PARSER( RegisterScriptData(SCRIPT_RAREITEMDROPINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_REGEN, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_REGEN_POS, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_REQUIREFIELDLEVELINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_REWARDINFOLIST, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_SHOPINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_SHOUTRANGE, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_SKILLINFO, NULL, IPARSER_INTRUDER ) );
#ifdef _NA_001699_20110104_SOCKET_OPTION_POINT
ERROR_PARSER( RegisterScriptData(SCRIPT_ZARD_OPTION_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ZARD_POINT_INFO, NULL, IPARSER_INTRUDER ) );
#else
ERROR_PARSER( RegisterScriptData(SCRIPT_SOCKETOPTIONINFO, NULL, IPARSER_INTRUDER ) );
#endif // _NA_001699_20110104_SOCKET_OPTION_POINT
ERROR_PARSER( RegisterScriptData(SCRIPT_STATEINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_STYLEINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_STYLEQUICKREGISTINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_SUNEVENTINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_VSHUNTINGREWARDINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_WASTEITEMINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_WEAPONITEMINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_WORLD, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_FIELDWMO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_FIELDWUT, NULL, IPARSER_INTRUDER ) );
#ifdef _NA_008012_20150130_RANKING_SYSTEM
ERROR_PARSER( RegisterScriptData(SCRIPT_MISSIONRANKINGREWARD, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_MISSIONRANKINGLVAREA, NULL, IPARSER_INTRUDER ) );
#endif // _NA_008012_20150130_RANKING_SYSTEM
ERROR_PARSER( RegisterScriptData(SCRIPT_CHARGEITEMINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_MONSTERSUMMON, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_MAP_PARTIAL_LOADING, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_FILTER, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_FILTERNAME, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_WORLD_SUB_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_CURSE_TOWER_TIME, NULL, IPARSER_INTRUDER ) );
#ifdef _NA_008012_20150130_RANKING_SYSTEM
ERROR_PARSER( RegisterScriptData( SCRIPT_POINT_RANKING, NULL, IPARSER_INTRUDER ) );
#endif // _NA_008012_20150130_RANKING_SYSTEM
#ifdef __NA_001027_20080423_RANDOM_REWARD_EVENT_
ERROR_PARSER( RegisterScriptData( SCRIPT_EXCHANGE_REWARD_INFO, NULL, IPARSER_INTRUDER ) );
#endif
ERROR_PARSER( RegisterScriptData( SCRIPT_GUILD_RANK_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_SERVER_OPTION, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_GAME_OPTION, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_SETITEM_OPTION_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_GUILD_RIGHT_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_GAMBLE_OPTION, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_LIMITED_ITEM_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_FATE_ITEM_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_EVENTREWARD_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_MAX_GUILD_MEMBER_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_SSQINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_SSQPATTERN, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_ABUSING_OPTION_TXT, "data\\AbusingOption.txt", IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_PET_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_ETHER_BULLET_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_LOTTO_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData( SCRIPT_NEW_CHARACTER_ITEM_INFO, NULL, IPARSER_INTRUDER ) );
#ifdef __NA_001062_20080623_STRENGTH_PENALTY
ERROR_PARSER( RegisterScriptData( SCRIPT_STRENGTH_PENALTY, NULL, IPARSER_INTRUDER ) );
#endif
ERROR_PARSER( RegisterScriptData(SCRIPT_COLLECT, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_GROUPINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_RIDING_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_DOMINATIONINFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_DOMINATION_EVENT_INFO, NULL, IPARSER_INTRUDER ) );
#ifdef _NA_1419_20100121_ACCUMULATE_POINT
ERROR_PARSER( RegisterScriptData(SCRIPT_ACCUMULATE_POINT, NULL, IPARSER_INTRUDER ) );
#endif
#ifdef _NA002217_100728_EP2_PERK_SYSTEM_
ERROR_PARSER(RegisterScriptData(SCRIPT_PERKINFO, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA_002253_20100811_CUBE_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_CUBE_COMPOSE, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_CUBE_DECOMPOSE, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA_0_20100727_SOCKET_SYSTEM_PARSER
ERROR_PARSER( RegisterScriptData(SCRIPT_SOCKET_ITEM_RATIO_INFO, NULL, IPARSER_INTRUDER ) );
ERROR_PARSER( RegisterScriptData(SCRIPT_ZARD_COMPOSE_INFO, NULL, IPARSER_INTRUDER ) );
#endif
#ifdef _NA_0_20100901_SKILLTREE_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_SKILL_INVEN_STORE, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA_0_20101015_SOLAR_SHOP_TEMP_REFACTORING
ERROR_PARSER(RegisterScriptData(SCRIPT_CASHCATEGORY, NULL, IPARSER_INTRUDER));
#endif
#ifdef _USE_MAX_CHAR_LIST_PARSER
ERROR_PARSER(RegisterScriptData(SCRIPT_MAX_CHAR_LIST, NULL, IPARSER_INTRUDER));
#endif
//_NA_20110630_BATTLE_ZONE_RENEWAL
ERROR_PARSER(RegisterScriptData(SCRIPT_BATTLEZONE_TREE, NULL, IPARSER_INTRUDER));
#ifdef _NA_003027_20111013_HONOR_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_FAME_LIST, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_REPUTE_LIST, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_TITLE_LIST, NULL, IPARSER_INTRUDER));
#endif
//_NA_002935_20110704_ITEM_SCORE
ERROR_PARSER(RegisterScriptData(SCRIPT_ITEM_SCORE_COMMON, NULL, IPARSER_INTRUDER));
#ifdef _NA_003649_20111115_BATTLE_ZONE_HARDMODE
ERROR_PARSER(RegisterScriptData(SCRIPT_NPCREPLACE_INFO, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA_003740_20111122_RANDOM_ITEM
ERROR_PARSER(RegisterScriptData(SCRIPT_RANDOM_ITEM_VALUE, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_RANDOM_ITEM_OPTION_TYPE, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_RANDOM_ITEM_INFO, NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_RANDOM_ITEM_KEY, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA004034_20120102_POINT_WALLET_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_CURRENCY_INFO, NULL, IPARSER_INTRUDER));
#endif //_NA004034_20120102_POINT_WALLET_SYSTEM
#ifdef _NA_003923_20120130_GUILD_RENEWAL
ERROR_PARSER(RegisterScriptData(SCRIPT_GUILDINFO, NULL, IPARSER_INTRUDER));
#endif
#ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
ERROR_PARSER(RegisterScriptData(SCRIPT_CHAOSZONE_INFO, /*"data\\ChaosZoneInfo.txt"*/ NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_BATTLE_GROUND_INFO, /*"data\\BattleGroundInfo.txt"*/ NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_BATTLE_GROUND_FLAG_INFO, /*"data\\BattleGroundFlagInfo.txt"*/ NULL, IPARSER_INTRUDER));
#endif // _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
ERROR_PARSER(RegisterScriptData(SCRIPT_BATTLE_GROUND_TIME_INFO, /*"data\\BattleGroundTimeInfo.txt"*/ NULL, IPARSER_INTRUDER));
#endif // _NA_008679_20160202_REWORK_BATTLEGROUND
#ifdef _NA_007065_20140217_CHAOSZONE_GOLDRUSH
ERROR_PARSER(RegisterScriptData(SCRIPT_GOLDRUSH_INFO, /*"data\\GoldRushInfo.txt"*/ NULL, IPARSER_INTRUDER));
ERROR_PARSER(RegisterScriptData(SCRIPT_GOLDRUSH_MONSTERPOINT, /*"data\\GoldRushMonsterPoint.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_007065_20140217_CHAOSZONE_GOLDRUSH
#ifdef _NA_007086_20140318_MONSTERBOOK
ERROR_PARSER(RegisterScriptData(SCRIPT_MONSTER_BOOK, /*"data\\MonsterBook.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_007086_20140318_MONSTERBOOK
#ifdef _NA_007330_20140620_GUILD_SYSTEM_EXTENSION
ERROR_PARSER(RegisterScriptData(SCRIPT_GUILD_FACILITY_INFO, /*"data\\GuildFacilityInfo.txt"*/ NULL, IPARSER_INTRUDER));
#endif // _NA_007330_20140620_GUILD_SYSTEM_EXTENSION
#ifdef _NA_007932_20150112_ATTENDANCE_CHECK_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_ATTENDANCE, /*"data\\Attendance.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_007932_20150112_ATTENDANCE_CHECK_SYSTEM
#ifdef _NA_008012_20150204_SUN_RANKING_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_SUN_RANKING, /*"data\\SunRanking.ini"*/ NULL, IPARSER_INTRUDER ) );
#endif // _NA_008012_20150204_SUN_RANKING_SYSTEM
#ifdef _NA_008124_20150313_AWAKENING_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_AWAKENING_INFO, /*"data\\AwakeningInfo.txt"*/ NULL, IPARSER_INTRUDER ) );
#endif // _NA_008124_20150313_AWAKENING_SYSTEM
#ifdef _NA_008283_20150511_NOTIFICATIONS_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_NOTIFICATION_INFO, /*"data\\NotificationInfo.txt"*/ NULL, IPARSER_INTRUDER ) );
#endif // _NA_008283_20150511_NOTIFICATIONS_SYSTEM
#ifdef _NA_008404_20150712_MINIGAME_SYSTEM
ERROR_PARSER(RegisterScriptData(SCRIPT_MINIGAME, /*"data\\MiniGame.ini"*/ NULL, IPARSER_INTRUDER ) );
#endif // _NA_008404_20150712_MINIGAME_SYSTEM
#ifdef _NA_008334_20150608_SONNENSCHEIN
ERROR_PARSER( RegisterScriptData(SCRIPT_SONNENSCHEIN_REWARDINFO, /*"data\\SonnenScheinReward.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_008334_20150608_SONNENSCHEIN
#ifdef _NA_008543_20151027_ONE_DAYS_GUILD_MISSION
ERROR_PARSER( RegisterScriptData(SCRIPT_ONEDAYSBUILDMISSION, /*"data\\OneDaysGuildmissionInfo.txt"*/ NULL, IPARSER_INTRUDER));
//_NA_008801_20160429_ADD_GUILDMISSION_TIMEINFO_SCRIPT
ERROR_PARSER( RegisterScriptData(SCRIPT_GUILDMISSIONTIME_INFO, /*"data\\GuildMissionTimeInfo.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_008543_20151027_ONE_DAYS_GUILD_MISSION
#ifdef _NA_008679_20160202_REWORK_BATTLEGROUND
ERROR_PARSER( RegisterScriptData(SCRIPT_BATTLE_GROUND_COSTUME, /*"data\\BattleCostume.txt"*/ NULL, IPARSER_INTRUDER));
ERROR_PARSER( RegisterScriptData(SCRIPT_BATTLE_GROUND_WEAPON, /*"data\\BattleWeapon.txt"*/ NULL, IPARSER_INTRUDER));
#endif //_NA_008679_20160202_REWORK_BATTLEGROUND
sSCRIPT_DATA_INFO_NODE pNodeTable[SCRIPT_LIST_SIZE];
if( !GetScriptDataNodeList( pNodeTable, SCRIPT_LIST_SIZE ) )
return FALSE;
// Master°¡ Àд ½ºÅ©¸³Æ® ÆÄ¼­
m_CompressConverter.SetParser( SCRIPT_ABUSING_OPTION_TXT, AbusingOptionParser::Instance() );
ScriptDataManager::RegisterDataList( pNodeTable );
ScriptDataManager::RegisterCallbackAllDataLoaded( MasterServerEx::StartDataService );
#else //!__WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__
ERROR_PARSER( RegisterScriptData( SCRIPT_ABUSING_OPTION_TXT, "data\\AbusingOption.txt", AbusingOptionParser::Instance() ) );
#endif //!__WAVERIX_SOLAR_AUTH_SERVER_IMPLEMENTATION__
return TRUE;
}
VOID MasterScriptParserManager::DestroyInstanceEx()
{
AbusingOptionParser::DestroyInstance();
}