In DPClient.cpp inside function CDPClient::OnGameJoin under:
Code:
for( int i = 0; i < g_pPlayer->m_nQuestSize; i++ )
{
if( g_pPlayer->m_aQuest[ i ].m_wId != 0xffff && g_pPlayer->m_aQuest[ i ].m_wId != 0xff )
{
if( g_pPlayer->m_aQuest[ i ].m_nState != 14 )
{
QuestProp * pQestProp = prj.m_aPropQuest.GetAt( g_pPlayer->m_aQuest[ i ].m_wId );
if( pQestProp )
{
strMessage.Format( prj.GetText( TID_GAME_TOOLTIP_ROLEQUEST ) , pQestProp->m_szTitle );
g_WndMng.PutString( strMessage, NULL, 0xffff0000 );
}
}
}
}
place:
Code:
#ifdef __YOUR_QUICK_JOBCHANGE_DEFINE
if ((g_pPlayer->GetLevel() == 15 && g_pPlayer->GetJob() == JOB_VAGRANT) || // 1st Job Change
(g_pPlayer->GetLevel() == 60 && g_pPlayer->GetJob() >= JOB_MERCENARY && g_pPlayer->GetJob() <= JOB_MAGICIAN) || // 2nd Job Change
(g_pPlayer->GetLevel() == 120 && g_pPlayer->GetJob() >= JOB_KNIGHT && g_pPlayer->GetJob() <= JOB_ELEMENTOR && g_pPlayer->GetExpPercent() == 9999) || // Master Job Change
(g_pPlayer->GetLevel() == 120 && g_pPlayer->GetJob() >= JOB_KNIGHT_MASTER && g_pPlayer->GetJob() <= JOB_ELEMENTOR_MASTER && g_pPlayer->GetExpPercent() == 9999) || // Hero Job Change
(g_pPlayer->GetLevel() == 129 && g_pPlayer->GetJob() >= JOB_KNIGHT_HERO && g_pPlayer->GetJob() <= JOB_ELEMENTOR_HERO && g_pPlayer->GetExpPercent() == 9999) // 3rd Job Change
)
{
SAFE_DELETE(g_WndMng.m_pJobChangeEx);
g_WndMng.m_pJobChangeEx = new CWndJobChangeEx;
g_WndMng.m_pJobChangeEx->Initialize();
}
#endif//__YOUR_QUICK_JOBCHANGE_DEFINE
Ofcourse change "__YOUR_QUICK_JOBCHANGE_DEFINE" to your own define. And be sure that you configure the correct levels where the window should pop up.