ChatAnalyzer の履歴(No.53)
- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- ChatAnalyzer へ行く。
- 1 (2016-09-04 (日) 15:30:38)
- 2 (2016-09-04 (日) 15:39:57)
- 3 (2016-09-08 (木) 21:03:21)
- 4 (2016-09-10 (土) 12:53:42)
- 5 (2016-09-11 (日) 10:08:04)
- 6 (2016-09-22 (木) 12:12:43)
- 7 (2016-09-22 (木) 19:03:19)
- 8 (2016-09-24 (土) 07:53:21)
- 9 (2016-09-24 (土) 07:53:42)
- 10 (2016-09-24 (土) 07:53:42)
- 11 (2016-09-26 (月) 20:23:56)
- 12 (2016-10-30 (日) 09:28:31)
- 13 (2016-11-03 (木) 18:19:50)
- 14 (2017-05-05 (金) 15:25:06)
- 15 (2017-05-05 (金) 15:25:36)
- 16 (2017-05-05 (金) 15:25:36)
- 17 (2017-08-26 (土) 11:54:30)
- 18 (2017-08-26 (土) 11:54:56)
- 19 (2017-09-15 (金) 21:21:10)
- 20 (2017-09-15 (金) 21:21:10)
- 21 (2018-04-11 (水) 15:59:19)
- 22 (2018-04-11 (水) 15:59:19)
- 23 (2018-05-20 (日) 19:07:43)
- 24 (2018-07-28 (土) 17:05:23)
- 25 (2019-05-21 (火) 22:53:15)
- 26 (2019-06-23 (日) 16:31:49)
- 27 (2019-07-21 (日) 20:48:33)
- 28 (2019-07-22 (月) 21:35:38)
- 29 (2019-07-23 (火) 21:27:38)
- 30 (2019-07-24 (水) 20:47:14)
- 31 (2020-03-22 (日) 09:28:57)
- 32 (2023-07-04 (火) 13:06:11)
- 33 (2023-07-06 (木) 19:48:10)
- 34 (2023-07-06 (木) 19:49:02)
- 35 (2024-04-07 (日) 11:40:09)
- 36 (2024-04-07 (日) 18:06:38)
- 37 (2024-04-07 (日) 18:06:38)
- 38 (2025-04-11 (金) 14:48:42)
- 39 (2025-04-11 (金) 14:51:15)
- 40 (2025-04-11 (金) 14:51:33)
- 41 (2025-04-11 (金) 14:51:34)
- 42 (2025-04-11 (金) 14:52:30)
- 43 (2025-04-11 (金) 14:53:17)
- 44 (2025-04-11 (金) 14:53:17)
- 45 (2025-04-11 (金) 14:55:40)
- 46 (2025-04-11 (金) 14:58:50)
- 47 (2025-04-11 (金) 15:00:37)
- 48 (2025-04-11 (金) 15:03:57)
- 49 (2025-04-11 (金) 15:05:28)
- 50 (2025-04-11 (金) 15:08:20)
- 51 (2025-04-11 (金) 15:20:26)
- 52 (2025-04-11 (金) 15:34:00)
- 53 (2025-04-11 (金) 15:34:00)
- 54 (2025-04-19 (土) 11:57:31)
- 55 (2025-04-19 (土) 12:00:09)
- 56 (2025-04-19 (土) 18:05:55)
- 57 (2025-04-19 (土) 21:29:53)
- 58 (2025-04-19 (土) 21:29:53)
- 59 (2025-04-21 (月) 07:17:59)
- 60 (2025-04-29 (火) 05:47:59)
- 61 (2025-04-29 (火) 05:47:59)
- 62 (2025-04-29 (火) 12:27:44)
- 63 (2025-04-29 (火) 12:42:18)
- 64 (2025-04-29 (火) 12:46:53)
- 65 (2025-04-29 (火) 12:47:14)
- 66 (2025-04-29 (火) 12:47:14)
- 67 (2025-05-06 (火) 19:31:55)
- 68 (2025-05-06 (火) 19:41:10)
- 69 (2025-05-06 (火) 19:47:17)
- 70 (2025-05-06 (火) 19:47:17)
- 71 (2025-05-06 (火) 19:47:42)
- 72 (2025-05-06 (火) 19:48:08)
- 73 (2025-05-06 (火) 19:48:41)
- 74 (2025-05-06 (火) 20:06:58)
- 75 (2025-05-06 (火) 20:08:07)
- 76 (2025-12-23 (火) 11:10:04)
- 77 (2025-12-23 (火) 11:10:04)
- 78 (2025-12-23 (火) 11:10:04)
- 79 (2025-12-23 (火) 11:10:04)
- 80 (2025-12-23 (火) 11:10:04)
このページの目的は?†
RO を「ちょっと便利に遊ぶ」ことができるようにするアプリケーション ChatAnalyzer を提供するものです。
Ragnarok Online では、さまざまな『有志のウェブサイト』があり、それによって便利に遊ぶことができています。
例えば、D-liste という情報サイトでは、無数にあるROのアイテムについて情報が検索できます。
例えば、しばしば行われる『Wizardry的』なイベント:ヒントの文字から罠の名前を推察するようなサイトがあります。
これらのサイトは便利なのですが、1つの難点があります。
ROのクライアント上に表示された様々な文字情報をプレイヤーが読み取り、その結果の文字列をブラウザ経由で当該サイトにキーボード入力する、という『手間』です。
ChatAnalyzerは、その『手間』を面倒くさいと思った友瀬が考えた、サポートプログラムです。
プレイヤーが ROクライアント上で『/savechat』とタイプすることで、それによって作られたチャットテキストから『アプリが必要な情報を読みだして調べる』ことを実現できます。
(そして、RO上で /savechat をショートカット登録しておけば、例えばRO上で「CTRL+0」とするだけでいろんな情報が取り出せるようになるわけです)
なにができるのか†
ROクライアント上で /savechat することで生成されるチャットファイルを解析して、以下のようなことを行えます。
- ゲーム内で獲得したアイテムの名称を取り出し、売却価格・重量などの情報をまとめてリスト的に表示できます。
- さらにそこから、外部サイト(Unitrix)の当該アイテムのページを開くことができます。
- しばしば実施されるWizardry的イベントで、ヒント文字列から罠の名前を導出できます。
- /where によって獲得した地図名を元に、そのマップ上にあるオブジェクトを登録・表示することができます。
- 討伐クエストのキルカウントを確認できます。
ChatAnalyzer は、Windowsアプリケーションです。
ROクライアントからユーザ操作(/savechat)で作成されるテキストファイルの内容を解析することで、機能を実現しています。
つまり「ROクライアント標準機能で作成できる、人間が普通に読めるチャット保存テキストデータ」の内容を確認しているだけであり、下記のような「いわゆる不正」は行っていません。
- ROのプログラムそのものや通信データの解析・改ざんは行っていません。
- 通信の傍受・解析も行っていません。
- キャラクターの自動操作は行っていません。
- キャラを強くしたりZennyやアイテムを増やすような「データの不正改ざん」はしていません。
- チャットテキストを解析しているだけです。通常ユーザがクライアントから取得できない情報は、取得していません。
上記から、ガンホーが問題視している不正ツールには当たらないと主張しますが、最終的に判断するのはガンホーです。
ご利用にあたっては、上記をご理解の上、自己責任で。
参考:ガンホー公式「考え方」
http://ragnarokonline.gungho.jp/support/policy.html
「ラグナロクオンライン」は、お客様ご自身でマウス、キーボードを使ってキャラクターを操作しプレイするように作られていますが、キャラクターを自動で動かし、経験値を稼いだりアイテムやZenyを取得することができる「ツール」が出回っていることを確認しています。これらの不正ツールに対する取り組みについてご案内いたします。
Special Thanks.†
- Roween http://roween.lies.jp
- アイテムの価格・重量情報はこちらから収集していました。
Roween様がクローズされてしまった以降では、公式ツールのアイテム検索から取得できる情報を利用していますが、こちらでは価格情報がないため重量を原則、友瀬が気づいた部分だけ価格を設定する、というような進め方とさせていただいています。
上述の通り、アイテム名と重量については公式ツールのアイテム検索機能を利用させていただいていますが、「一般利用者の環境から、このツール利用者の操作なしで公式ツールのAPIを直接使用することはありません。」
APIを使うのは、利用者が手動で呼び出したときのみです。
よって公式からコメントされているこちらのコメント・見解に対して反していないと主張します:このツールを使うことで、公式サーバに極端に負荷をかける可能性があるとすれば、利用者がリンク操作を連打したときくらいです。
アイテム情報は、友瀬が適時公式サイトを巡回して情報を追加、更新しています。
友瀬1名&秒間2回程度の速度x新規追加されているアイテム数のアクセスだけなので、その意味でも負荷は極小レベルと考えます。
# しかもその更新すら忘れて実施していなかったりするので (^^;
ダウンロード†
- ChatAnalyzer v0.18
- Ver0.18での変更点
- <仕様追加>「討伐確認」機能において、新たに「完了した討伐の実施日時を記録する」機能を追加しました。
- Ver0.176 での変更点
- 「アイテム価格」ウィンドウの右クリックからアクセスする公式ツールのアイテム情報URLの仕様変更に対応しました。
- Ver0.175 での変更点
- 動作環境の変更。.net4.8 に移行しました。
- Roween の閉鎖に伴い、アイテム確認画面から Roweenへのリンクを削除しました
- 友瀬の配布サイトのドメイン変更への対応
- 動作中に基本画面がWindow外に移動してしまった場合に備えて、位置の自動調整をするようにしました。
- いくつかの操作にツールチップ形式のヘルプを追加しました。
- 地図情報表示Window の自動位置調整機能が正しく動いていなかった点を修正しました。
- 地図情報Windowを閉じた際に、罠判定Windowも連動して閉じてしまっていた点を修正しました。
- Ver0.174 での変更点
- アイテムIDが35000を越えるものも対象にしました。
- 地図情報をメモリアルダンジョンでも利用できるようにしました。
- Ver 0.173 での変更点
- 0.172で「死者の福音」を検出できていなかった問題の修正。
今回罠種類が増えたことによる検索ミスです。
- 0.172で「死者の福音」を検出できていなかった問題の修正。
- それ以前の修正
- 新規:討伐カウントの確認機能
- タスクトレイアイコン右クリック時の仕様追加:設定画面表示をサポート。従来のタスクトレイアイコンダブルクリックと同じふるまいです。
- 「僕のドキドキ冒険記IV」の新罠:『宇宙的恐怖』に対応。
- 「討伐カウント」ウィンドウを開いていない状態で/savechatするとエラーになっていた問題を修正。
導入手順†
準備1:ROクライアントの設定
ROクライアント上に、CAnalyzer との連携用のチャットウィンドウを作成する必要があります。
ROクライアントのチャット領域の右上のほうに小さな+アイコンがあります。これを押すと、新しいメッセージウィンドウが生成されます。

