#!/usr/bin/env ruby -Ks =begin = /savechatログ読込(時間自動割当) /savechat で保存されるログから攻城戦ログだけを読み込みます。 ただし時刻が記録されていないので、総落城回数からずらす時間を決定し 時刻を自動的に割り当てて読み込みます。 落城回数:行数 落城間隔:120分(7200秒)を落城回数で割った時間(秒) 攻城戦ログの落城時刻を、落城間隔ずつずらして作成する。 == 入力 === ログファイル、日付を含む(savechat_YYYYMMDD.txt) == 注意 落城回数が200回未満の時は最終落城時間が攻城戦終了時間を越える可能性あり。 攻城戦時間を落城回数で割った余りは、切り捨てる。 (落城回数が多いほど最終落城時間は早くなります) =end require 'gvglib.rb' log_path = ARGV[0] # パスとファイル名 start_time = ARGV[1] # 開始時刻 (HH:MM:SS) end_time = ARGV[2] # 終了時刻 (HH:MM:SS) if ARGV == [] # 引数が何も指定されていない時 print RACER_COMMAND, "#$0 : ログファイル、日付を含む(savechat_YYYYMMDD.txt) : 開始時刻(分、秒は省略可能) : 終了時刻(分、秒は省略可能) : 0 → 開始: #{GVG_TIME_START}, 終了: #{GVG_TIME_END} を設定 \n" exit end if ARGV[0] == nil print "開始時刻と終了時刻を入れてください。時刻は 時:分(20:01, 22:00) で指定します。(分、秒は省略可能)\n" print "0を入力すると開始時刻と終了時刻を自動設定します。\n" exit elsif ARGV[1] == nil or ARGV[1] == '0' start_time = sec2str(str2sec(GVG_TIME['START'][0]) + 60) end_time = GVG_TIME['END'][0] else start_time = ARGV[1] end_time = ARGV[2] end log_file = File.basename(log_path) # ファイル名の取得 if FileTest.exist?(log_path) == false print log_path, " は見つかりませんでした。\n" exit end # [line][0:[時刻] 1:[砦地域] 2:[砦番号] 3:[ギルド名]] (四次元配列) fortlog = [] # 配列の初期化 fortlog = log_read_savechat(log_path, str2sec(start_time), str2sec(end_time)) # 攻城戦ログの読み込み print "-- 攻城戦ログを読み込みました。\n" start_sec = str2sec(start_time) end_sec = str2sec(end_time) fortlog = generate_time(fortlog, start_sec, end_sec) # 攻城戦ログ timefile = "chatpon_" + log_file.sub(/savechat_/, '') # タブコードは""で囲まないといけない log_write_format(timefile, fortlist_init('', 0), fortlog) print "-- テキスト(tab)形式でログを書き込みました。\n" #timefile = "ropp_" + log_file.sub(/savechat_/, '') # タブコードは""で囲まない #log_write_format(timefile, fortlist_init('', 0), fortlog) exit