Skip to content

Instantly share code, notes, and snippets.

@hot-2130
Last active August 16, 2018 13:56
Show Gist options
  • Select an option

  • Save hot-2130/ea274e66f397b46ea46e1096f39b159b to your computer and use it in GitHub Desktop.

Select an option

Save hot-2130/ea274e66f397b46ea46e1096f39b159b to your computer and use it in GitHub Desktop.
ブラウザ三国志 出兵種別デフォルト設定
// ==UserScript==
// @name bro3_default_send_troop
// @namespace bro3_default_send_troop
// @description ブラウザ三国志 出兵種別デフォルト設定 byほっと
// @include https://*.3gokushi.jp/facility/castle_send_troop.php*
// @include http://*.3gokushi.jp/facility/castle_send_troop.php*
// @version 1.1
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
// ==/UserScript==
// version date author
// 1.1 2018/08/16 作成開始
// to do
// to do
// 出兵画面の出兵種別に「デフォルト設定」ボタンが追加される
// 「デフォルト設定」ボタンをクリックした際に設定してある出兵種別をデフォルトとし、
// 出兵画面を開いた時に対象が選択できる状態であれば、デフォルト設定値が選択された状態にする
// ※例えばデフォルト値に「鹵獲」が設定されていても、距離20以内の出兵先であれば、
// 出兵種別「鹵獲」は選択出来ないので、デフォルト値も選択されない
// load jQuery
jQuery.noConflict();
j$ = jQuery;
//----------//
// 変数定義 //
//----------//
// ソフトウェアバージョン
var VERSION = "1.1";
var SERVER_NAME = location.hostname.match(/^(.*)\.3gokushi/)[1];
// 特殊定数
var PROTOCOL = location.protocol;
var HOST = location.hostname; // アクセスURLホスト
var SERVICE = ''; // サービス判定が必要な場合に使用する予約定数
var SVNAME = HOST.substr(0,location.hostname.indexOf(".")) + SERVICE;
var DST_KEY = "DST_" + HOST.substr(0,HOST.indexOf("."));
//----------------//
// メインルーチン //
//----------------//
(function() {
// デフォルト設定
console.log(j$("input[name=radio_move_type]:checked").val());
if ((j$("input[name=radio_move_type]:checked").val()===undefined) || (j$("input[name=radio_move_type]:checked").val()===null)){
var l_id = dst_getValue(DST_KEY +"_default_send_troop", "");
console.log(l_id);
if (l_id!==""){
//idの存在
if(j$('#'+l_id).length){
//idがチェックできるかどうか
if (!j$('#'+l_id).prop('disabled')){
j$('#'+l_id).attr("checked", true);
}
}
}
}
j$("table[class=commonTables] td[class=w250]").append(
"<div><input type='button' value=\"デフォルト設定\" id=dst_btn style='width: 100px; height: 20px;font-size:10px;margin-left: 10px;background : #F7F7F7;'></div>"
);
j$("#dst_btn").on("click", function(){
if ((j$("input[name=radio_move_type]:checked").val()===undefined) || (j$("input[name=radio_move_type]:checked").val()===null)){
            alert("出兵種別が選択されていません");
return ;
} else {
console.log(j$("input[name=radio_move_type]:checked").attr('id'));
dst_setValue(DST_KEY +"_default_send_troop", j$("input[name=radio_move_type]:checked").attr('id'));
}
});
})();
function dst_setValue(name, value) {
value = (typeof value)[0] + value;
localStorage.setItem(name, value);
}
function dst_getValue(name, defaultvalue) {
var value = localStorage.getItem(name);
if (!value) return defaultvalue;
var type = value[0];
value = value.substring(1);
switch (type) {
case 'b':
return value == 'true';
case 'n':
return Number(value);
default:
return value;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment