怪盗王座ツールあれやこれや

怪盗・戦国用のツール群を提供しています。(フィルタ関係以外の)コメントは、内容にかかわらず、最新の記事にお願いします。

FFBバトル5(討伐戦/育成) - 低負荷+高報酬化 (+戦国不良対応)

2015-07-26 20:18:55 | 日記
↓追記 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
コメント (10)

戦国/どっかん33 - 初版(画面仕様変更対応)

2015-07-15 15:08:13 | 日記
↓追記 2015-07-18 19:20 余談2 戦国の動作不良対処法(追証)
↓追記 2015-07-17 23:10 余談1 戦国の動作不良対処法


 提供が遅れてすみません自動化ツール 「ext164:どっかん33」を提供します。

 一応、落ちない程度に動きます。
 おつとめは未検証です。

以下から、どうぞ。
  arekore-ext_270.zip
  common-file_20150403-1.zip
  怪盗王座ツールあれやこれや (案内ページ)


追記 2015-07-17 23:10 余談1 戦国の動作不良対処法
[余談1:戦国の動作不良対処法]
 戦国で、『イベント詳細の内容が見られない』、『どっかんの「特技発動」ボタンが押せない』等の問題の対処方法っぽいものが見つかりましたので一応、お知らせします。
 簡単に言うと、Stable チャンネルを使う事です。

 別件で、Google Chrome のバージョンが確認できなくなったので、一旦アンインストールして通常版をインストールした所、どっかんの「特技発動」ができるようになっていた事に気づきました。
 その後、またアンインストールして、Dev チャンネルをインストールした所動かなくなり、(アンインストールしないで) Stable チャンネルをインストールしましたが、やはり動かない状態でした。
 結局、『Google Chrome をアンインストールした後、Stable チャンネルをインストールし直す』というのがとりあえずの解決方法です。

 なお、試験環境は Windows XP SP3 で、OS も Google Chrome も 32bit版です。

 技術的な問題を言うと、API document.getElementsByClassName() がまともな値を返さないというのが原因です。規定では、この API は NodeList を返します。
 実際に NodeList が返るのですが、要素を一つ含んでいるにもかかわらず、プロパティー length の値が 0 になっています。
 このため、『該当ノード全てに必要な処置(特技発動の場合イベントリスナーの登録) をする』処理が何もしない処理になってしまっていたのです。

 この API の動作不良の問題は戦国でのみ発生し、怪盗では発生しません。不思議です。
 この API の動作不良を拡張機能で対応しようとしましたが、うまく行きませんでした。


追記 2015-07-18 19:20 余談2 戦国の動作不良対処法(追証)
[余談2:戦国の動作不良対処法(追証)]
 イチゴ様のコメント(2015-07-18 03:01) がありましたので、少し追加で調べてみました。
 管理人の環境は最近 Windows 7 に移行しました、ただし現在は実家の方に滞在していてそちらの環境が Windows XP だった訳です。自宅環境への接続は SSH+VNC になるのでちょっとトロくて二の足を踏んでいました。

 結論を言うと、Widows 7 64bit でも Stable では動作し Dev では動作しない、Google Chrome の 32bit/64bit は同様というものでした。
 検証は『戦国の「特技発動」をクリックして小窓が開くかどうか?』で行いました。
 結果は以下の通り。
  Windows 7
    バージョン 45.0.2427.7 m (64-bit)    NG?
    バージョン 43.0.2357.134 m (64-bit)   OK
    バージョン 45.0.2454.7 dev-m (64-bit)  NG
    バージョン 43.0.2357.134 m       OK
    バージョン 45.0.2454.7 dev-m      NG
  Linux(Debian 8.0)
    バージョン 43.0.2357.132 (64-bit)    OK

 Dev 版のインストーラーのダウンロードは『Chromeのダウンロードページのパラメータまとめ』を参考にしました。Stable 版は Win32/Win64 共に通常のダウンロード手順で行いました。
 インストールは、毎回アンインストールした後インストールする手順で行いました。特に Dev 版から Stable 版への移行は(ダウングレードになるせいか) 上書きインストールではインストールが成功したように見えてもバージョンが変わっておらず、うまくいかないようです。
 最初の "45.0.2427.7 m (64-bit)" というのは元から入っていたものですが、どうやってインストールしたのか覚えていません。

 今回、拙作拡張機能「mbga-sjis」の有無についての検証を忘れていましたが、この拡張機能は UA の変更や、タッチエミュレーションとかしているので、動作の挙動を検証する場合には、ON/OFF を切り替えてみる必要があるやも知れません。
コメント (5)

戦国/らんぶる33 - 初版(URL変更対応)

2015-07-01 16:31:22 | 日記
 色々な意味で間が開いてしまいましたが、らんぶるの自動実行ツールを提供します。ext番号が 162 になっているので、ツール検索の際に "1-20,130-180" とか指定するようにしてください。

 今回の修正は、画面仕様変更への対応です。厳密には画面構成の URL 変更への対応です。
 レアボスに悩まされましたが、現状で止まらずにそれなりに動いているようです。

 戦国そのものの各種操作に問題が出る点については、スクリプトがエラーになっている事以外、良くわかっていません。
 どんな問題があるかすら良く理解していません。

