/* abstract : ActiveX, Netscape プラグインを読み込んで実行する Parameters : param_gameID : Game ID param_sessKey : ユーザーのセッションキー param_companyID : チャネリング(0:PlayNc) param_user : その他(ex, ChannelGropuIndex) Return : 0 : 正常実行 1 : 実行失敗 2 : 間違えたstartGameID 3 : 間違えたsessKey 4 : ActiveXがありません。 5 : ActiveXのバージョンが違います。 6 : サポートされないブラウザです。 7 : ランチャが設定されてないです。手動設置が必要です。 8 : ランチャがアップデートされました。手動設置が必要です。 9 : ゲームがありません。 Caution : 呼び出すHTMLに
tagが必ず必要 */ // 基本設定 var INFO_LUPDATE_ADDR = "T5khCFovYgly/5X42TF7GRyMYJDSqZbPTHJWVI7df76TLuHH6N3Ei8domqQiAZTJqKbsqBx6OsCxQaa1TZNAaA=="; // Update Server var INFO_IE_PLUGIN_ID = "ncllm.ncllmCtrl.3"; // ActiveXのProgID var INFO_IE_PLUGIN_CLASS_ID = "CLSID:47D4C076-4BEA-493c-A252-7E1E8E9DB15B"; // ActiveXのClass ID var INFO_FF_PLUGIN_ID = "application/ncsoft-login-launcher-module3-1"; // NPAPI Extensionで作成されたプラグインのMimetype var INFO_LAUNCHER_ID = "ncLauncher"; // アップデートシステムに登録されたランチャーのGame ID var INFO_LAUNCHER_VERSION = "20120419"; // ランチャー手動設定の場合は新しいランチャーバージョンナンバーを入力 // インストールファイル URL var PLUGIN_SETUP_URL = "http://uniupdate.ncsoft.jp/ncplugin_20121227.exe"; var PLAYNC_LAUNCHER_SETUP_URL = "http://uniupdate.ncsoft.jp/nclauncher4ncj_FULL_20131209.exe"; var PLAYNC_LAUNCHER_FULL_SETUP_URL = "http://uniupdate.ncsoft.jp/nclauncher4ncj_FULL_20131209.exe"; // ランチャー制御 var USE_ADMIN_MODE = false; var USE_CRASH_REPORT = false; // チャネルリングコード var PLAYNC_ID = 0; var param_gameID = ""; var param_sessKey = ""; var param_companyID = ""; var param_user = ""; // ブラウザー情報 //var isIE = (navigator.userAgent.indexOf('MSIE') != -1); var isIE = !!navigator.userAgent.toLowerCase().match( /msie|trident/); var isFF = (navigator.userAgent.indexOf('Firefox') != -1); var isChrome = (navigator.userAgent.indexOf('Chrome') != -1); var isSafari = (navigator.userAgent.indexOf('Safari') != -1); var isOpera = (navigator.userAgent.indexOf('Opera') != -1); // JS エラーコード var SUCCESS_RUN = 0; var FAIL_RUN = 1; var WRONG_STARTGAMEID = 2; var WRONG_SESSKEY = 3; var NOT_EXIST_ACTIVEX = 4; var WRONG_VERSION = 5; var NOT_SUPPORT_BROWSER = 6; var NOT_INSTALLED_LAUNCHER = 7; var UPDATED_LAUNCHER = 8; var NOT_INSTALLED_GAME = 9; function GetSetupURL(companyId) { var setupURL = ""; switch(companyId) { case PLAYNC_ID : setupURL = PLAYNC_LAUNCHER_SETUP_URL; break; default: break; } return setupURL; } function GetFullSetupURL(companyId) { var fullSetupURL = ""; switch(companyId) { case PLAYNC_ID : fullSetupURL = PLAYNC_LAUNCHER_FULL_SETUP_URL; break; default: break; } return fullSetupURL; } // プラグイン内部エラーメッセージ function ErrorMessage(error) { switch(error) { case 1: // NCLLM_ERROR_INTERNAL { alert("Internal error"); break; } case 2: // NCLLM_ERROR_CANNOT_READ_REGISTRY { alert("cannot read registry"); break; } case 3: // NCLLM_ERROR_INVALID_PATH { alert("invalid launcher path"); break; } case 4: // NCLLM_ERROR_FILE_NOT_FOUND { alert("launcher is not found"); break; } case 5: // NCLLM_ERROR_CANNOT_ACCESS { alert("cannot access launcher"); break; } case 6: // NCLLM_ERROR_CANNOT_EXCUTE { alert("cannot execute launcher"); break; } case 7: // NCLLM_ERROR_INVALID_PARAM { alert("invalid parameter while executing launcher"); break; } case 8: // NCLLM_ERROR_INVALID_VERSION { alert("NCLLM_ERROR_INVALID_VERSION"); break; } case 9: // NCLLM_ERROR_GET_PCINFO { alert("NCLLM_ERROR_GET_PCINFO"); break; } case 10: // NCLLM_ERROR_GET_PCINFO_EXCEPTION { alert("NCLLM_ERROR_GET_PCINFO_EXCEPTION"); break; } case 11: // NCLLM_ERROR_GET_PCINFO_LANCARD { alert("NCLLM_ERROR_GET_PCINFO_LANCARD"); break; } case 12: // NCLLM_ERROR_GET_PCINFO_HDD { alert("NCLLM_ERROR_RSA_ENCRYPTION"); break; } case 13: // NCLLM_ERROR_RSA_ENCRYPTION { alert("NCLLM_ERROR_RSA_ENCRYPTION"); break; } case 14: // NCLLM_ERROR_MAKE_HEX_STRING { alert("NCLLM_ERROR_MAKE_HEX_STRING"); break; } case 15: // NCLLM_ERROR_NP_INVALID_ARG_COUNT { alert("NCLLM_ERROR_NP_INVALID_ARG_COUNT"); break; } case 16: // NCLLM_ERROR_NP_INVALID_ARG_TYPE { alert("NCLLM_ERROR_NP_INVALID_ARG_TYPE"); break; } default: { alert("plugin execute error : " + error); break; } } } function Get_Cookie(strName) { var strCookieName = strName + "="; var objCookie = document.cookie; if (objCookie.length > 0) { var nBegin = objCookie.indexOf(strCookieName); if (nBegin < 0) { return null; } nBegin += strCookieName.length; var nEnd = objCookie.indexOf(";", nBegin); if (nEnd == -1) { nEnd = objCookie.length; } } return unescape(objCookie.substring(nBegin, nEnd)); } // プラグインインストールチェック function IsPluginInstalled() { if (isIE) { var isInstalled = IsPluginInstalledIE(); if (isInstalled != SUCCESS_RUN) { return isInstalled; } return LoadPlugin (); // 2013.12.04. for npapi activation check, load plugin in advance. } else if (isFF || isChrome || isSafari || isOpera) { navigator.plugins.refresh(false); var isInstalled = IsPluginInstalledFF(); if (isInstalled != SUCCESS_RUN) { return isInstalled; } return LoadPlugin(); // 2013.12.04. for npapi activation check, load plugin in advance. } else { return NOT_SUPPORT_BROWSER; } } function IsPluginInstalledIE() { var result = FAIL_RUN; try { result = NOT_EXIST_ACTIVEX; var obj = new ActiveXObject(INFO_IE_PLUGIN_ID); if (obj == null) { return result; } else { return SUCCESS_RUN; } } catch(e) { return result; } return result; } function IsPluginInstalledFF() { for (var i=0;i