↓追記 2015-07-28 20:45 ffbbtl5_+28-1 優先度修正
Web要求の数を抑えて、低負荷になるようにしました。より短い周期で運用できるようになります。
BPの取得をマイ頁ではなく討伐情報頁から取得するようにしました。
討伐情報頁の解析を一度に行う事によって、討伐済み確認の際に討伐情報頁を再読み込みしないようにしました。
より高報酬になるようにしました。
BP1攻撃対象ボスが複数いる場合、(以前は一覧の最初のものを攻撃していましたが) 英雄の証をより多く取得できそうなものを攻撃するようにしました。ただし、MVP報酬は画面から取得したものを使用しますが、討伐報酬は考慮せず、フィニッシャー報酬は一律2個得られるものとして評価しています。
以下から、どうぞ。
exp5e-ffbbtl5_20150726-1.zip ↓修正版があります
common-file_20150403-1.zip
あれこれ実験室(案内ページ)
怪盗王座ツールあれやこれや (案内ページ)
[余談1:戦国の動作不良]
Google Chrome がバージョン "43.0.2357.134 m" から "44.0.2403.89 m" によって、戦国の動作不良が固定化されてしまいました。
今までの例だと、次回更新で修正されたりするのですが、大方の挙動に問題はないので、望み薄かも知れません。
そこで、なんとか動かすべく怪しげな事をやってみました。
一応、戦国の『合戦/売却/「□全て解除」の連動』、『出陣の「もう一度実行」』、『覇道伝/イベント詳細の内容確認』の動作を確認しました。
怪盗のマイ頁でアバターが表示されないのは、別の問題と思われます。未対応です。
フィルタープログラム(Proxomitron) のインストールや設定は、2012/01/16 の記事を参考にしてみてください。
【注意】コンピュータの「システムプロキシ設定」を変更する必要があります。設定を間違えたり、運用中に Proxomitron がダウンすると、Google Chrome だけではなく、ほぼ全てのプログラムがインターネットに接続できなくなり、対応策をググる事もできなくなります。少なくとも、「システムプロキシ設定」を自力で復旧できる人だけが挑戦してください。
----- ヘッダフィルター1 : ここから -----
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Type: javascript"
Match = "application/javascript"
Replace = "text/javascript"
----- ヘッダフィルター1 : ここまで -----
----- Webフィルター1 : ここから -----
[Patterns]
Name = "sngk - cls-select"
Active = TRUE
URL = "sngk-a.sp.mbga.jp/smart/sngk/min/js/$TYPE(js)"
Limit = 256
Match = "o\(\(b\|\|g\)\.getElementsByClassName\(a\)\)"
Replace = "o(Array.prototype.slice.call((b||g).querySelectorAll("."+a)))"
----- Webフィルター1 : ここまで -----
ヘッダフィルターを使用しているので、Proxomitron のメイン画面で「■Webページ・フィルタ」と「■受信するヘッダ・フィルタ」にチェックを入れる必要があります。
フィルタを追加するには、上記フィルタの「ここから」の後から「ここまで」の前までをクリップボードにコピーしてから、「フィルタの編集/Webページ(W)」(もしくは「ヘッダ(H)」) を開いて、一覧の適当な場所を選択した後、右クリック→「フィルタをクリップボードからインポート(I)」します。
上記ヘッダフィルター1は、ある意味 Proxomitron の(ソフトが古過ぎるという) バグへの対応です。
モバの Webサーバーは javascript の Content-Type として "application/javascript" を設定します。これは現在の仕様上正しいのですが、Proxomitron は古い仕様である "text/javascript" じゃないと javascript と認識しないでフィルタの対象になりません。
この挙動を見つけるのにえらい苦労しました。
上記Webフィルターは、以下の事をしています。
・ getElementsByClassName() の挙動が変なので、代わりに querySelectorAll() を使用する。
・ NodeList の __proto__ を書き換えるという大技が使用されているのですが、直接行うと length が飛んじゃう(?) ので、配列に複写してからその処理を行わせるようにしました。
追記 2015-07-28 20:45 ffbbtl5_+28-1 優先度修正
BP1攻撃対象ボスが複数存在する場合の優先度が間違っているのを修正しました。
exp5e-ffbbtl5_20150728-1.zip
Web要求の数を抑えて、低負荷になるようにしました。より短い周期で運用できるようになります。
BPの取得をマイ頁ではなく討伐情報頁から取得するようにしました。
討伐情報頁の解析を一度に行う事によって、討伐済み確認の際に討伐情報頁を再読み込みしないようにしました。
より高報酬になるようにしました。
BP1攻撃対象ボスが複数いる場合、(以前は一覧の最初のものを攻撃していましたが) 英雄の証をより多く取得できそうなものを攻撃するようにしました。ただし、MVP報酬は画面から取得したものを使用しますが、討伐報酬は考慮せず、フィニッシャー報酬は一律2個得られるものとして評価しています。
以下から、どうぞ。
common-file_20150403-1.zip
あれこれ実験室(案内ページ)
怪盗王座ツールあれやこれや (案内ページ)
[余談1:戦国の動作不良]
Google Chrome がバージョン "43.0.2357.134 m" から "44.0.2403.89 m" によって、戦国の動作不良が固定化されてしまいました。
今までの例だと、次回更新で修正されたりするのですが、大方の挙動に問題はないので、望み薄かも知れません。
そこで、なんとか動かすべく怪しげな事をやってみました。
一応、戦国の『合戦/売却/「□全て解除」の連動』、『出陣の「もう一度実行」』、『覇道伝/イベント詳細の内容確認』の動作を確認しました。
怪盗のマイ頁でアバターが表示されないのは、別の問題と思われます。未対応です。
フィルタープログラム(Proxomitron) のインストールや設定は、2012/01/16 の記事を参考にしてみてください。
【注意】コンピュータの「システムプロキシ設定」を変更する必要があります。設定を間違えたり、運用中に Proxomitron がダウンすると、Google Chrome だけではなく、ほぼ全てのプログラムがインターネットに接続できなくなり、対応策をググる事もできなくなります。少なくとも、「システムプロキシ設定」を自力で復旧できる人だけが挑戦してください。
----- ヘッダフィルター1 : ここから -----
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Content-Type: javascript"
Match = "application/javascript"
Replace = "text/javascript"
----- ヘッダフィルター1 : ここまで -----
----- Webフィルター1 : ここから -----
[Patterns]
Name = "sngk - cls-select"
Active = TRUE
URL = "sngk-a.sp.mbga.jp/smart/sngk/min/js/$TYPE(js)"
Limit = 256
Match = "o\(\(b\|\|g\)\.getElementsByClassName\(a\)\)"
Replace = "o(Array.prototype.slice.call((b||g).querySelectorAll("."+a)))"
----- Webフィルター1 : ここまで -----
ヘッダフィルターを使用しているので、Proxomitron のメイン画面で「■Webページ・フィルタ」と「■受信するヘッダ・フィルタ」にチェックを入れる必要があります。
フィルタを追加するには、上記フィルタの「ここから」の後から「ここまで」の前までをクリップボードにコピーしてから、「フィルタの編集/Webページ(W)」(もしくは「ヘッダ(H)」) を開いて、一覧の適当な場所を選択した後、右クリック→「フィルタをクリップボードからインポート(I)」します。
上記ヘッダフィルター1は、ある意味 Proxomitron の(ソフトが古過ぎるという) バグへの対応です。
モバの Webサーバーは javascript の Content-Type として "application/javascript" を設定します。これは現在の仕様上正しいのですが、Proxomitron は古い仕様である "text/javascript" じゃないと javascript と認識しないでフィルタの対象になりません。
この挙動を見つけるのにえらい苦労しました。
上記Webフィルターは、以下の事をしています。
・ getElementsByClassName() の挙動が変なので、代わりに querySelectorAll() を使用する。
・ NodeList の __proto__ を書き換えるという大技が使用されているのですが、直接行うと length が飛んじゃう(?) ので、配列に複写してからその処理を行わせるようにしました。
追記 2015-07-28 20:45 ffbbtl5_+28-1 優先度修正
BP1攻撃対象ボスが複数存在する場合の優先度が間違っているのを修正しました。
exp5e-ffbbtl5_20150728-1.zip