以下から、どうぞ。
  arekore-ext_269.zip
  common-file_20150403-1.zip
  怪盗王座ツールあれやこれや (案内ページ)

[余談:PC乗り換え]
 以前使っていた PC は、元々調子が悪かったのですが、極めて悪くなったので、準備していた新しい PC に乗り換えました。Windows 7 です。
 乗り換えた後、移行し忘れていたファイルや設定を取り込もうとしたら・・・古い PC が起動しなくなっていました。HDD を取り出して別の PC に接続すればファイルは取り込めるんだろうけど、思案中です。
 今まで、Windows XP しか使って来なかったものだから、操作や設定の違いに戸惑っています。ただ、新しくてスペックに余裕があるせいか、安定はしていますね。FFB と怪盗と戦国のツールを同時起動しても、CPU ファンが悲鳴を上げる事がなくなりました。
コメント (7)

戦国/どっかん31 - 初版(門番補充システムエラー対応)

2015-05-12 22:44:51 | 日記
↓追記 2015-05-18 22:15 余談3 FLASH のロード成功
↓追記 2015-05-13 19:30 ext_v268 どっかん22 補充不能対策

 前記事で、ともにゅ様に指摘された『門番補充でシステムエラーになる』バグを修正しました。
 確認画面を必ず読み込むようにしたので、Web要求が1回余計に掛ります。

[余談1:怪盗/水平宝]
 怪盗の水平宝の件は未だに解決せずです。
 前記事のコメントに書いたように、不完全で良ければ『最新(過ぎる)ファイル』から ext158 をダウンロードしてください。

以下から、どうぞ。
  arekore-ext_267.zip  ↓修正版があります
  common-file_20150403-1.zip
  怪盗王座ツールあれやこれや (案内ページ)


追記 2015-05-13 19:30 ext_v268 どっかん22 補充不能対策
 門番投入の確認画面で実行リンクが取得できない場合に、例外停止していたのを、"補充不能" を情報表示して復帰するようにしました。他
 プログラムは修正しましたが、状況は未確認です。hiro様、情報ありがとうございました。
  arekore-ext_268.zip

[余談2:FLASH のロードに失敗]
 Google Chrome が 44.0.2391.0 dev-m から 44.0.2398.0 dev-m になってからか、FLASH が読み込めなくなりました。
 他のサイトでも失敗するのでモバ特有の問題ではないようです。Linux 上の Google Chrome (こちらは Stable) では動作しますが、面倒です。


追記 2015-05-18 22:15 余談3 FLASH のロード成功
[余談3:FLASH のロードに失敗が自己解決?]
 Google Chrome で FLASH のロードに失敗するのは、FLASH のバージョンと Windows XP が原因のようでした。

 Google Chrome 44.0.2398.0 dev-m に付属の FLASH のバージョンは 18.0.0.114 です。何故か Adobe でダウンロードできる最新版よりも新しい。著作権は Adobe なのにデジタル署名が Google なのも変。
 この FLASH(pepflashplayer.dll) を Dependency Walker で開いてみると、KERNEL32.DLL の GetFileInformationByHandleEx が赤くなっていました。Vista 以降でないと使えないようです。

 ローカルフォルダに何故か Google Chrome 44.0.2391.0 のフォルダが消されずに残っていたので、44.0.2391.0 に含まれる PepperFlash (バージョン 17.0.0.188) フォルダを 44.0.2398.0 以下にコピーしたら FLASH が表示されるようになりました。

 良かった良かった。というか今どき XP を使っている方が悪いという事なのでしょうかね。
 以前、Linux(Debian) で FLASH が表示できなくなった時も、libc の要求バージョンが上がり過ぎていたのが原因でした。この時も旧バージョンの Google Chrome の FLASH を上書きする事で対処しました。
 どうも互換性のチェックが甘いようですが、Google のチョンボなのでしょうか? Adobe のチョンボでしょうか?
コメント (20)

FFBバトル1+怪盗/携王37 - 修正

2015-04-30 16:27:16 | 日記
[FFBバトル1]
 "解析エラー:バトルFLASH URL の取得に失敗" になるバグを修正しました。

[怪盗/携王37]
 "CP戦開始時刻取得不能" となる場合があるバグを修正しました。
 携王36の場合でも夜間とかに取得不能になる事に気付いていましたが、修正し切れませんでした。
 今回、面倒なので ext 番号は変更していません。携王36用のパーツを上書きする形になります。

以下から、どうぞ。
  exp5e-ffbbtl1_20150430-1.zip
  arekore-ext_266.zip
  common-file_20150403-1.zip
  あれこれ実験室(案内ページ)
  怪盗王座ツールあれやこれや (案内ページ)
コメント (18)