BOOL CRunObject::Init( void ) { if( LoadAIScript() == FALSE ) return FALSE; // m_hClose = CreateEvent( NULL, FALSE, FALSE, NULL ); DWORD dwThreadId; m_hRunObject = chBEGINTHREADEX( NULL, 0, _Run, (LPVOID)this, 0, &dwThreadId ); // /* #ifdef __GIFTBOX0213 if( !CDPAccountClient::GetInstance()->ConnectToServer( s_szAccountAddr, PN_ACCOUNTSRVR_2, TRUE ) ) { OutputDebugString( "Can't connect to account server." ); return FALSE; } CGiftboxMan::GetInstance()->Upload( CDPAccountClient::GetInstance() ); #endif // __GIFTBOX0213 */ if( !g_DPSrvr.StartServer( (u_short)( g_uKey + PN_WORLDSRVR ), TRUE ) ) { OutputDebugString( "Can't start server." ); return FALSE; } if( !g_DPCoreClient.Run( g_szCoreAddr, PN_CORESRVR + 0, g_uKey ) ) { OutputDebugString( "Can't connect to core server." ); return FALSE; } if( !g_dpDBClient.ConnectToServer( g_szDBAddr, PN_DBSRVR_1, TRUE ) ) { OutputDebugString( "Can't connect to database server." ); return FALSE; } if ( g_eLocal.GetState( ENABLE_GUILD_INVENTORY ) ) g_dpDBClient.SendQueryGuildBank(); if( g_eLocal.GetState( EVE_WORMON ) ) g_dpDBClient.SendQueryGuildQuest(); #if __VER >= 13 // __RAINBOW_RACE if( g_eLocal.GetState( EVE_RAINBOWRACE ) ) g_dpDBClient.SendRainbowRaceReqLoad(); #endif // __RAINBOW_RACE #ifdef __INVALID_LOGIN_0320 g_dpDBClient.CalluspXXXMultiServer( g_uIdofMulti, NULL ); #else // __INVALID_LOGIN_0320 g_dpDBClient.CalluspXXXMultiServer( g_uIdofMulti, 0 ); #endif // __INVALID_LOGIN_0320 if( !CXMasEvent::GetInstance()->LoadScript( "spevent.txt" ) ) { OutputDebugString( "can't read spevent.txt" ); return FALSE; } if( g_eLocal.GetState( EVE_SCHOOL ) ) { #ifdef __IDC if( !CEveSchool::GetInstance()->LoadPos( "..\\script\\school.txt" ) ) // #else // __IDC if( !CEveSchool::GetInstance()->LoadPos( "school.txt" ) ) #endif // __IDC { OutputDebugString( "school.txt not found" ); return FALSE; } } if( g_eLocal.GetState( EVE_GUILDCOMBAT ) && !g_GuildCombatMng.LoadScript( "GuildCombat.txt" ) ) { OutputDebugString( "GuildCombat.txt not found" ); return FALSE; } #if __VER >= 12 // __ITEMCREATEMON_S0602 #if __VER < 12 // __NEW_ITEMCREATEMON_SERVER if( !g_CreateMonster.LoadScript( "CreateMonster.txt" ) ) { OutputDebugString( "CreateMonster.txt Not Found!" ); return FALSE; } #endif // __NEW_ITEMCREATEMON_SERVER #endif // __ITEMCREATEMON_S0602 return TRUE; }
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hInst = hInstance; // Store instance handle in our global variable hMainWnd = hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); if (!hWnd) { return FALSE; } int x = 0, y = 416; SetWindowPos( hWnd, NULL, x, y, 400, 416, SWP_SHOWWINDOW ); g_GameTimer.Compute(); SetTimer( hWnd, TIMER_ID_DEFAULT, 1000, NULL ); #if !defined(__INTERNALSERVER) SetTimer( hWnd, TIMER_ID_WANTED, g_uWantedElapse, NULL ); #endif #ifdef __EVENT0913 SetTimer( hWnd, TIMER_ID_EVENT0913, 1000, NULL ); #endif // __EVENT0913 #ifdef __EVENT1206 SetTimer( hWnd, TIMER_ID_EVENT1206, 1000 * 60, NULL ); #endif // __EVENT1206 SetTimer( hWnd, TIMER_ID_EVENT, 1000 * 60, NULL ); g_MyTrace.Initialize( hWnd, "SquireD", RGB( 0xff, 0xff, 0xff ), RGB( 0x00, 0x00, 0x00 ) ); CTime time = CTime::GetCurrentTime(); g_MyTrace.Add( 0, FALSE, "%s", time.Format( "%Y/%m/%d %H:%M:%S" ) ); g_MyTrace.AddLine( '\0' ); #ifndef _DEBUG // InitEH(); #endif // _DEBUG g_TickCount.Start(); if( !Script( "CoreServer.ini" ) ) { return FALSE; } if( InitializeNetLib() == FALSE ) return FALSE; if( !g_dpCoreSrvr.StartServer( PN_CORESRVR + 0 ) ) return FALSE; if( !g_DPCacheSrvr.StartServer( PN_CORESRVR + 1 ) ) return FALSE; if( !g_dpLoginSrvr.StartServer( PN_CORESRVR + 2 ) ) return FALSE; if( !g_dpDatabaseClient.ConnectToServer( szDataBaseAddr, PN_DBSRVR_2, FALSE ) ) { Error( "Not TransServer Connect" ); return FALSE; } if( !g_PartyMng.CreateWorkers() ) { assert( 0 ); } #ifdef __ENVIRONMENT_EFFECT if( CEnvironment::GetInstance()->CreateWorkers() == FALSE ) { assert( 0 ); } #else // __ENVIRONMENT_EFFECT if( !g_Environment.CreateWorkers() ) { assert( 0 ); } #endif // __ENVIRONMENT_EFFECT ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); return TRUE; }