時系列表を作ろう

Gvでどこの砦がレース中なのかわかると便利ですよね。それを実現するのがRacer Totalizerの時系列表です。Gv中にほぼリアルタイムで全砦の落城情報を把握することが出来ます。この時系列表を使ってGvをもっと楽しみましょう!

必要な物。


Racer Totalizer

最新のGvに対応したRacer Totalizerを『idunの人』が公開してくれたらしいです。
ダウンロードするには、The Winter's Tale → Script → Racer Totalizer 最新版。


どこにracerフォルダを置いても問題ないですがわかりやすくDドライブのトップへ。world.batとworld.rbはsampleフォルダに入っているのでracerフォルダへ移動させる。まだこの時点では正常稼働しないが、timetable.batをダブルクリックすることでtimetable.cgiが起動しgvgf.htmlが作成されることになる。gvgf.htmlが時系列表になる。

timetable.cgiの設定。編集はメモ帳でもかまわないが、できれば行番号が表示されるものが好ましい。参考資料としてver1.15のtimetable.cgiをカスタマイズしたものを置いておく。

18行目、自分の鯖名に書き換える。
world = "Freya" # ワールド名(鯖名, Lydia, Ses, Freyaなど)
例↓
world = "Baldur" # ワールド名(鯖名, Lydia, Ses, Freyaなど)

34行目、攻城戦のログが保存されているフォルダに書き換える。
# 攻城戦ログのパス設定
log_dir = "C:/bin/racer/freya/log/" # ディレクトリ
例↓2つの例を挙げたがどちらか1つを指定する。
log_dir = "D:/RagnarokOnline/ろ++/log/" # ディレクトリ
log_dir = "D:/RagnarokOnline/RoCha!!/Log/" # rochaディレクトリ

36行目、攻城戦ログのファイル名を指定する。
log_path = log_dir + file_date.ymd_under + ".txt" # ろ++形式
例↓RoCha!!形式
log_path = log_dir + "log_" + world + "_" + file_date.ymd + ".txt" # RoCha!!形式

45行目、攻城戦ログのファイル形式を指定する。
fortlog = log_read_ropp(log_path) # ろ++形式ログ
例↓RoCha!!形式にする場合はろ++形式ログのコメントアウト処理を忘れずに。
fortlog = log_read_rocha(log_path) # RoCha!!形式ログ

85行目からのHTML出力部分はGv中に必要ではない部分もあるので適時コメントアウトして不要なところは消すのもあり。


timetable.batの設定。ファイルの中身を下記7行のコードに書き換える。コピペ。
@REM 時系列表HTMLファイルを作成します。
@REM このファイルをダブルクリックしてください。
echo WScript.Sleep 10*1000 > sleep_sec.vbs
:loop
ruby timetable.cgi 0 > gvgf.html
cscript //nologo sleep_sec.vbs
GOTO loop


↑何をしているのかといいますと、10×1000ミリ秒=10秒間隔でtimetable.cgiを実行しgvgf.htmlというファイルを出力し続けるという意味です。timetable.batを押すと黒い画面のコマンドプロンプトが起動しますが、その窓を閉じるまでは延々と同じ処理を続けます。Gvが終わったら手動で窓を閉じてください。


world.rbの設定。参考資料としてver1.15のworld.rbをカスタマイズしたものを置いておく。
6行目、攻城戦のログが保存されているフォルダに書き換える。
logdir = "D:/RagnarokOnline/ろ++/log/" # ろ++などのログ場所

logdir = "D:/RagnarokOnline/RoCha!!/Log/" # rochaディレクトリ

7行目、攻城戦ログのファイル形式を指定する。デフォではrochaに設定されている。注意。
logfix = "rocha" # ログ形式; ろ++:ropp, Rocha!:rocha, ...

logfix = "ropp" # ログ形式; ろ++:ropp, Rocha!:rocha, ...

9行目、自分の鯖名に書き換える。
world = "world" # ワールド名(鯖名)

world = "Baldur" # ワールド名(鯖名)

25行目のバグは2007/08/21に再修正ファイルがでましたのでZIPを再DLしてください。world.rbと見比べて再DLが必要か判断。

world.batで実行する前にフォルダを作っておく必要がある。まずワールド名のフォルダ、例えばBaldurフォルダ。その中にlogフォルダとtmpフォルダを作っておく。その他のフォルダは自動的に作られる。上の方の画像にフォルダが写っているので参照。そうしてからworld.batをダブルクリックで実行するとlogフォルダにfortlist_年月日.txtが出来る。fortlistにはGv終了後の城主ギルドが一覧される。このfortlistはtimetable.cgiからも参照される重要なファイルです。


