ChatAnalyzer の変更点

お名前:

#author("2018-04-11T17:03:09+09:00","default:Tomose","editor")
#author("2018-04-11T17:04:44+09:00","default:Tomose","editor")
*このページの目的は? [#g67ff664]

RO を「ちょっと便利に遊ぶ」ことができるようにするアプリケーション ''ChatAnalyzer'' を提供するものです。

Ragnarok Online では、さまざまな『有志のウェブサイト』があり、それによって便利に遊ぶことができています。

例えば、Roweenというアイテム情報サイトでは、無数にあるROのアイテムについて情報が検索できます。~
例えば、しばしば行われる『Wizardry的』なイベント:ヒントの文字から罠の名前を推察するようなサイトがあります。

これらのサイトは便利なのですが、1つの難点があります。~
ROのクライアント上に表示された様々な文字情報をプレイヤーが読み取り、その結果の文字列をブラウザ経由で当該サイトにキーボード入力する、という『手間』です。

''ChatAnalyzer''は、その『手間』を面倒くさいと思った友瀬が考えた、サポートプログラムです。
プレイヤーが ROクライアント上で『/savechat』とタイプすることで、それによって作られたチャットテキストから『アプリが必要な情報を読みだして調べる』ことを実現できます。

**なにができるのか [#w05bd31d]
ROクライアント上で /savechat することで生成されるチャットファイルを解析して、以下のようなことを行えます。
-ゲーム内で獲得したアイテムの名称を取り出し、売却価格・重量などの情報をまとめてリスト的に表示できます。~
--さらにそこから、外部サイト(Roween、Unitrix)の当該アイテムのページを開くことができます。
-しばしば実施されるWizardry的イベントで、ヒント文字列から罠の名前を導出できます。
-/where によって獲得した地図名を元に、そのマップ上にあるオブジェクトを登録・表示することができます。

#divregion(アプリの扱いについての主張,h1)

ChatAnalyzer は、Windowsアプリケーションです。~
ROクライアントからユーザ操作(/savechat)で作成されるテキストファイルの内容を解析することで、機能を実現しています。~
つまり「ROクライアント標準機能で作成できる、人間が普通に読めるチャット保存テキストデータ」の内容を確認しているだけであり、下記のような「いわゆる不正」は行っていません。
-ROのプログラムそのものや通信データの解析は行っていません。
--通信の傍受・解析も行っていません。
-キャラクターの自動操作は行っていません。
-キャラを強くしたりZennyやアイテムを増やすような「データの不正改ざん」はしていません。
-チャットテキストを解析しているだけです。通常ユーザがクライアントから取得できない情報は、取得していません。

上記から、ガンホーが問題視している不正ツールには当たらないと主張しますが、最終的に判断するのはガンホーです。~
ご利用にあたっては、上記をご理解の上、自己責任で。

参考:ガンホー公式「考え方」~
http://ragnarokonline.gungho.jp/support/policy.html

>「ラグナロクオンライン」は、お客様ご自身でマウス、キーボードを使ってキャラクターを操作しプレイするように作られていますが、キャラクターを自動で動かし、経験値を稼いだりアイテムやZenyを取得することができる「ツール」が出回っていることを確認しています。これらの不正ツールに対する取り組みについてご案内いたします。




#enddivregion

#contents
----
**Special Thanks. [#aa34b0ad]

Roween http://roween.lies.jp

アイテムの価格・重量情報はこちらから収集いたしました。

**ダウンロード [#o670e97a]

-[[ChatAnalyzer v0.12>http://tomose.dynalias.net/RO/index.php?plugin=attach&pcmd=open&file=ChatAnalyzer_012.zip&refer=ChatAnalyzer]]

**導入手順 [#nd02a900]
#divregion(導入手順(クリックして開く),h2)
''準備1'':ROクライアントの設定
ROクライアント上に、CAnalyzer との連携用のチャットウィンドウを作成する必要があります。
ROクライアントのチャット領域の右上のほうに小さな+アイコンがあります。これを押すと、新しいメッセージウィンドウが生成されます。

&attachref(窓追加.png,nolink,100%,連携用のウィンドウ作成);

新しい窓には好きに名前をつけてかまいません(初期状態では Chat_NewTabxxx.txt のような感じのはず)~
さらに、このウィンドウの右上の◎をクリックしてウィンドウ表示情報を開き、「アイテム獲得メッセージ」をOnにしてください。~
また、後述の『切り取り線』機能を使う場合には必要に応じて「一般メッセージ」「会話メッセージ」「装備の装着/解除のメッセージ」もOnにすることになります。

&attachref(表示指定例.png,nolink,100%,連携用のウィンドウ設定例);

>補足
>正確には、この「専用ウィンドウ」を作る必要はなく、既存ウィンドウでも構いません。
>ただし、友瀬の提供しているホムAI「Glenelg」を使用している場合は、そちらで指定しているチャットウィンドウは使用しないでください。 Glenelgは動作上、このチャットファイルを監視しているため、ChatAnalyzerと互いに干渉してしまいます。

''準備2'':連携する chatファイルの確認

RO クライアント画面で、/savechat を実施してください。 ファイルエクスプローラーを開いて、チャットファイルのあるフォルダ (人によりますが、Gravity\RO\chat というような場所)を見てください。 そこに、準備1で作成したウィンドウの名前がついたテキストファイルが できていることを確認してください。

例:NewTab_2 というウィンドウを作っていたら、Chat_NewTab_2.txt というファイルがあるはずです。

''準備3'':CAnalyzeの起動と設定

ダウンロードした zip を解凍し、任意のフォルダにおいてください。~
解凍フォルダにある CAnalyze.exe を実行してください。~
以下の画面が表示されます。

&attachref(CAna_m.png,nolink,100%,起動時画面);


''準備4'':ChatAnalyzerの監視対象を指定する

「機能設定」タブを開くと、そこに「パス指定」という欄があります。~
[設定]ボタンを押して、準備2で確認したファイルをフルパスで指定してしてください。

&attachref(CAna_m1.png,nolink,100%,機能設定);

以上で準備は完了です。右上の×を押して起動画面を閉じてください。~
ChatAnalyzer はこれでは終了しません:タスクトレイに常駐します。

&attachref(tasktray1.png,nolink,100%,タスクトレイ);

このタスクトレイのアイコンをダブルクリックすると、再度「初期画面」が表示されます。~
タスクトレイのアイコンを右クリックして出るメニューで、監視対象の選択および ChatAnalyzer自体の終了を行えます。

&attachref(tasktray2.png,nolink,100%,右クリックメニュー);


#enddivregion


#divregion(導入設定(Want項目),h2)
ここにある内容は実施しなくてもかまいませんが、その場合CAの一部機能が有効に使用できません。~
できれば設定することをお勧めします。

''個人設定画面''

タスクトレイのアイコンをダブルクリックすると、以下のような「初期画面」が表示されます。~
ここの「個人設定」タブから設定できる内容です。
&attachref(OwnSetting.png,nolink,100%,右クリックメニュー);

-サーバ
--あなたが利用しているサーバを選択・設定してください。~
これを行わないと、Unitrix連携がうまく行えません。
-キャラクター名
--あなたが使用しているキャラクター名を設定してください。~
これを行わないと、キャラクターの発言を元に動作する以下列挙する機能が使用できません。
---切り取り線関連:「同じ文字4文字以上」での切り取り線に必要な設定です。
---地図関連:チャット画面からの「座標登録」および「座標一時登録」に必要な設定です。
--登録用のテキストボックスにキャラクター名を入れ、[入力]ボタンを押すことで登録できます。
---リストにあるキャラを選択して[削除]ボタンで、選んだ枠の名前を削除できます。
--[chat]ボタンは、/savechat で取得するテキストからキャラ名を検索・登録する機能です。~
---「アイテム確認」や「罠確認」画面を開いていることが必要条件です。
---ROクライアント上で「CA」(半角小文字で2文字)を発言した後、/savechat してください。~
その後[chat]ボタンを押すことで、その内容から解析・登録を試みます。
---仕組み上、同じ画面内で「CA」と発言したキャラが他にもいた場合、それも登録されてしまいます。~
必要に応じて [削除] を利用してください。

''地図情報設定''
-地図情報を使用しない場合は、設定不要です。~
--設定方法は、[[こちら>ChaAnalyzer/地図情報#s20c5fb8]]をご覧ください。

#enddivregion



*機能設定:アイテム価格 [#v6ae06d9]
*機能説明:アイテム価格 [#v6ae06d9]

タスクトレイアイコンを右クリックして「アイテム価格」を選ぶことで、この機能の有効・無効を変更できます。~
機能を有効にすると、アイテム価格の管理ウィンドウが開きます。


RO クライアントで /savechat とすると、それによって生成されたチャットテキストファイルに含まれる~
『xxxxx 1個 獲得』~
というようなメッセージを解析し、アイテムのリストを表示します。

&attachref(アイテム価格.png,nolink,100%,アイテム価格);

-「集計」には、表示されている全アイテムをNPC売却したときの価格が表示されます。
-「選択」には、選択されている「小計」列の合計が表示されます。~
--全ての行の小計列を選択すれば、「集計」と同じ値になります。
-表示後、「折り畳み」で価格のない行の表示を取りやめます。
-アイテム名をクリックすると、ブラウザを起動して対応する Roween サイトを表示します。
-アイテム「OC10価格」欄をクリックすると、ブラウザを起動して対応する Unitrix サイトを表示します。
-任意にセルを選択したうえで右クリックで「履歴保存」が行えます。
--選択された行のチャット履歴を保存する機能です。~
exeファイルを入れたフォルダの下に history フォルダを作って保存します。

#divregion(切り取り線設定,h2)
アイテム一覧には「/savechat時点でROクライアントが持っている==出力されるログ中のすべてのアイテム」がリスト化されます。そのため、何度か /savechat をすると「すでに一度見た」アイテムが表示されてしまいます。~
これを避ける手段として、CAでは「切り取り線」という機能をもっています。これは保存されるチャット出力にある「特定の内容」を元に、それよりも古い部分を捨て・表示しない機能です。~
この「特定の内容」の条件は、初期画面上の「切取線」タブで設定できます:ユーザのROクライアント上でのなんらかの操作に対応しています。

&attachref(CutLine2.png,nolink,100%,右クリックメニュー);

以下の通り、いくつかの方法をサポートしています。

-「衣装の装備」
--チャットウィンドウに出力される~
『[衣装]xxxを装備しました』という文字列をトリガーに、それよりも古い行を無視します。~
つまり、ユーザがRO上で「衣装を装備(変更)する」ことで、切り取り線を作ることができます。
--これを利用するためには、ROクライアント側で「装備の装着/解除メッセージ」を対象にする必要があります。
-「チャットで同文字4つ」
--チャットウィンドウに表示される、キャラクターの発言テキストを対象にします。~
具体的には、ROクライアント上で~
''Vice.Chaos : aaaa''~
というように、「同じ文字を4文字以上連続発言」することで、そこを切り取り線にすることができます。
--これを利用するためには、ROクライアント側で「会話メッセージ」を対象にする必要があります。
--さらに、事前設定として「キャラクター名」登録が必要です。
-「対象アイテムの獲得」
--指定した特定アイテムの獲得をトリガーにします。~
例えば「ゼロピー」を指定しておけば、それを「(落として)拾う」「カートや倉庫(に入れて)から出す」といった操作を切り取り線とできるのです。~
---そのメカニズム上、「よく入手する」アイテムを設定するのはお勧めできません。~
「大した価値はないが比較的珍しい」モノを使うのがいいでしょう。~
例えば「タヌキの葉」は落とす敵が限定的かつあまり狩られないので、それを1つだけ持っておくのはいい手だと思います。~
また「初心者用赤ポーション」なども、ベテランキャラにとっては便利かもしれません。
--対象アイテムは、そのまま文字列で指定すること。
-「以前の savechat」
--savechat したときに発生する「C:\Gravity\Ragnarok\Chat\Chat_一般.txt is Saved.」というような行を切り取り線として利用します。
--この設定だけは、他の(上述の)3種類と並列設定することができます。
--これを利用するためには、ROクライアント側で「一般メッセージ」を対象にする必要があります。

#enddivregion

*機能設定:罠判定 [#s1391e0f]
*機能説明:罠判定 [#s1391e0f]

タスクトレイアイコンを右クリックして「罠判定」を選ぶことで、この機能の有効・無効を変更できます。~
機能を有効にすると、罠判定のウィンドウが開きます。
&ref(TrapCheck.png,nolink,100%,連携用のウィンドウ作成);

RO クライアントで /savechat とすると、その時点でROクライアントのテキスト欄に出力されている以下のような「ヒント文字列」を探し・解析して、その状態から予想される罠の名前を右側に表示します(特定できない場合は複数の候補が表示されます)。
 モンスターを全滅させた。宝箱が出現した
 ……[ん]……?
 ……[のゆ]……?


*機能設定:地図情報 [#x61ee5d6]
*機能説明:地図情報 [#x61ee5d6]

こちらを参照してください。→[[地図情報詳細>ChaAnalyzer/地図情報]]