新しい窓には好きに名前をつけてかまいません(初期状態では Chat_NewTabxxx.txt のような感じのはず)
さらに、このウィンドウの右上の◎をクリックしてウィンドウ表示情報を開き次のメッセージをOn状態にしてください
- アイテム獲得メッセージ
- 一般メッセージ
- 会話メッセージ
- 装備の装着/解除のメッセージ
- クエストメッセージ

補足
正確には、この「専用ウィンドウ」を作る必要はなく、既存ウィンドウでも構いません。
ただし、友瀬の提供しているホムAI「Glenelg」を使用している場合は、そちらで指定しているチャットウィンドウは使用しないでください。 Glenelgは動作上、このチャットファイルを監視しているため、ChatAnalyzerと互いに干渉してしまいます。
準備2:連携する chatファイルの確認
RO クライアント画面で、/savechat を実施してください。 ファイルエクスプローラーを開いて、チャットファイルのあるフォルダ (人によりますが、Gravity\RO\chat というような場所)を見てください。 そこに、準備1で作成したウィンドウの名前がついたテキストファイルが できていることを確認してください。
例:NewTab_2 というウィンドウを作っていたら、Chat_NewTab_2.txt というファイルがあるはずです。
準備3:CAnalyzeの起動と設定
ダウンロードした zip を解凍し、任意のフォルダにおいてください。
解凍フォルダにある CAnalyze.exe を実行してください(現代のWindowsでは安全でないアプリというような警告がでるかもしれませんが、許可してください。これが不安なら本アプリを利用しないほうが賢明です)
以下のような画面が表示されます。

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

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

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

