あろはわーくす Tips

戦国掲示板の戦略進行は決まった時刻に一日一度だけ起きるようになっています。

何時に起きるようにするかという設定はありますが、 一日複数回起きるようにするような設定項目はありません。

これはgameprg.plの以下の個所を改造することで実現できます。

sub GetProgressCount
{
	# ファイルから前回参照日時を取得
	my @ls = &ReadFile('dat/game.cgi');
	# 現在時刻を取得
	my $crt = time();

	# 配列に変換
	if($ls[0] == 0 ){ $ls[0] = $crt; }
	my @lsp = gmtime($ls[0] + (9 * 3600));
	my @crp = gmtime($crt + (9 * 3600));

	# 進行時刻を求める
	$lsp[0] = 0;
	$lsp[1] = 0;
	$lsp[2] = $S_prghour;
	$crp[0] = 0;
	$crp[1] = 0;
	$crp[2] = $S_prghour;

	my $lsb = timegm(@lsp) - (9 * 3600);
	my $crb = timegm(@crp) - (9 * 3600);

	# 差を求める
	my $difsec = $crb - $lsb;
	my $cnt = int($difsec / (24 * 3600)) - 1;

	# 進行時刻前後による修正
	if( $ls[0] < $lsb ){
		$cnt++;
		$start = $lsb;
	}else{
		$start = $lsb + (24 * 3600);
	}
	if( $crb < $crt ){
		$cnt++;
	}

	my @ret = ();

	for($i=0; $i<$cnt; $i++){
		my $bf = $start + ($i * 24 * 3600);
		push @ret, $bf;
	}
	return @ret;
}

強調表示しているように、上記の関数の中に3ヶ所「24」という数字が出てきます。

これを24÷(一日に発生する戦略進行の回数)の値に変更するだけです。

つまりもし一日二回なら「12」に、一日三回なら「8」にすればよいわけです。


©Kats Sakuma, 2001-, All Rights Reserved. バナー