@@ -1,261 +0,0 @@
# include "StdAfx.h"
# include "NProtectGameGuard.h"
# ifdef USE_NPROTECT_GAMEGUARD
static struct GameGuard
{
bool isInitError ;
bool isProcError ;
unsigned msg ;
unsigned arg ;
} gs_gameGuard = {
false , 0 , 0 ,
} ;
# ifdef LOCALE_SERVICE_HONGKONG
# include "NProtect/NPGameLibHK.h"
# pragma comment(lib, "NPGameLibHK_MT.lib")
CNPGameLib npgl ( " Metin2HK " ) ;
# endif
# ifdef LOCALE_SERVICE_TAIWAN
# include "NProtect/NPGameLibTW.h"
# pragma comment(lib, "NPGameLibTW_MT.lib")
CNPGameLib npgl ( " Metin2TW " ) ;
# endif
# ifdef LOCALE_SERVICE_EUROPE
# include "NProtect/NPGameLibEU.h"
# pragma comment(lib, "NPGameLibEU_MT.lib")
CNPGameLib npgl ( " Metin2EU " ) ;
# endif
BOOL CALLBACK NPGameMonCallback ( DWORD msg , DWORD arg )
{
switch ( msg )
{
case NPGAMEMON_COMM_ERROR :
case NPGAMEMON_COMM_CLOSE :
case NPGAMEMON_INIT_ERROR :
case NPGAMEMON_SPEEDHACK :
case NPGAMEMON_GAMEHACK_KILLED :
case NPGAMEMON_GAMEHACK_DETECT :
case NPGAMEMON_GAMEHACK_DOUBT :
gs_gameGuard . msg = msg ;
gs_gameGuard . arg = arg ;
gs_gameGuard . isProcError = true ;
return false ;
break ;
}
return true ;
}
bool LocaleService_IsGameGuardError ( )
{
return gs_gameGuard . isProcError ;
}
bool LocaleService_InitGameGuard ( )
{
unsigned result = npgl . Init ( ) ;
if ( NPGAMEMON_SUCCESS ! = result )
{
gs_gameGuard . isInitError = true ;
gs_gameGuard . msg = result ;
return false ;
}
return true ;
}
bool LocaleService_RunGameGuard ( HWND hWnd )
{
npgl . SetHwnd ( hWnd ) ;
return true ;
}
void LocaleService_NoticeGameGuardInitError_HongKong ( )
{
char msg [ 256 ] ;
switch ( gs_gameGuard . msg )
{
case NPGAMEMON_ERROR_EXIST :
sprintf ( msg , " GameGuard곰?ㄴ좧탙데??⒝촑?톝귑걺ㄷメ쪨곰?좧 " ) ;
break ;
case NPGAMEMON_ERROR_GAME_EXIST :
sprintf ( msg , " 툮으?싣곰?⒝GameGuard쨢쫇곰?ㄴ좧뎡?툮으メ싻?톝곰?좧 " ) ;
break ;
case NPGAMEMON_ERROR_INIT :
sprintf ( msg , " GameGuardれ늑ㅖ월?좧?톝귑걺メ쪨곰?⒝촑츙낚쩳??탊Ν식юず?─ㄷメ쪨곰?좧 " ) ;
break ;
case NPGAMEMON_ERROR_AUTH_GAMEGUARD :
case NPGAMEMON_ERROR_NFOUND_GG :
case NPGAMEMON_ERROR_AUTH_INI :
case NPGAMEMON_ERROR_NFOUND_INI :
sprintf ( msg , " 킠GameGuard읠?⒝깼Ν 꺌텝좧싻쫤맷GameGuard ず쫤맷읠좧 " ) ;
break ;
case NPGAMEMON_ERROR_CRYPTOAPI :
sprintf ( msg , " Windowず촟끝ψ쮝꽝읠?⅜톖좧싻?톝쫤맷IE좧 " ) ;
break ;
case NPGAMEMON_ERROR_EXECUTE :
sprintf ( msg , " GameGuard곰?ⅱ귐좧싻?톝곰?GameGuard쫤맷읠좧 " ) ;
break ;
case NPGAMEMON_ERROR_ILLEGAL_PRG :
sprintf ( msg , " 탊?첗챞?─좧싻뎡?ㄳ쁨춏ず?─ㄷメ?톝곰?좧 " ) ;
break ;
case NPGMUP_ERROR_ABORT :
sprintf ( msg , " GameGuardㅙ?¾?좧쫜찱?そ킠챞퀂퐑좥싻?쌌얇빌몰⒝?짩ず㉭ㆅ쟈?쯹좧 " ) ;
break ;
case NPGMUP_ERROR_CONNECT :
case NPGMUP_ERROR_DOWNCFG :
sprintf ( msg , " GameGuard㏆ぉ(ㅙ?)?찥퀂퐑ⅱ귐좧탙데ㄷメ쪨?톝곰?⒝촑쫜찱┳?짩㉭ㆅ쟈ず멎싻쌌얇?짩㉭ㆅ쟈?쯹ㄷメ쪨먼좧 " ) ;
break ;
case NPGMUP_ERROR_AUTH :
sprintf ( msg , " GameGuard㏆ぉ쮁?㏏┬좧싻?갚ㅾ곰?㉭촵?─メ쪨?톝곰?⒝촑ⓒΞPC붸쾩?─쌌얇?쯹メ쪨곰?좧 " ) ;
break ;
case NPGAMEMON_ERROR_NPSCAN :
sprintf ( msg , " 칏촵ㅞ탇짫픟ト짫첟쨠ⓦ읫촥소꾐ⅱ귐좧쩳?촑캯압톱ㄳº⒝촑텾촚짦칏촵좧 " ) ;
break ;
default :
sprintf ( msg , " GameGuard곰??탊?월?좧싻켔툮으멸?㎤맸ずGameGuard멸?㎤ㄴず*.erl읠?픆퉞쨖턫τ??켋⑥game2@inca.co.kr첞폺좧 " ) ;
break ;
}
MessageBox ( NULL , msg , " GameGuard 월? " , MB_OK ) ;
}
void LocaleService_NoticeGameGuardInitError_International ( )
{
char msg [ 256 ] ;
switch ( gs_gameGuard . msg )
{
case NPGAMEMON_ERROR_EXIST :
sprintf ( msg , " GameGuard is already running. \n Please reboot and restart the game. " ) ;
break ;
case NPGAMEMON_ERROR_GAME_EXIST :
sprintf ( msg , " GameGuard is already running. \n Please restart the game. " ) ;
break ;
case NPGAMEMON_ERROR_INIT :
sprintf ( msg , " GameGuard has initial error. \n Please kill other conflict programs and restart game. " ) ;
break ;
case NPGAMEMON_ERROR_AUTH_GAMEGUARD :
case NPGAMEMON_ERROR_NFOUND_GG :
case NPGAMEMON_ERROR_AUTH_INI :
case NPGAMEMON_ERROR_NFOUND_INI :
sprintf ( msg , " GameGuard files are modified or deleted. \n Please reinstall GameGuard. " ) ;
break ;
case NPGAMEMON_ERROR_CRYPTOAPI :
sprintf ( msg , " GameGuard detects Windows system file error. \n Please reinstall Internet Explorer(IE) " ) ;
break ;
case NPGAMEMON_ERROR_EXECUTE :
sprintf ( msg , " GameGuard running is failed. \n Please reinstall GameGuard. " ) ;
break ;
case NPGAMEMON_ERROR_ILLEGAL_PRG :
sprintf ( msg , " GameGuard detects Illegal Program. \n Please kill other programs not needs and restart game " ) ;
break ;
case NPGMUP_ERROR_ABORT :
sprintf ( msg , " GameGuard update was canceled. \n When not connect, change the internal or private firewall settings " ) ;
break ;
case NPGMUP_ERROR_CONNECT :
sprintf ( msg , " GameGuard hooking is failed. \n Please download newer anti-virus and check all system. " ) ;
break ;
case NPGAMEMON_ERROR_GAMEGUARD :
sprintf ( msg , " GameGuard has initial error or old game guard. \n Please reinstall GameGuard " ) ;
break ;
case NPGMUP_ERROR_PARAM :
sprintf ( msg , " GameGuard detects .ini file is modified. \n Please reinstall GameGuard " ) ;
break ;
case NPGMUP_ERROR_INIT :
sprintf ( msg , " GameGuard detects npgmup.des initial error. \n Please delete GameGuard Folder and reinstall GameGuard " ) ;
break ;
case NPGMUP_ERROR_DOWNCFG :
sprintf ( msg , " GameGuard update server connection is failed. \n Please restart or check private firewall settings. " ) ;
break ;
case NPGMUP_ERROR_AUTH :
sprintf ( msg , " GameGuard update is not completed. \n Please pause anti-virus and restart game. " ) ;
break ;
case NPGAMEMON_ERROR_NPSCAN :
sprintf ( msg , " GameGuard virus-hacking checker loading is failed \n Please check memory lack or virus. " ) ;
break ;
default :
sprintf ( msg , " UnknownErrorCode: %d \n Please send a letter that has *.erl in game folder to Game1@inca.co.kr " , gs_gameGuard . msg ) ;
break ;
}
MessageBox ( NULL , msg , " GameGuard Initiail Error " , MB_OK ) ;
}
void LocaleService_NoticeGameGuardProcError_HongKong ( )
{
char msg [ 256 ] ;
switch ( gs_gameGuard . msg )
{
case NPGAMEMON_COMM_ERROR :
case NPGAMEMON_COMM_CLOSE :
return ;
case NPGAMEMON_INIT_ERROR :
sprintf ( msg , " GameGuardれ늑ㅖ월? : %lu " , gs_gameGuard . arg ) ;
break ;
case NPGAMEMON_SPEEDHACK :
sprintf ( msg , " 탊?speed hack좧 " ) ;
break ;
case NPGAMEMON_GAMEHACK_KILLED :
sprintf ( msg , " 탊?툮으hack좧 " ) ;
break ;
case NPGAMEMON_GAMEHACK_DETECT :
sprintf ( msg , " 탊?툮으hack좧 " ) ;
break ;
case NPGAMEMON_GAMEHACK_DOUBT :
sprintf ( msg , " 툮으⒝GameGuard쨢텝?좧 " ) ;
break ;
}
MessageBox ( NULL , msg , " GameGuard Error " , MB_OK ) ;
}
void LocaleService_NoticeGameGuardProcError_International ( )
{
char msg [ 256 ] ;
switch ( gs_gameGuard . msg )
{
case NPGAMEMON_COMM_ERROR :
case NPGAMEMON_COMM_CLOSE :
break ;
case NPGAMEMON_INIT_ERROR :
wsprintf ( msg , " GameGuard has initial error : %lu " , gs_gameGuard . arg ) ;
break ;
case NPGAMEMON_SPEEDHACK :
wsprintf ( msg , " GameGuard detects SpeedHack " ) ;
break ;
case NPGAMEMON_GAMEHACK_KILLED :
wsprintf ( msg , " GameGuard detects GameHack \r \n %s " , npgl . GetInfo ( ) ) ;
break ;
case NPGAMEMON_GAMEHACK_DETECT :
wsprintf ( msg , " GameGuard detects GameHack \r \n %s " , npgl . GetInfo ( ) ) ;
break ;
case NPGAMEMON_GAMEHACK_DOUBT :
wsprintf ( msg , " Game or Gamguard was modified. " ) ;
break ;
}
MessageBox ( NULL , msg , " GameGuard Error " , MB_OK ) ;
}
void LocaleService_NoticeGameGuardMessasge ( )
{
if ( gs_gameGuard . isInitError )
{
if ( LocaleService_IsHONGKONG ( ) )
LocaleService_NoticeGameGuardInitError_HongKong ( ) ;
else
LocaleService_NoticeGameGuardInitError_International ( ) ;
}
else if ( gs_gameGuard . isProcError )
{
if ( LocaleService_IsHONGKONG ( ) )
LocaleService_NoticeGameGuardProcError_HongKong ( ) ;
else
LocaleService_NoticeGameGuardProcError_International ( ) ;
}
}
# endif /* USE_NPROTECT_GAMEGUARD */