382 lines
18 KiB
C++
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();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|