예제 #1
0
//-----------------------------------------------------------------------------------
//		Loading Tables
//-----------------------------------------------------------------------------------
bool CGameServer::CreateTableContainer(int byLoadMethod)
{
	GsFunctionsClass *gs = new GsFunctionsClass();
	gs->printOk("==== LOADING GAME TABLES ... ====");

  CNtlBitFlagManager flagManager;
    if (false == flagManager.Create(CTableContainer::TABLE_COUNT))
    {
        return false;
    }

    CTableFileNameList fileNameList;
    if (false == fileNameList.Create())
    {
        return false;
    }
    flagManager.Set(CTableContainer::TABLE_WORLD);				
    flagManager.Set(CTableContainer::TABLE_PC);					
    flagManager.Set(CTableContainer::TABLE_MOB);				
    flagManager.Set(CTableContainer::TABLE_NPC);				
    flagManager.Set(CTableContainer::TABLE_ITEM);				
    flagManager.Set(CTableContainer::TABLE_ITEM_OPTION);		
    flagManager.Set(CTableContainer::TABLE_SKILL);				
    flagManager.Set(CTableContainer::TABLE_SYSTEM_EFFECT);		
    flagManager.Set(CTableContainer::TABLE_NEWBIE);				
    flagManager.Set(CTableContainer::TABLE_MERCHANT);			
    flagManager.Set(CTableContainer::TABLE_HTB_SET);			
    flagManager.Set(CTableContainer::TABLE_USE_ITEM);			
    flagManager.Set(CTableContainer::TABLE_SET_ITEM);			
    flagManager.Set(CTableContainer::TABLE_CHARM);				
    flagManager.Set(CTableContainer::TABLE_ACTION);				
    flagManager.Set(CTableContainer::TABLE_CHAT_COMMAND);		
    flagManager.Set(CTableContainer::TABLE_QUEST_ITEM);			
    flagManager.Set(CTableContainer::TABLE_QUEST_TEXT_DATA);	
    flagManager.Set(CTableContainer::TABLE_TEXT_ALL);			
    flagManager.Set(CTableContainer::TABLE_OBJECT);			
    flagManager.Set(CTableContainer::TABLE_WORLD_MAP);			
    flagManager.Set(CTableContainer::TABLE_LAND_MARK);			
    flagManager.Set(CTableContainer::TABLE_HELP);				
    flagManager.Set(CTableContainer::TABLE_GUIDE_HINT);			
    flagManager.Set(CTableContainer::TABLE_DRAGONBALL);			
    flagManager.Set(CTableContainer::TABLE_DRAGONBALL_REWARD);	
    flagManager.Set(CTableContainer::TABLE_TIMEQUEST);			
    flagManager.Set(CTableContainer::TABLE_BUDOKAI);			
    flagManager.Set(CTableContainer::TABLE_RANKBATTLE);			
    flagManager.Set(CTableContainer::TABLE_DIRECTION_LINK);		
    flagManager.Set(CTableContainer::TABLE_CHATTING_FILTER);	
    flagManager.Set(CTableContainer::TABLE_PORTAL);				
    flagManager.Set(CTableContainer::TABLE_SPEECH);				
    flagManager.Set(CTableContainer::TABLE_SCRIPT_LINK);		
    flagManager.Set(CTableContainer::TABLE_QUEST_NARRATION);	
    flagManager.Set(CTableContainer::TABLE_VEHICLE);			
    flagManager.Set(CTableContainer::TABLE_DUNGEON);			
    flagManager.Set(CTableContainer::TABLE_MOB_MOVE_PATTERN);	
    flagManager.Set(CTableContainer::TABLE_DYNAMIC_OBJECT);		
    flagManager.Set(CTableContainer::TABLE_ITEM_RECIPE);		
    flagManager.Set(CTableContainer::TABLE_ITEM_UPGRADE);		
    flagManager.Set(CTableContainer::TABLE_MIX_MACHINE);		
    flagManager.Set(CTableContainer::TABLE_DOJO);				
    flagManager.Set(CTableContainer::TABLE_QUEST_REWARD);		
    flagManager.Set(CTableContainer::TABLE_WORLD_ZONE);
	flagManager.Set(CTableContainer::TABLE_NPC_SPAWN);
	flagManager.Set(CTableContainer::TABLE_MOB_SPAWN);
	flagManager.Set(CTableContainer::TABLE_FORMULA);
	flagManager.Set(CTableContainer::TABLE_GAME_MANIA_TIME);
	flagManager.Set(CTableContainer::TABLE_BASIC_DROP);
	flagManager.Set(CTableContainer::TABLE_LEGENDARY_DROP);
	flagManager.Set(CTableContainer::TABLE_NORMAL_DROP);
	flagManager.Set(CTableContainer::TABLE_SUPERIOR_DROP);
	flagManager.Set(CTableContainer::TABLE_EACH_DROP);
	flagManager.Set(CTableContainer::TABLE_TYPE_DROP);
	flagManager.Set(CTableContainer::TABLE_EXCELLENT_DROP);
	flagManager.Set(CTableContainer::TABLE_EXP);

	
	fileNameList.SetFileName(CTableContainer::TABLE_WORLD,					"Table_World_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_PC,						"Table_PC_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_MOB,					"Table_MOB_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_NPC,					"Table_NPC_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_ITEM,					"Table_Item_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_ITEM_OPTION,			"Table_Item_Option_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_SKILL,					"Table_Skill_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_SYSTEM_EFFECT,			"Table_System_Effect_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_NEWBIE,					"Table_Newbie_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_MERCHANT,				"Table_Merchant_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_HTB_SET,				"Table_HTB_Set_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_USE_ITEM,				"Table_Use_Item_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_SET_ITEM,				"Table_Set_Item_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_CHARM,					"Table_Charm_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_ACTION,					"Table_Action_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_CHAT_COMMAND,			"Table_Chat_Command_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_QUEST_ITEM,				"Table_Quest_Item_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_QUEST_TEXT_DATA,		"Table_Quest_Text_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_TEXT_ALL,				"Table_Text_All_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_OBJECT,					"Table_Object");
	fileNameList.SetFileName(CTableContainer::TABLE_WORLD_MAP,				"Table_Worldmap_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_LAND_MARK,				"Table_Landmark_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_HELP,					"Table_Help_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_GUIDE_HINT,				"Table_Guide_Hint_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DRAGONBALL,				"Table_Dragon_Ball_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DRAGONBALL_REWARD,		"Table_DB_Reward_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_TIMEQUEST,				"Table_TMQ_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_BUDOKAI,				"Table_Tenkaichibudokai_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_RANKBATTLE,				"Table_RankBattle_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DIRECTION_LINK,			"Table_Direction_Link_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_CHATTING_FILTER,		"Table_Chatting_Filter_Data");
    fileNameList.SetFileName(CTableContainer::TABLE_PORTAL,					"Table_Portal_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_SPEECH,					"Table_NPC_Speech_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_SCRIPT_LINK,			"Table_Script_Link_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_QUEST_NARRATION,		"Table_Quest_Narration_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_VEHICLE,				"Table_Vehicle_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DUNGEON,				"Table_Dungeon_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_MOB_MOVE_PATTERN,		"Table_Mob_Move_Pattern_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DYNAMIC_OBJECT,			"Table_Dynamic_Object_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_ITEM_RECIPE,			"Table_Item_Recipe_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_ITEM_UPGRADE,			"Table_Item_Upgrade_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_MIX_MACHINE,			"Table_Item_Mix_Machine_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_DOJO,					"Table_Dojo_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_QUEST_REWARD,			"Table_Quest_Reward_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_WORLD_ZONE,				"Table_World_Zone_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_FORMULA,				"TD_Formula");
	fileNameList.SetFileName(CTableContainer::TABLE_GAME_MANIA_TIME,		"Table_GameManiaTime_Data");
	fileNameList.SetFileName(CTableContainer::TABLE_EXP,					"table_exp_data");
	fileNameList.SetFileName(CTableContainer::TABLE_BASIC_DROP,				"table_basic_drop_data");
	fileNameList.SetFileName(CTableContainer::TABLE_LEGENDARY_DROP,			"table_legendary_drop_data");
	fileNameList.SetFileName(CTableContainer::TABLE_SYSTEM_EFFECT,			"table_system_effect_data");


	/*flagManager.Set(CTableContainer::TABLE_GAME_MANIA_TIME);
	flagManager.Set(CTableContainer::TABLE_BASIC_DROP);
	flagManager.Set(CTableContainer::TABLE_LEGENDARY_DROP);
	flagManager.Set(CTableContainer::TABLE_NORMAL_DROP);
	flagManager.Set(CTableContainer::TABLE_SUPERIOR_DROP);
	flagManager.Set(CTableContainer::TABLE_EACH_DROP);
	flagManager.Set(CTableContainer::TABLE_TYPE_DROP);
	flagManager.Set(CTableContainer::TABLE_EXCELLENT_DROP);*/

	g_pTableContainer = new CTableContainer;
	std::string str;
	CTable::eLOADING_METHOD eLoadMethod = (CTable::eLOADING_METHOD)byLoadMethod;
	str = "data";
    bool bResult = FALSE;
    bResult = g_pTableContainer->Create(flagManager, (char*)str.c_str(), &fileNameList, eLoadMethod, GetACP(), NULL);
	g_pTableContainer->SaveToFile(flagManager, &fileNameList, false); 
	gs->printOk("==== LOADING GAMETABLES COMPLETE ====");                                                                                              
	mob->Create();
	delete gs;
	return bResult;
}
예제 #2
0
bool CharServer::LoadTableData()
{
	CNtlBitFlagManager flagManager;
	if (false == flagManager.Create(TableContainer::TABLE_COUNT)) return false;

	TableFileNameList fileNameList;
	if (false == fileNameList.Create())	return false;

	flagManager.Set(TableContainer::TABLE_WORLD);
	flagManager.Set(TableContainer::TABLE_PC);
	flagManager.Set(TableContainer::TABLE_MOB);
	flagManager.Set(TableContainer::TABLE_NPC);
	flagManager.Set(TableContainer::TABLE_ITEM);
	flagManager.Set(TableContainer::TABLE_ITEM_OPTION);
	flagManager.Set(TableContainer::TABLE_SKILL);
	flagManager.Set(TableContainer::TABLE_NEWBIE);
	flagManager.Set(TableContainer::TABLE_WORLD_MAP);
	flagManager.Set(TableContainer::TABLE_WORLD_ZONE);
	flagManager.Set(TableContainer::TABLE_FORMULA);
	flagManager.Set(TableContainer::TABLE_EXP);

	fileNameList.SetFileName(TableContainer::TABLE_WORLD, "Table_World_Data");
	fileNameList.SetFileName(TableContainer::TABLE_PC, "Table_PC_Data");
	fileNameList.SetFileName(TableContainer::TABLE_ITEM, "Table_Item_Data");
	fileNameList.SetFileName(TableContainer::TABLE_ITEM_OPTION, "Table_Item_Option_Data");
	fileNameList.SetFileName(TableContainer::TABLE_SKILL, "Table_Skill_Data");
	fileNameList.SetFileName(TableContainer::TABLE_NEWBIE, "Table_Newbie_Data");
	fileNameList.SetFileName(TableContainer::TABLE_WORLD_MAP, "Table_Worldmap_Data");
	fileNameList.SetFileName(TableContainer::TABLE_WORLD_ZONE, "Table_World_Zone_Data");
	fileNameList.SetFileName(TableContainer::TABLE_FORMULA, "TD_Formula");
	fileNameList.SetFileName(TableContainer::TABLE_GAME_MANIA_TIME, "Table_GameManiaTime_Data");
	fileNameList.SetFileName(TableContainer::TABLE_EXP, "table_exp_data");

	m_pTableContainer = new TableContainer();

	return m_pTableContainer->Create(flagManager, gameDataPath, &fileNameList, eLOADING_METHOD::LOADING_METHOD_SECURED_BINARY, GetACP(), NULL);
}