gvglib/log.rbの設定。これはRCXのログを使うときだけ設定を変えます。というのも、rochaが過去の物になりrcxに代替わりしたときにログ形式が少し変わったからです。
2005 01/30 20:02:07 砦 [Chung-Rim Guild 1]を [Guild Name] ギルドが占領しました #rocha
2010 01/31 20:42:41 [GodA ]ssss砦 [Chung-Rim Guild 1] の 仏影 を [Guild Name] ギルドが占領しました #rcx

この変更に伴いgvglib/log.rbの318行目を書き換えます。赤色の部分を追加。
if data =~ /^砦 [(¥w+|¥w+¥-¥w+) (¥w+) (¥d)¥].+?¥[(.+)¥]/ #rocha
if data =~ /^¥[GodA ¥]ssss砦 ¥[(¥w+|¥w+¥-¥w+) (¥w+) (¥d)¥].+?¥[(.+)¥]/ #rcx

Ruby

ダウンロードするには、Ruby公式 → ダウンロード → 各環境用バイナリのcygwin,djgpp,mingw,mswin32 → mswin32/ → ruby-1.8.6-i386-mswin32.zip。ruby-1.9系ではなぜか動かなかったので1.8系推奨。


解凍し上記画像のようにフォルダの階層とフォルダの名称を調節する。全く同じようにしたほうが無難。Cドライブに置く。


Rubyが実行されるように環境変数を手動で入力する。WindowsでのPATHの通し方に書かれているとおりにすればおk。
字が見えにくいので大きく書くと、入力するのは;C:¥Ruby¥binコピペ推奨。


攻城戦ログ取りツール

ログ取りではろ++とRoCha!!(RCX)が有名です。ろ++は公式HPが閉鎖されて数年経ちますが未だに動作しています。公式HPが無いのでとりあえず私が奇跡的に保管していたZIPファイルを置いておきます。中身は当時のままです。ファイルの信頼性が疑わしいとお思いの方はまだ見ぬ別ルートから入手してください。尚消えた公式HPを強引に見たい人はこちら

RoCha!!は現在進行形の数少ない支援ツールです。デフォルトではログを保存しないようになっているので設定を変えます。
RoCha.iniの337行目
AutoLogSave=0を1に変更。

359行目からいっぱい。↓赤い部分を追加。つまりデフォでは年月.txtだけど、これを年月日.txtというふうに日にち分けするってこと。ちなみに年月日.txt設定は推奨ではなく必須の設定です。
;通常チャットログ
ChatLog = log_%ss_%yy%mm%dd.txt

;チャットルームログ
ChatRoomLog = log_%ss_%yy%mm%dd.txt

;ギルドチャットログ
GuildLog = log_%ss_%yy%mm%dd.txt

;パーティーチャットログ
PartyLog = log_%ss_%yy%mm%dd.txt

;ウィスログ
WisLog = log_%ss_%yy%mm%dd.txt

;天の声ログ(攻城戦、GMアナウンス等サーバー共通メッセージ)
GlobalAnnounceLog = log_%ss_%yy%mm%dd.txt

;拡声器ログ(ローカルマップ内のアナウンス、龍之城等)
LocalAnnounceLog = log_%ss_%yy%mm%dd.txt


関係ないけど285行目のCPUSave = 1は神機能。Gv中にROとブラウザをalt+tabで切り替えてると動作がもっさりするが、これをONにすれば切り替えが軽くなる。RO中のRoCha!!ウィンドウの呼び出しは119行目にあるとおりCTRL+1。

ろ++もRoCha!!もインストールするときはtimetable.cgiやworld.rb等との兼ね合いの元に場所を決めて下さい。

