- 追加された行はこの色です。
- 削除された行はこの色です。
- 罪罰/情報収集 へ行く。
[[罪罰改造]]
*概要 [#o814da46]
他国の情報を収集して各国会議室ログに書き込みます
*./inc/ore_sub-mission.cgi [#xd0e8adb]
**sub mission_menu にメニュー項目を追加 [#e1bf9382]
my @gu = ('やめる','諜報','強奪','洗脳','偵察');
**sub mission_exe に偵察処理を追加 [#c3404b25]
}elsif($cmd==4){ # @guのメニュー番号に合わせる
$log .= qq|偵察を行います|;
&misson_menu2;
$tm=61;
}
-&write_dataの上に追加
}elsif($tm==61){
&gun_tm61;
}
&write_data;
}
**偵察処理 [#p800ec47]
#-------------------------------------------------------------------------------
# 収集
sub gun_tm61 {
if($cmd<1 || $cmd>5){
$log .= qq|情報収集を中止しました<br>|;
}elsif(rand(100)<30){
$log .= qq|情報の収集に失敗しました<br>|;
}elsif($cmd){
my @cdat_title = ('国力','資金','兵糧','兵士');
my @cdat_data = (
[],
[ $cn1, $cg1, $cf1, $cs1, $ct1 ],
[ $cn2, $cg2, $cf2, $cs2, $ct2 ],
[ $cn3, $cg3, $cf3, $cs3, $ct3 ],
[ $cn4, $cg4, $cf4, $cs4, $ct4 ],
[ $cn5, $cg5, $cf5, $cs5, $ct5 ],
);
$com = $cmp[$cmd];
foreach(0..$#cdat_title){
my $gosa = int(rand(20))-10;
$com .= qq|/$cdat_title[$_]:|.int($cdat_data[$cmd][$_]/100*(100+$gosa));
}
$log .= qq|$cmp[$cmd]の情報を収集しました<br><br>$com|;
®ist_bbs;
}
# 偵察
$scout[$camp]+=int(rand(10)+5) if($scout[$camp]<rand(80));
$sct_cnt++;
$rank_exe+=int(rand(2)+1);
$pr += $GMT;
$type='';
$tm=$cmd=0;
&call_main_st;
}
**ログ書き込み処理 [#xd5b934a]
書き込み内容を$comにセットして、regist_bbsを呼び出します
#-------------------------------------------------------------------------------
# ログ書き込み処理
#
sub regist_bbs {
my $logfile = './logdata/camp_log_';
my $lockkey = 0;
my $lockfile = "./camp.lock";
my $max = 15;
# ファイルロック
if ($lockkey) { &lock; }
# ログを読み込み
open(IN,"$logfile$camp\.cgi") || &error("Open Error : $logfile$camp\.cgi");
@lines = <IN>;
close(IN);
# 最大記事数処理
while ($max <= @lines) { pop(@lines); }
# ログ更新処理
if($sogo_txt ne ''){
unshift (@lines,"$date<>$nm<>$camp<>$com<>$sogo_txt<>$addr<>$host<>$agent<>\n");
}else{
unshift (@lines,"$date<>$nm<>$camp<>$com<>$sogo<>$addr<>$host<>$agent<>\n");
}
open(OUT,">$logfile$camp\.cgi") || &error("Write Error : $logfile$camp\.cgi");
print OUT @lines;
close(OUT);
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
}