改造したバージョンです。使い方は本家のものとほぼ同じなので、そちらを
参照してください。
*ただし、本ソフトウェアのバグや不具合の報告は、本家ではなくこちらに
お願いします。
ダウンロードWindows 32bitWindows 64bitLinux 32bitLinux 64bitMacOSX 32bitMacOSX 64bitJARのみ(今回のアップデートは追加モジュールがあるためJARのみのアップデートでは起動しません)
※ 2014-09-21 本家0.6.12ベース 一部のプロキシが圧縮したデータを返すのでそれに対応
※ 2014-09-19 本家0.6.12ベース 任務がない時の処理を改善
※ 2014-09-13 本家0.6.12ベース 「戦況」「自軍敵軍パラメータ」ウィンドウを追加(コマンドメニューから開けます)
※ 2014-08-29 本家0.6.12ベース 本家のバージョンアップに追随※ 2014-08-24 本家0.6.11ベース 本家のバージョンアップに追随
※ 2014-08-14 本家0.6.9ベース 連合艦隊戦のデータベース送信に対応
...
※ 2014-04-20 本家0.5.12ベース 初期版
本ソフトウェアは本家の機能に加えて以下の機能を実装しています。
- 艦これ統計データベースへのデータ送信に対応
アクセスキーを設定するだけで送信できます - 戦闘開始前に結果を報告しちゃう機能と羅針盤を回す前に敵艦隊を表示しちゃう機能
大破進撃防止などにお使いください。行先の番号とマップの対応はこちら - 解体・廃棄ログ
あれ?あの装備どこに行った?などの時の原因究明にお使いください。UIは用意していないので "解体・廃棄ログ.csv"を見てください。 - 現在の状況をJSONで出力するWebServer機能
(誰得?)
本家のバージョンアップにはなるべく追随していく予定です。
艦これ統計データベース設定の仕方
その他→設定→通信タブ で送信を有効にし、アクセスキーを入力してください。
敵艦隊データファイル
"config/KCRDB-enemyid.csv"に敵艦隊の情報を記録します。KCRDBの同名のデータファイルを読み込むことも可能です。
"config/KCRDB-enemyid.csv"に敵艦隊の情報を記録します。KCRDBの同名のデータファイルを読み込むことも可能です。
WebServer機能
JSONでゲームの現在の状況一覧データを出力する機能があり、外部アプリ
との連携が可能となっています。
ポート番号 (プロキシサーバのポート番号)+1 (デフォルト 8889番) で稼働しています。
艦種、装備アイテムの種類など半固定データを取得する/master, 一般データ /query と 戦闘時の状況 /battle の3種類のデータを出力します。
ソースコード
https://github.com/nekopanda/logbook
コメント
コメント一覧 (39)
一つだけ希望なのですが、戦況ウィンドウの前回終了時の位置を記憶するようには可能でしょうか?
実装します
>>2
航海日誌拡張版が書いたcsvをKCRDBが読み込めるかどうか分かりません
使いたいファイルがある場合は上書きしちゃってください
それか足りない行を手動で追加するとか
>>3
logs/app.logに何か吐かれていると思います。貼ってもらえます。スタックトレースは4行くらいで十分です(文字数制限で全部は貼り付けられないと思うので)。
postField={api_formation=1, api_recovery_type=0, api_verno=1, api_token=xxxx}
]
java.lang.NullPointerException
at logbook.gui.BattleWindow.printBattle(BattleWindow.java:535) ~[logbook.jar:?]
at logbook.gui.BattleWindow.updateData(BattleWindow.java:611) ~[logbook.jar:?]
at logbook.gui.BattleWindowBase.open(BattleWindowBase.java:80) ~[logbook.jar:?]
at logbook.gui.ApplicationMain$3.widgetSelected(ApplicationMain.java:348) ~[logbook.jar:?]
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source) ~[swt.jar:?]
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source) ~[swt.jar:?]
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source) ~[swt.jar:?]
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source) ~[swt.jar:?]
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) ~[swt.jar:?]
at logbook.gui.ApplicationMain.open(ApplicationMain.java:208) ~[logbook.jar:?]
at logbook.gui.ApplicationMain.main(ApplicationMain.java:189) [logbook.jar:?]
ありがとうございます!
夜戦開始マスとかテストしてませんでした。直します
戦況ウィンドウを開いたまま演習すると戦況ウィンドウが固まりますね。
ログは概ね>>6と同じでした。
一部行番号が違っていたのでその部分だけ貼り付けます。
2014-09-13 15:08:44,665 FATAL l.g.ApplicationMain [main] メインスレッドが異常終了しました
java.lang.NullPointerException
at logbook.gui.BattleWindow.printBattle(BattleWindow.java:551) ~[logbook.jar:?]
>>1
起動時に前回終了時に表示されていたウィンドウは同じ位置に表示するようにしました
>>8-9
報告ありがとうございます!バグ修正しました
一つバグを見つけたのですが、任務を全て終わらせると、任務確認後、母港に戻ろうとしたときに必ずフリーズしてしまうというバグが発生してますよ。
ご確認よろしくお願いします。
logs/app.logには何も吐かれていませんか?
フリーズだと吐かれていないことも考えられますが。
それか任務がないときの /kcsapi/api_get_member/questlist で取得しているJSONを貼ってもらえるとありがたいです。当方任務が残っていてゼロにするのは・・・
何か別の原因じゃないですかね?
戦況ウインドウ実装お疲れ様です。
MVPの表示等ありがたいです。
戦況ウインドウをKCRDBの戦況ウインドウ(横)のような感じで、もう少し縮小版を表示できるようにできませんか?
フリーズはしていませんが確認したらlogs/app.logに以下のように出てました。
2014-09-14 01:44:01,940 INFO l.d.c.GlobalContext [main] 任務が空でした
あればいいかな。 あくまでも素人意見なんでそんな案もあるよ程度に留めていいです。
Nekopandaさん、返答ありがとうございます。
/kcsapi/api_get_member/questlistの場所とJSONファイルは見つからなかったのですが、とりあえず解決方法は分かりました。
遠征報告書などのcsvファイル全てを他の場所に移し、新たなcsvファイルが作られるようにすればフリーズは止まりました。
推測ですが、csvファイルのログの量が多くなり一定水準を超えてしまうことと、任務を全て終わらせてしまうという2つの条件が重なると問題が発生するのかもしれません。
ちなみにlogs/app.log
はこんな感じでした。
2014-09-13 21:xx:xx,959 INFO l.d.c.GlobalContext [main] 任務が空でした
2014-09-13 21:xx:xx,230 INFO l.d.c.GlobalContext [main] 任務が空でした
2014-09-13 22:xx:xx,443 INFO l.d.c.GlobalContext [main] 任務が空でした
1.戦況ウィンドウで砲雷撃戦のみのMVPが表示されますが、航空戦も合算したMVPにしてほしいです。
空母A:砲撃戦100 航空戦300
空母B:砲撃戦100 航空戦0
戦艦A:砲撃戦200
戦艦B:砲撃戦150
のようなダメージでは誰がMVPがわからないので。
2.透明度の設定を戦況・パラメータウィンドウにも反映してほしいです。
縮小版は検討します
>>15
報告ありがとうございます。「任務が空でした」は問題ありません
>>17
ログが問題でしたか。ちょっと原因が分かりません
>>18
航空戦は誰がダメージを与えたのかのデータが送られて来ないのでそれができなくて今のような表示になってます。(もし私の勘違いでしたら教えてください)
透明度の件は了解です。ちょっと見てみます。
戦況ウィンドウを閉じた状態で航海日誌を終了すると、戦況ウィンドウの位置が記憶されません。
>>19
返信ありがとうございます。
そのようになっているとは知りませんでした。
戦闘結果判定ミス: 正解ランク:C 味方[艦:4→4 ゲージ:12/50] 敵[艦:6→3 ゲージ:231/379]判定:B: 正解ランク:C 味方[艦:4→4 ゲージ:12/50] 敵[艦:6→3 ゲージ:231/379]判定:B
Twitter情報ですが、戦闘結果判定式の仮説を発見しました。
https://twitter.com/acple/status/510320134452285440
こちらの計算式で2.5以下がC敗北、0.9以下がD敗北ではないかと予想されていました。
試しにこのブログに報告されていた判定ミスをこの式で計算し直してみると全て正しい結果が得られたので、
おそらくホンモノではないかと思います。
ぐわぁーーーー
ずっと四捨五入で計算しててなんで見つからないんだろうって思ってました
てかなんで切り捨て試さなかったんだorz
今までの苦労はいったい・・・
半分意図してそういう挙動にしていましたがやはり不自然ですよね。修正します
>>22
情報ありがとうございます!切り捨てで計算したらほぼ一致しました。まぁ、一致しなかったのは連合艦隊の極一部と味方艦が2隻以上轟沈している場合のC,D判定なので問題ないでしょう。次のバージョンに反映させます。
だいぶ昔から実装されている機能についてですが、資材チャートのグラフにおいて
縦軸の値と間隔を任意で変更できるようすることは可能でしょうか。
ログの量に関係なく、任務を全て終わらせてしまうとフリーズが発生するようになってしまい困っています。
/kcsapi/api_get_member/questlistのJSONファイルの取得方法を教えていただけないでしょうか?
そうすれば、JSONを貼ることができると思うので。
その他>設定>Development で「JSONを保存する」にチェックすると、JSON保存先に出力されるようになります。
その状態で、任務を開くと <日時>_QUEST_LIST.jsonというファイルが吐かれるのでそれを貼ってください
詳細ありがとうございます。
2014-09-19_003026.875_QUEST_LIST
の中身は
{"api_result":1,"api_result_msg":"成功","api_data":{"api_count":0,"api_page_count":0,"api_disp_page":1,"api_list":null,"api_exec_count":0,"api_exec_type":2357037}}
このようになっていました。
他に必要なファイルなどありますか?
ありがとうございます!
こちらで調査してみます
早い返答、ありがとうございます。
他に必要なことなどあれば協力しますので、どうぞよろしくお願いいたします。
更新しました。ファイルを差し替えておいたので試してもらえますか?
Nekopandaさん、更新ありがとうございます。
一度目は、任務確認後母港に戻ろうとしたときにフリーズしてしまいました。
しかし、二度目は同様にフリーズかと思いきや少し待ったら上手く動いてくれました。
一度目(2014-09-19_181724.700_QUEST_LIST.json)
{"api_result":1,"api_result_msg":"成功","api_data":{"api_count":0,"api_page_count":0,"api_disp_page":1,"api_list":null,"api_exec_count":0,"api_exec_type":2356937}}
二度目(2014-09-19_182518.823_QUEST_LIST.json)
{"api_result":1,"api_result_msg":"成功","api_data":{"api_count":0,"api_page_count":0,"api_disp_page":1,"api_list":null,"api_exec_count":0,"api_exec_type":2357018}}
jsonファイルには大差ないようですが、もう少し様子を見てみようと思います。
2度目、成功。
3度目、フリーズ。
4度目、成功。
5度目、成功。
航海日誌を毎回再起動して上手く動くか試してみたところ、このような結果となりました。
航海日誌を立ち上げ、任務を確認して母港に戻るという【初回】の動作が上手くいけば、その後再度任務を確認してもフリーズすることなく使えます。
まだ少し動作が不安定なようですが、完全フリーズでまったく使えないということがなくなったので一安心しました。
ありがとうございます。
任務確認が原因ではないように思いますが、任務がないとき、かつ、任務画面から母港への遷移でしか発生しないというのは不思議ですね。
航海日誌の再起動後なら任務に関係なく編成画面から母港に移動しても同じように発生するのならまだ分かるような気がしますが、ちょっと原因が分かりません。
フリーズは、
1.何らかの任務がある状態では発生したことがありません。
2.ログイン後、任務を確認して母港に戻るという【初回】の動作が上手くいけば、その後再度任務を確認しても発生する事はない。
3.航海日誌拡張版を使っていないときは、発生しません。
このことから、
1.任務がなくなること。
2.ログイン後、初回の任務確認であること。
3.その他何らかの要素
この3つが重なると発生するようですが、3つ目の要素が自分でも何なのか分かりません。
でも、今回Nekopandaさんが修正版をアップしてくれたお蔭で、フリーズが発生したときは再起動してみることで使えるようになりました。
ありがとうございます。
演習相手が1隻のとき(が条件かはわかりませんが)
戦闘開始前に結果を報告しちゃう機能が機能しないことがあります。
2014-09-23 09:58:17,397 WARN l.d.c.GlobalContext [main] 海戦情報を更新しますに失敗しました
java.lang.ClassCastException: javax.json.JsonValue$1 cannot be cast to javax.json.JsonArray
at org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getJsonArray(JsonObjectBuilderImpl.java:161) ~[javax.json-1.0.jar:1.0]
at logbook.dto.AirBattleDto.<init>(AirBattleDto.java:58) ~[logbook.jar:?]
at logbook.dto.BattleDto.<init>(BattleDto.java:283) ~[logbook.jar:?]
at logbook.data.context.GlobalContext.doBattle(GlobalContext.java:824) [logbook.jar:?]
at logbook.data.context.GlobalContext.updateContext(GlobalContext.java:506) [logbook.jar:?]
at logbook.data.DataProxy$1.run(DataProxy.java:23) [logbook.jar:?]
at org.eclipse.swt.widgets.RunnableLock.run(Unknown Source) [swt.jar:?]
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Unknown Source) [swt.jar:?]
at org.eclipse.swt.widgets.Display.runAsyncMessages(Unknown Source) [swt.jar:?]
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source) [swt.jar:?]
at logbook.gui.ApplicationMain.open(ApplicationMain.java:212) [logbook.jar:?]
at logbook.gui.ApplicationMain.main(ApplicationMain.java:192) [logbook.jar:?]
戦闘開始前に結果を報告しちゃう機能が機能しない件
1.演習のみに発生
2.演習相手が潜水艦のみの場合に発生(他の艦種混じると発生しにくい様です)
3.発生時には潜水艦の隻数は関係無い様です(1隻だろうが6隻全てであろうが)
json機能オンにしてなくてすみません。
ここ最近、気になってたのですが、誰も報告無かった為に気のせいだと思ってたもので…調査して頂けたら幸いです。
すみません、修正はしたのですが、次バージョンの開発に忙しくて対応できませんでした
今日か明日中に修正版公開しますね
明日のアプデに併せての公開でよろしいのでは?
そちらも動作チェック等有るかと思いますし…
最近めっきり涼しくなって来たので、お体お気をつけ下さいませ