ここにある内容は実施しなくてもかまいませんが、その場合CAの一部機能が有効に使用できません。
できれば設定することをお勧めします。
個人設定画面
タスクトレイのアイコンをダブルクリックすると、以下のような「初期画面」が表示されます。
ここの「個人設定」タブから設定できる内容です。

- サーバ
- あなたが利用しているサーバを選択・設定してください。
これを行わないと、Unitrix連携がうまく行えません。
- あなたが利用しているサーバを選択・設定してください。
- キャラクター名
- あなたが使用しているキャラクター名を設定してください。
これを行わないと、キャラクターの発言を元に動作する以下列挙する機能が使用できません。- 切り取り線関連:「同じ文字4文字以上」での切り取り線に必要な設定です。
- 地図関連:チャット画面からの「座標登録」および「座標一時登録」に必要な設定です。
- 討伐確認での「発言経由での討伐カウント」
- 登録用のテキストボックスにキャラクター名を入れ、[入力]ボタンを押すことで登録できます。
- リストにあるキャラを選択して[削除]ボタンで、選んだ枠の名前を削除できます。
- [chat]ボタンは、クライアント上での /savechat で取得するテキストからキャラ名を検索・登録する機能です。
次のような手順を踏むことで、直接入力しなくて名前を登録することができます。- 前提:「アイテム確認」や「罠確認」画面を開いていることが必要条件です。
- 手順1:まずROクライアント上で「CA」(半角小文字で2文字)を発言した後、/savechat してください。
- 手順2:上記発言がROクライアント上で表示された後、ChatAnalyzerの[chat]ボタンを押すことで、その内容から解析・登録を試みます。
- 仕組み上、同じ画面内で「CA」と発言したキャラが他にもいた場合、それも登録されてしまいます。
必要に応じて [削除] を利用してください。
- あなたが使用しているキャラクター名を設定してください。
地図情報設定
- 地図情報を使用しない場合は、設定不要です。
- 設定方法は、こちらをご覧ください。
機能説明:アイテム価格†
タスクトレイアイコンを右クリックして「アイテム価格」を選ぶことで、この機能の有効・無効を変更できます。
機能を有効にすると、アイテム価格の管理ウィンドウが開きます。
RO クライアントで /savechat とすると、それによって生成されたチャットテキストファイルに含まれる
『xxxxx 1個 獲得』
というようなメッセージを解析し、アイテムのリストを表示します。

