//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ActiveX Info //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var op_AXID = "xActiveX.GameCtrl"; var op_CLSID = 'CLASSID="CLSID:CFE1F580-DC50-41B4-8A92-7C223A1E8737" '; var op_CODEBASE = 'CODEBASE="http://blastshark.xgridcdn.com/blastshark/btz/BattleZonePlus.CAB#version=1,0,0,1" '; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // BlastShark Info //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var op_bshark_targetfilename = "BlastShark.exe"; var op_bshark_downpath = "BlastShark\\BTZPlus"; var op_bshark_updateurl = "http://blastshark.xgridcdn.com/blastshark/btz/BTZ_Fulldown_setup.exe"; var op_bshark_updatetitle = "BTZPlus BlastShark"; var op_bshark_updateversion = "1,0,0,6"; var op_bshark_setupsize = "1071192"; var op_bshark_classname = "BlastShark_Class"; var op_bshark_commandline = "51E40C51C88AAEC827AB7D8455CCC4DBEA43A491"; var op_bshark_setupfilename = "BTZ_Fulldown_setup.exe"; var op_bshark_setupfile_launcher = "IFinst27.exe"; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Default Var //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var op_strAppPath; var op_strAppPathNName; var objAX = null; var objAX_Callback = null; var bUpdateHideInstall = 0; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Game Info //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// var op_launcher_name = "BTZLauncher.exe"; var op_regpath = "Software\\MagicCube\\BattleZone"; var op_regval_installpath = "Path"; //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// try { if (objAX == null) { objAX = new ActiveXObject (op_AXID); objAX_Callback = objAX; } } catch (e) { a = '
'; document.write(a); } //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ function GetObjAX () { if (objAX == null) { try { objAX = new ActiveXObject (op_AXID); objAX_Callback = objAX; } catch (e) { return null; } } if (objAX.IsNeedElevate ()) { // À©µµ¿ì Vista ÀÌ»ó ÀÌ¾î¼ objAX.RunElevate() ½ÇÇà µÇ¾îµµ UAC¸¦ ÁßÁö ÇØµÐ »óÅ¿¡¼´Â ±âÁ¸ÀÇ ÀνºÅϽº¿Í µ¿ÀÏÇÔ // ÇöÀç ¹öÀü¿¡¼´Â Elevate µÈ »óÅÂÀÎÁö¸¦ Ã¼Å©ÇØ¼ ¸®ÅÏ ÇØÁÖ°í ÀÖÀ½ var resultElv = objAX.RunElevate (); if (resultElv) { objAX = resultElv; bUpdateHideInstall = 0; return objAX; } else { // elevation fail alert ("½ÇÇàÁß ¿¹±âÄ¡ ¸øÇÑ ¿À·ù°¡ ¹ß»ý Çß½À´Ï´Ù!\nÀá½Ã ÈÄ ´Ù½Ã ÀÌ¿ë ÇϽðųª °í°´¼¾ÅÍ·Î ¹®ÀÇ ÇØ Áֽñ⠹ٶø´Ï´Ù.\n¹®ÀÇ ³»¿ë ¿¢Æ¼ºê¿¢½º ½ÇÇà ¿À·ù!"); return null; } } else { return objAX; } } //------------------------------------------------------------------------------ // ÀνºÅç È®ÀÎ //------------------------------------------------------------------------------ function xActiveX_InstallCheck() { if (GetObjAX() == null) return false; else return true; } //------------------------------------------------------------------------------ // °ÔÀÓ½ÇÇà // // strCommandLine = ½ÇÇà Àü´ÞÇÒ CommandLine (¿¹: "userid xxxx xxxx") //------------------------------------------------------------------------------ function start_game (strCommandLine) { obj = GetObjAX (); if (obj == null) { //activexPopup(); return; } ///////////////////////////////////////////////////////////// // °ÔÀÓ ÆÄÀÏÀÌ ¼³Ä¡ µÇ¾î ÀÖ´ÂÁö üũ ///////////////////////////////////////////////////////////// // °ÔÀÓ ¼³Ä¡ Æú´õ Á¶È¸ op_strAppPath = obj.GetRegVal_STRING (op_regpath, op_regval_installpath); // ·¹Áö½ºÆ®¸®¿¡ °ªÀÌ ¾ø´Â °æ¿ì (¹Ì¼³Ä¡·Î ÀνÄ) if (!op_strAppPath) { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Ç®´Ù¿î·Îµå ½ÇÇà (BlastShark ¼³Ä¡ üũ --> BlastShark ½ÇÇà --> Install) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if (!checkupdate ()) return; op_strAppPath = obj.GetRegVal_STRING (op_regpath, op_regval_installpath); if (!op_strAppPath) return; } // ½ÇÇàÆÄÀÏ Àüü °æ·Î ¼³Á¤ op_strAppPathNName = op_strAppPath + "\\" + op_launcher_name; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ÇÁ·Î±×·¥ ½ÇÇà (BTZLauncher.exe) // 3¹øÂ° ÀÎÀÚ´Â ½ÇÇàÇÒ ÆÄÀÏÀÇ MD5 (32Bytes) °ªÀÌ ÀÖÀ» °æ¿ì // ÇØ´ç ÆÄÀÏÀÇ º¯Á¶ ¿©ºÎ¸¦ È®ÀÎÇÏ°Ô µÊ // °ø¹éÀ¸·Î È£ÃâÇÒ °æ¿ì ÇØ´ç ±â´É Skip ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// nRtnExec = obj.RunProc (op_launcher_name, op_strAppPathNName, strCommandLine, "", "1"); switch (nRtnExec) { case 10 : // ½ÇÇ༺°ø { return; } case -10 : // ½ÇÇà½ÇÆÐ (½ÇÇà ¸í·É¾î ½ÇÆÐ - ÇÁ·Î¼¼½º Á¸Àç ÇÏÁö ¾Ê¾ÒÀ½) { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-10}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return; } case -20 : // ½ÇÇà½ÇÆÐ (½ÇÇà µÇ¾úÀ¸³ª ÇÁ·Î±×·¥À» ãÀ» ¼ö ¾øÀ½) { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-20}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return; } case -30 : { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-30}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return; } case -40 : // ½ÇÇà ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀº °æ¿ì { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-40}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return; } case -50 : // ÆÄÀÏÀÇ hash°ªÀÌ ´Ù¸¦ °æ¿ì { alert ("ÇÁ·Î±×·¥ÀÌ º¯Á¶ °¡´É¼ºÀÌ ÀÖ¾î ½ÇÇàÀ» Ãë¼ÒÇÏ°í ´Ù¿î·Îµå ÇÁ·Î±×·¥À» »èÁ¦ Çß½À´Ï´Ù! {Code:-50}\n\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é ¹ÙÀÌ·¯½º ¶Ç´Â ¾Ç¼ºÄڵ忡 °¨¿°µÇ¾úÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù\n¾Ë¾à ¶Ç´Â V3 µîÀÇ ¹é½Å ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ üũ¸¦ ±ÇÀåÇÕ´Ï´Ù!"); return; } case -100: // ÇØ´ç ÆÄÀÏÀÌ ÀÌ¹Ì ½ÇÇà ÁßÀÏ °æ¿ì { alert ("°ÔÀÓ ½ÇÇàÁßÀÔ´Ï´Ù!"); return; } } } //------------------------------------------------------------------------------ // checkupdate //------------------------------------------------------------------------------ function checkupdate() { obj = GetObjAX (); if (obj == null) { return false; } // ¾÷µ¥ÀÌÆ® ½Ã ´Ù¿î·Îµå Àü¼Û Dialog ¼û±è/º¸ÀÓ (´Ù¿î·Îµå ¿Ï·á ÈÄ install ÀÛ¾÷ ÁøÇà ½Ã) // 0: º¸ÀÓ // 1: ¼û±è obj.UpdateHideInstall = bUpdateHideInstall; // blastshark download path pTmp_bshark_downpath = obj.GetProgramFilesPath(); pTmp_bshark_downpath += "\\"; pTmp_bshark_downpath += op_bshark_downpath; // blastshark ½ÇÇà üũ if (obj.CheckProcess (op_bshark_targetfilename)) { // °ÔÀÓ ¼³Ä¡ ÆÄÀÏ ½ÇÇà üũ if (obj.CheckProcess (op_bshark_setupfile_launcher)) { alert ("ÇÁ·Î±×·¥À» ¼³Ä¡ ÁßÀÔ´Ï´Ù!"); return false; } // blastshark »óÅ üũ // return: 100=down, 101=pause|finish nRtnObj = obj.SendMsgCopyData (op_bshark_classname, "100", ""); if (nRtnObj == 100) { alert ("ÇÁ·Î±×·¥À» ´Ù¿î·Îµå ÁßÀÔ´Ï´Ù!"); return false; } else if (nRtnObj == 101) { // bshark°¡ ½ÇÇà ÁßÀÌÁö¸¸ ´Ù¿î·Îµå/¼³Ä¡ ÁßÀÌ ¾Æ´Ñ °æ¿ì ÇÁ·Î¼¼½º Á¾·á ÈÄ ½ÇÇà obj.SendMsgCopyData (op_bshark_classname, "300", ""); bStopBshark = false; for (it = 0; it < 10; it++) { // sleep 0.3ÃÊ obj.SleepMillisecond (300); if (!obj.CheckProcess (op_bshark_targetfilename)) { bStopBshark = true; break; } } if (!bStopBshark) return false; } } /* return value 0: ÃֽŹöÀü 10: ¾÷µ¥ÀÌÆ® ¼º°ø -10: ÇÁ·Î¼¼½º ½ÇÇàÁß -20: ¾÷µ¥ÀÌÆ® Ãë¼Ò -30: ¾÷µ¥ÀÌÆ® ÆÄÀÏ ´Ù¿î·Îµå ½ÇÆÐ -40: ¾÷µ¥ÀÌÆ® ÆÄÀÏ ´Ù¿î·Îµå »çÀÌÁî ¿¡·¯ */ nRtn = obj.CheckUpdate(op_bshark_targetfilename, pTmp_bshark_downpath, op_bshark_updateversion, op_bshark_updateurl, op_bshark_updatetitle, op_bshark_setupfilename, op_bshark_setupsize); switch (nRtn) { case -100: // activex popup { return false; } case 0: // ÃֽŹöÀü case 10: // ¾÷µ¥ÀÌÆ® ¼º°ø { ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Ç®´Ù¿î·Îµå ½ÇÇà (blastshark) ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// tmpAppFullpath = pTmp_bshark_downpath + "\\" + op_bshark_targetfilename; nRtnExec = obj.RunProc (op_bshark_targetfilename, tmpAppFullpath, op_bshark_commandline, "", ""); switch (nRtnExec) { case 10 : // ½ÇÇ༺°ø { // Ç®´Ù¿î (blastshark) ½ÇÇàÀº µÇ¾úÀ¸³ª ¼³Ä¡ ÆÄÀÏÀÌ ½ÇÇà ÇÒ ¶§±îÁö ±â´Ù¸®Áö ¾Ê±â ¶§¹®¿¡ false ¸®ÅÏ return false; } case -10 : // ½ÇÇà½ÇÆÐ (½ÇÇà ¸í·É¾î ½ÇÆÐ - ÇÁ·Î¼¼½º Á¸Àç ÇÏÁö ¾Ê¾ÒÀ½) { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-10}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -20 : // ½ÇÇà½ÇÆÐ (½ÇÇà µÇ¾úÀ¸³ª ÇÁ·Î±×·¥À» ãÀ» ¼ö ¾øÀ½) { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-20}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -30 : { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-30}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -40 : // ½ÇÇà ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀº °æ¿ì { alert ("ÇÁ·Î±×·¥À» ½ÇÇàÇÏÁö ¸ø Çß½À´Ï´Ù! {Code:-40}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -50 : // ÆÄÀÏÀÇ hash°ªÀÌ ´Ù¸¦ °æ¿ì { alert ("ÇÁ·Î±×·¥ÀÌ º¯Á¶ °¡´É¼ºÀÌ ÀÖ¾î ½ÇÇàÀ» Ãë¼ÒÇÏ°í ´Ù¿î·Îµå ÇÁ·Î±×·¥À» »èÁ¦ Çß½À´Ï´Ù! {Code:-50}\n\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é ¹ÙÀÌ·¯½º ¶Ç´Â ¾Ç¼ºÄڵ忡 °¨¿°µÇ¾úÀ» °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù\n¾Ë¾à ¶Ç´Â V3 µîÀÇ ¹é½Å ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼ üũ¸¦ ±ÇÀåÇÕ´Ï´Ù!"); return false; } case -100: // ÇØ´ç ÆÄÀÏÀÌ ÀÌ¹Ì ½ÇÇà ÁßÀÏ °æ¿ì { alert ("°ÔÀÓ ½ÇÇàÁßÀÔ´Ï´Ù!"); return false; } } // true¸¦ ¸®ÅÏÇÏ¸é °ÔÀÓ ¼³Ä¡°¡ ½ÇÆÐ/Ãë¼Ò °æ¿ì¿¡ ÇØ´ç ÆÄÀÏÀÌ ¾ø¾î¼ ÁøÇàµÇÁö ¾ÊÀ½. return true; } case -10: // ÇÁ·Î¼¼½º ½ÇÇà Áß { alert ("Àá½Ã ÈÄ ´Ù½Ã ½ÃÀÛÇØ ÁֽʽÿÀ! [dw101]"); return false; } case -20: // ¾÷µ¥ÀÌÆ® ÆÄÀÏ ¼³Ä¡ Ãë¼Ò/½ÇÆÐ { alert ("ÇÁ·Î±×·¥ ¼³Ä¡ Áß Ãë¼Ò ¶Ç´Â ½ÇÆÐ ÇÏ¿´½À´Ï´Ù"); return false; } case -30: // ¾÷µ¥ÀÌÆ® ÆÄÀÏ ´Ù¿î·Îµå ½ÇÆÐ { alert ("ÇÁ·Î±×·¥ ¾÷µ¥ÀÌÆ® Áß ¿À·ù°¡ ¹ß»ý Çß½À´Ï´Ù! {Code:Fail}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -40: // ¾÷µ¥ÀÌÆ® ÆÄÀÏ ´Ù¿î·Îµå ¿Ï·á ÈÄ »çÀÌÁî ¹ÌÀÏÄ¡ { alert ("ÇÁ·Î±×·¥ ¾÷µ¥ÀÌÆ® Áß ¿À·ù°¡ ¹ß»ý Çß½À´Ï´Ù! {Code:Size}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -50: // ¾÷µ¥ÀÌÆ® ÆÄÀÏ ½ÇÇà ½ÇÆÐ { alert ("ÇÁ·Î±×·¥ ¾÷µ¥ÀÌÆ® Áß ¿À·ù°¡ ¹ß»ý Çß½À´Ï´Ù! {Code:Exec}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } case -60: // ¾÷µ¥ÀÌÆ® ÆÄÀÏ ½ÇÇà crash { alert ("ÇÁ·Î±×·¥ ¾÷µ¥ÀÌÆ® Áß ¿À·ù°¡ ¹ß»ý Çß½À´Ï´Ù! {Code:Crash}\n°°Àº ¹®Á¦°¡ Áö¼ÓµÇ¸é °í°´¼¾ÅÍ·Î ¹®ÀÇÇØ ÁֽʽÿÀ!"); return false; } } return false; }