よくわからないバトルロワイアル大会ログデータ編集プログラム by二次狼 ●お約束 このプログラムによって生じたいかなる問題も作者は保証しません。 ●ファイル一覧 Logsort.exe 実行ファイル readme.txt このファイル logフォルダ 無ければ作ってください brlog.dat 出力ファイルです ●概要 よくわからないバトルロワイアル(以下BR)で大会を開くと、 大会開始から終了までに結構な量のログデータが出力されます。 うかうかしていると古いログが消えていくので 数回にわたって保存し、あとで纏める必要があります。 しかし何度も保存していると重複するデータができてしまう罠。 あとで大会記録を作成するときに面倒です。 前回私が大会を開いたときはシェアウェアの表計算ツールでなんとかしましたが、 試用期間が終わってしまったので自分で作りました。 …まぁ、ログ件数(BR2の場合、misc2.datのLogLimit)を 十分に増やせばこんなソフトいらないんですが重くなるような気がするので。 ●使用方法 まずは大会を開かないことには話が始まりません。 大会が始まったら適度にログデータを保存→適当にリネームしてください。 大会終了後、それらのログデータを logフォルダ にコピーしてLogsortを実行します。 「やるです」をクリックするとlogフォルダの*.datを片っ端から検索して、(サブフォルダは含みません) 重複している行を削除した上で時間順に並べたデータ(brlog.dat)を作成します。 上書き確認なんて親切なものは出てきませんのでご注意を。 あと、念のため元々のログデータはとっておいてください。 ※テストのためログの量をどばっと増やしたらハングしました。  気を取り直してもう一度やったら成功しました。うーむ…。 ●チェックボックス解説 時間逆順ソート  チェック無しなら上から順に。普段と逆です。  チェックありなら下から順に。普段と同じです。 SJISにコンバート  文字コードをSJISにします。  あんまり意味ありません。 ダメージログを纏める  長くなるので後回し。 ●BR2以外を使っている管理人さんへ 私はBR2を使っています。 初代BRを含め、BR2以外の形式は一切触ったことがありません。 なのでこのソフトがうまく働いてくれるかどうか微妙なんですが…。 結局のところ、これは「各行の左端にある数字順にソート&重複削除するソフト」なので そういう形式のデータなら多分大丈夫です。 ●「ダメージログを纏める」について 私的な機能です。おまけです。ご注意を。 BR2を前提に話を進めます。 通常、ログを見ただけでは各人物の攻撃が当たったかどうか、残り体力はどうなのか、 などの情報がわかりません。 そこで、戦闘時のダメージと残り体力をログに保存します。 braction.cgiのにて #Action 攻撃 sub ActAttack の &ResultDamage($target, $student, $j); $ss->{Health} -= $j; を入れ替えて $ss->{Health} -= $j; &ResultDamage($target, $student, $j); にします。 攻撃時と反撃時×2の計3箇所を入れ替えて下さい。 続いて、 #ダメージ表示 sub ResultDamage の初めの方に push @Log, "$Offence,$Defence,,damage,,,$Damage,$stud->{Health}"; を追加します。 こうすると、攻撃したときのログが 1027159499,M14,M08,,damage,,,0,2 1027159499,M14,M08,g11 5 7,c_attack,strike,,, 1027159499,M08,M14,,damage,,,4,4 1027159499,M08,,k06 0 6,broken,,,, 1027159499,M08,M14,k06 1 6,attack,strike,,, こんな感じになります。 このログファイルを、「ダメージログを纏める」にチェックを入れてソートすると、 1027159499,M08,M14,k06 1 6,attack,strike,,4,4, 1027159499,M08,,k06 0 6,broken,,,, 1027159499,M14,M08,g11 5 7,c_attack,strike,,0,2, こうなります。順番逆になってます。 さらにmessage.datにて lmaster,attack,,攻撃しました。ダメージ体力 lmaster,c_attack,,反撃しました。ダメージ体力 とすると、 ○○は☆☆で▲▲を攻撃しました。ダメージ4、▲▲体力4 ○○が持っていた☆☆が壊れました。 ▲▲は□□で○○に反撃しました。ダメージ0、○○体力2 つまりにダメージ、に残り体力を代入するようになります。 あと、戦闘時以外にも体力は変動します。 注射器を使ったときとかその辺ですが、これも同様に に効果、に残り体力を代入しておくとよろしいかと。。 後はこれを応用していろいろやってください。 それなりにやればそれなりに格好よくなると思いますので。 ちなみに、ダメージログの纏め方ですが、 時間と攻め手と受けが一致すれば纏められます。 なのでちょっと甘いです。運が悪いとごちゃごちゃに…。 よく考えたら、わざわざまとめなくても message.datにdamageの欄を作ればいいような気がしないでもない。 ●で。 PCが吹っ飛んで、一緒にソースも吹っ飛びました。 なので、今後更新する可能性は低いです。どうしても更新したいところが出てきたらもう一度最初から作ります。 ●更新履歴 2002/08/04 自分のところの大会でテスト。うまくいったと思われ。 2002/07/20 一応完成。とりあえずテストに成功。 http://light-of-moe.ddo.jp/~nijiro/ nijiro74@hotmail.com