さて、ここまで設定が完了すればもう時系列表が作成できます。初めてでGvログファイルがまだ存在しないという人は実験用にろ++RoChaのファイルをどうぞ。あくまでサンプルなので実在する団体とは関係な(ry ファイル名の日付は変更の必要があって、直近の過去の日曜日の日付にしておくこと。fortlistの日付はlogファイルよりも一週間過去の日付に修正。そうしてからtimetable.batをダブルクリックするとgvgf.htmlが作成されます。world.batはGv後にでも起動させればおk。

world.batは設定に失敗してると目にもとまらぬ速さでコマンドプロンプトが終了してしまい何がエラーなのかわからないことがあります。そういう時はwindowsのスタート→プログラム→アクセサリ→コマンドプロンプトから起動し、以下の画像のように手動で入力してみてください。cdってのはディレクトリを移動するって意味です。timetable.batも何かエラーが出るようならこのやり方を試して下さい。





上記以外のログ取りツールを2つご紹介。「RO Supporter」と「ろ。のbanana」です。

RO Supporterのログサンプル↓
GM 20:01:53 砦 [Luina Guild 2]を [サンプルチャンプル] ギルドが占領しました

「ろ。のbanana」は略さずに言えば「ろ。マーケットリサーチングファウンデーション」の価格調査ツールのことです。これもチャットログを取ってくれます。「ろ。」は会員制なので有志巡回員に応募が必要です。
ログのサンプル↓
INFO 20:25:02 砦 [Chung-Rim Guild 5]を [サンプルチャンプル] ギルドが占領しました

これらを使うに当たりtimetable.cgiとworld.rbの設定が必要になります。
timetable.cgi
34行目# 攻城戦ログのパス設定
適当に。

36行目# 攻城戦ログのファイル名を指定する
log_path = log_dir + file_date.ymd + ".log" # RO Supporter形式
20080406.log ←例えばこういうファイル名

log_path = log_dir + "baldurchat" + file_date.ymd + ".txt" # ろ。のbanana形式
baldurchat20080406.txt ←例えばこういうファイル名

45行目# 攻城戦ログのファイル形式を指定する。
fortlog = log_read_ropp(log_path) # ろ++形式ログ
GM, INFO から始まる行は ろ++形式。このままでおk

world.rb
6行目は適当に、7行目は多分"ropp"、9行目は適当に。

ブラウザ

timetable.cgiで出力されたgvgf.htmlはブラウザで見られます。gvgf.htmlを右クリックして「プログラム(アプリケーション)を開く」から適当なブラウザを選択して下さい。開けたらブックマークにでも登録しておきましょう。timetable.cgiを10秒間隔で更新する設定に上の方の説明でしてありますが、ブラウザは15秒間隔で自動更新することにします。


Sleipnirデフォルトでは「すべての自動更新を停止」にチェックが入っていたかと思います。いや、アクティブなんたらだったかな?それに気づかずに15秒を選択しても自動更新は動かなくてハマルので注意。タブを右クリックです。


FTP


FTPソフトなら何でもいいわけじゃなく、数十秒間隔で自動アップロード機能を持っているDT-FTPのようなソフトが必要です。起動にはVB6ランタイムが必要です。ホスト等の設定が我々初心者には難しいですが画像と公式HPを参考に頑張って下さい。上記設定ではD:¥racer¥のgvgf.htmlを10秒間隔でアップロードしていることになります。Set Task TrayボタンとQUITボタンを押し間違えないように注意。

時系列表を公開するということは支援ツールを使ってログ取りをしていると公言することに等しいです。RO公式には支援ツールといえども規約違反ですのでご利用は計画的に。

その他

時系列表とは関係ないツールのご紹介。

SSさん
スクリーンショット撮影時に画面フリーズを起こさずに撮影できる。RCXのタイマーも写ってしまって困ることもある。もし動かない時は設定の「Ro以外はSSを撮らない」をOFFにすると撮影可に。

棒読みちゃん
チャット欄とNPCのセリフを音声で読み上げてくれる。同時にRO_MFを起動していなければならない。RO_MFはRCXとの起動順に注意で、先にRCXでそれ以降にRO_MFの順。エンドレスタワーの読み上げ対策はこれを参照。

ROWebLogin
IEの代わりにアトラクションセンターへ接続し、必要な情報を取得してパッチクライアントを起動する。

ろ++無双

ろ++ってまだあったのかwwwとRO内で化石扱いされて誠に遺憾。この期に及んでなぜこのソフトを使い続けるのか、ろ++の魅力に少し迫ってみましょう。


ろ++はROのタイトルバーに指定した情報を表示させることが出来ます。鯖名など幾つかは表示できなくなっているものもありますが、ベース・ジョブ経験値や位置座標や現在時刻などは表示可能です。ここで一番重要なのは位置座標です。クエストなどで座標が指定されていてもわけがわからないところですがこの表示機能があれば簡単です。


RO画面外にも情報を表示させることが出来ます。何を表示させるかはOptionボタンで個別に管理できます。
青色の左から順に、経験値、何%か、今の敵から幾ら獲得したか、ログインしてからの合計、時給、レベルUPまであと何分。
緑色の左から順に、重量、何%か、今拾ったのの重さ。赤色のはHPSPです。

この他の機能としてはプログラムランチャーやATOK用半角キーで日本語切り替えとかもあります。

ログの整形方法もよろしく

mail