- 「集計」には、表示されている全アイテムをNPC売却したときの価格が表示されます。
- 「選択」には、選択されている「小計」列の合計が表示されます。
- 全ての行の小計列を選択すれば、「集計」と同じ値になります。
- 表示後、「折り畳み」で価格のない行の表示を取りやめます。
- アイテム名をクリックすると、ブラウザを起動して対応する Roween サイトを表示します。
- アイテム「OC10価格」欄をクリックすると、ブラウザを起動して対応する Unitrix サイトを表示します。
- 任意にセルを選択したうえで右クリックで「履歴保存」が行えます。
- 選択された行のチャット履歴を保存する機能です。
exeファイルを入れたフォルダの下に history フォルダを作って保存します。
- 選択された行のチャット履歴を保存する機能です。
アイテム一覧には「/savechat時点でROクライアントが持っている==出力されるログ中のすべてのアイテム」がリスト化されます。そのため、何度か /savechat をすると「すでに一度見た」アイテムが表示されてしまいます。
これを避ける手段として、CAでは「切り取り線」という機能をもっています。これは保存されるチャット出力にある「特定の内容」を元に、それよりも古い部分を捨て・表示しない機能です。
この「特定の内容」の条件は、初期画面上の「切取線」タブで設定できます:ユーザのROクライアント上でのなんらかの操作に対応しています。

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

