日記/2016-09-05
2016-09-05 (月) 22:29:42
雑記:ChatAnalyzer 1st リリース。†
というわけで、表記、リリースしました。
ぶっちゃけると、友瀬の
『ROとブラウザを切り替えて確認するのがめんどくさい』
という思いを解消するためのアプリです。
『このアプリ作った』労力と『今後ブラウザ操作する』労力、どっちが重いかは考えないことにする(笑)
つーか、現状のイベントを考えると、チャールストンパーツ集めるのを優先すべきだったのでは(^^;;
ともあれ。
以下、リリースノート他で書いていないことの当面メモと、先々考えていることをもやもやと。
マニュアル類の補足もいくつかあります:それらは先々、説明ページに充実させるつもり。
[+]→続きを読む。
[-]
最初に†
ダウンロードページにも書きましたが。
Special Thanks to "Roween" です。
このアプリで使用しているアイテムの「売価」および「重量」情報は、Roweenサイトから収集しました。
「友瀬が持っていない」アイテムについては友瀬には検証しようがないので・・・
アイテム情報について†
Analyzer で表示しているアイテムの「NPC売価」「重量」情報。
- アプリローカルでもっています。
- 具体的には、itemdata.dat というファイルとして保存します。
- 上述の通り、Roween から収集した情報ではありますが。
アプリから直接 Roween にアクセスする機能は公開していません。- 実はデバッグ・開発用には積んでありますが、これを公開する気はないです。
- 後述の機能追加は考えています。
- ユーザが任意編集できます。
- トレイアイコンダブルクリックで開くウィンドウの「アイテム管理」タブ内にて。
- 上記にある表的記載内を任意編集して「保存」すればOK。
- もちろん、itemdata.dat を直接編集してもよいです。
CSV形式なので、見ればわかると思います。
- もちろん、itemdata.dat を直接編集してもよいです。
- 「備考」列は、まさにこの任意編集用です。
ユーザごとに自由に使ってください。- ありていに言って、市場取引価格はここに任意編集してもらいたい。
- 新しいアイテム類の追加に備えて、dat 内容だけを更新する機能を搭載しています。
- トレイアイコンダブルクリックで開くウィンドウの「About」タブにて。
ここにある「バージョン確認」ボタンを押すと、「アイテムリスト」および「接尾後リスト」の更新確認を行います。 - この機能での通信先は、友瀬のサーバです。Roween ではありません。
- 別の言い方をすると、この「更新」はあくまで友瀬のメンテ作業です。
たとえ Roweenの情報がアップデートされても、友瀬がメンテをやめたら/しなかったら、更新機能は意味を持ちません。
- 別の言い方をすると、この「更新」はあくまで友瀬のメンテ作業です。
- 基本的には新アイテムの追加作業用の機能ですが、情報バグ補正もできるように、アイテム名・重量・価格の修正も行います。
ただし、上述の「備考欄」はこの更新機能では書き換えないようになっています。
- トレイアイコンダブルクリックで開くウィンドウの「About」タブにて。
チャットファイル確認動作。†
- 現状、「罠確認」「アイテム価格」のどちらかのウィンドウが開いていれば、チャットファイルを監視しています。
- 監視状態は、タスクトレイのアイコンの色で区別できます。
- 「緑」状態では、チャットファイルの監視動作をしています。
「赤」では見ていません。 - 上記の通り、機能の有効・無効==機能に該当するウィンドウの開閉状態で動作特定しています。
「窓は開いているが、ファイル監視しない」動作は現状ありません。
アイテム価格窓動作について†
- チャットにある「アイテム名がある」行ごとに、表示します。
- 「アイテム名」は「xxxxx n個獲得」という行を対象に検索しています。
- チェックボックスの「折りたたみ」をチェックすると、「価格情報が無い」アイテムの行の高さを最小にします。
- 「価格情報がない」結果にはいろんな理由があるので、あえて「行としては登録する」仕様です。
- 端的にいうと、新アイテムが発生した場合には「価格情報なし」です。
これがあるため、価格情報なしでも「一応表示する」ようにしています:表示しないと「忘れる」ため。 - 解析の都合上の「誤検出」もあるので、「おりたたみ」を提供しています。
- 端的にいうと、新アイテムが発生した場合には「価格情報なし」です。
- 最下にある「集計」欄の値は、「小計」列の選択セルの合計です。
- 何も考えず、表の任意セル選択→「CTRL+A」で、そのファイルで表示されている全アイテムの販売額が得られます。
考えている機能追加:「切り取り線」†
- 保存されるチャットログ上「ここよりも古いものは表示しない」というような機能。
- 現状、/savechat で作成されるチャットファイルの内容全体を解析対象にしています。
チャットファイルは結構「古い」情報も表示してしまうので、どこかで「切り捨てる」仕組みが欲しいな、と。- 前述の「集計」機能を有効利用するために必要な仕様です。
- 「切り取り線」にはいろいろ方法を考えています。
1つの案は「切り取り線となるアイテムを指定」する方法です。- 例えば「ゼロピー」を指定すると、「ゼロピー n 個獲得」となっている行よりも古いものは対象外にします。
- 想定として、比較的珍しい(普段狩りで拾わない)アイテムを対象にするということです。
そういうアイテムを1つ所持しておいて、必要に応じてドロップ&拾得する、という感じ。
- 例えば「ゼロピー」を指定すると、「ゼロピー n 個獲得」となっている行よりも古いものは対象外にします。
- ただ、「そういうアイテムを本当に拾ってしまう」とか「当該アイテムを持ち歩く手間」とかの課題があるので、次案のほうが頭よさそう。
- より良い案として、例えば「[衣装]xxx を装備しました」行を切り取り線、という案があります。
- 上記 xxx 部分は「ユーザ指定なし」です。あらゆる衣装の装備操作をトリガーに。
- 「切り取り線」が必要なところで、任意に衣装装備を装備/付替すればいい。
衣装装備ならば重量ゼロ、多くのキャラが何らかの衣装を所持しているでしょうし。
また、普段頻繁には装備変更しないでしょうし。 - 難点は、チャット窓に「装備変更ログ」も対象にしないとならないということ。
チャット窓に表示される情報が減ってしまうことになります。
- 普通の「一般発言欄」を監視対象にして、任意発言をトリガーにする方法もあります。
- ただ、この方法には副作用があるため「できるけど推奨しない」方向性で考えています。
なぜならば:友瀬のホムAI「Glenelg」との動作干渉が起きるため。
- ただ、この方法には副作用があるため「できるけど推奨しない」方向性で考えています。
考えている機能追加:ブラウザ連携†
- 「アプリの表示しているアイテム名」をクリックすると、ブラウザが開いて Roween に繋がる。
- 『ブラウザ起動して Roween窓内にアイテム名入力してクリック』という操作を、『/savechat → アイテム名クリック』に簡略化するということ。
- あくまで「手動」です。
利用者が「ChatAnalyzerの情報だけでは足りない」ときに、当該サイトを見られる、という話。
- 既存アイテムだけなら、ものすごく簡単。
『未知アイテム』対応をするかどうかが課題。- Roweenは、アイテムIDに基づいてWebページを作ってます。
例えば『ID 501 の赤ポーション』は、Roweenサイトの『501.html』になっている。
そして、ChatAnalyzer では『アイテムとIDの紐付け』を知っているので、URLを生成して直接開くことができる。 - 未知アイテムの場合、この『アイテムとIDの紐付け』を Analyzerが知らないのが課題。
HTTP通信で Roween にアイテム名を渡して、適切なページにリダイレクトしてもらわないとならない。
これが結構めんどくさそう。- 論理的には、上記のように簡単なんですが。
ぶっちゃけ、友瀬がそのあたりの http処理を実現するコード記載方法を把握してないのです(笑) - あと、上のほうに書いた『誤検出』の話があります。
アイテムじゃないものを Roween にぶつけるのもあまりうれしくない。
- 論理的には、上記のように簡単なんですが。
- Roweenは、アイテムIDに基づいてWebページを作ってます。
考えたけどボツってる機能†
これもときどきイベントで採用されている
『ローマ数字→座標変換』『ぬふあうえ→12345変換』。
これもアプリの対象にしようかと思いましたが、現状ボツにしています。
- 理由:これらの『ローマ数字』『ぬふあうえ』は、Wizardry式の罠ヒントと異なり、チャット窓に直接出ないから。
- 罠ヒントは /savechat とタイプするだけでよいし、さらに言えばそれをエモ登録することで「CTRL+1」とかでいい。
すごく楽チンになる。 - ローマ字とかの場合、それは『吹き出し』にしかでないので。
このアプリで対応するためには『吹き出し内容をユーザがチャット窓入力』→ /savechatという手順になる。
これはあんまり楽チンじゃない。- 「ブラウザの当該サイトの吹き出しに入力」するのと変わらないわけです。
- RO⇔ブラウザの切換がいらない、というメリットは、一応ありますが。
- 罠ヒントは /savechat とタイプするだけでよいし、さらに言えばそれをエモ登録することで「CTRL+1」とかでいい。
とりあえずはこんな感じかな。
ご意見などがあれば。
Link: 日記/2016-09-10