RO クライアントで /savechat とすると、その時点でROクライアントのテキスト欄に出力されている以下のような「ヒント文字列」を探し・解析して、その状態から予想される罠の名前を右側に表示します(特定できない場合は複数の候補が表示されます)。
モンスターを全滅させた。宝箱が出現した ……[ん]……? ……[のゆ]……?
機能説明:討伐数確認†
タスクトレイアイコンを右クリックして「討伐確認」を選ぶことで、この機能の有効・無効を変更できます。
機能を有効にすると、討伐数確認のウィンドウが開きます。
この機能を使うためには、連携用チャットで「クエストメッセージ」をOnにしてください。
RO クライアントで /savechat とすると、ROクライアントのテキスト欄に出力されている討伐数カウントを検索し、対象ごとに個別の値を表示します。討伐未完了の場合は「背景赤」に、討伐完了していると「済」表示となります。

[リセット]ボタンは、キャラクターを切り替えた際に押してください(キャラごとにクエストの実施状態が異なるので、それをCAに伝える手段です)
Ver0.18からサポートした機能です。
討伐数確認ウィンドウ上で「済」となった討伐が発生したら、その討伐の対象モンスターの名称を討伐した時刻を専用のテキストファイルにします。
後日そのテキストファイルを見ることで、当該の敵を通算何体倒したのかなどの情報収集に使うことを意図しています。
この機能は初期状態ではOffになっています。必要に応じて設定タブで設定してください。

- ■討伐数を記録
- これをチェックすることで、記録機能が動作します。ただしこの設定だけでは理想的な動作はしないと思います:『■記録対象』および『■リスト機能』を併用設定してください。
- ■記録対象
- これの選択状況に応じて、何を記録に残すかを選択します。
- 「全ての討伐」を選んだ場合、討伐数確認ウィンドウで「済」となった討伐がすべて記録対象となります。
- 「単体討伐」を選んだ場合、討伐数確認ウィンドウの「目標列の値が 1」の討伐が対象になります。
1体討伐するだけで完了するクエスト」だけが記録対象となるので、実質的にMDボスなどの討伐回数の記録用です。 - 「登録済対象」を選んだ場合、右側の「■リスト登録」に記載した敵だけが記録対象となります。
- これの選択状況に応じて、何を記録に残すかを選択します。
- ■リスト登録
- 前述の通り「登録済対象」を選択したとき用の設定で、カウントしたい敵の名前を登録できます。
- 上段にあるテキストボックスに敵の名称を入力してから[追加]ボタンを押すと、その下のリストボックスに名前が追加されます。
- リストボックスにある名前をクリック選択した後[削除]ボタンを押すと、それをリストから外すことができます。
以上の設定をした状態では、討伐状況ウィンドウでなんらかのクエストが「済」となったとき(かつそれが設定している条件にマッチすれば)、ログとして残されます。
ログは、ChatAnalyzerアプリのあるディレクトリの下にある「questcount」ディレクトリ内に、その保存されます。
ログファイルの名称は『<討伐対象の敵の名前>.txt』です。
ログはテキスト形式で、討伐が「済」になったタイミングで「その時点での日時情報」を1行追加します。つまり、ファイルをエディタなどで開いて「その総行数」を数えれば、通算での討伐回数がわかることになります。
クエストに対応していない敵のカウント方法(手動でのクエスト消化宣言)
討伐数確認機能では、クエストに対応した討伐しかカウントできません。
ただし、次のフォーマットで発言する(そしてそのあと savechat する)ことで、それを「単体の敵討伐クエスト」として判断、結果記録機能でログを残すことができます。
討伐:<敵名称>
これを実施するには別途『個人設定画面>キャラクター名』で、その発言をするキャラクターの名前を登録しておく必要があります。
これによって指定したものは「手動登録」というクエストがあるかのように解釈されます。
実際に友瀬が『討伐:CUTIE』と発言した場合、このようになっています。

機能説明:地図情報†
こちらを参照してください。→地図情報詳細

