[[罪罰改造]]
同一国への戦争をカウント、制限するまたはペナルティを与える
*戦争カウント [#a537354e]
**変数を用意する ./inc/ore_sub-system.cgiへ変数を追加[#dafa7f98]
罪罰/変数の追加を参考にキャラ変数を追加
-最後に戦争を行った相手国
--war_cr
-同一国への連続戦争回数
--war_cnt
**カウントアップ ./inc/ore_sub-wartime.cgi [#v19ddef7]
if(!$ck){
$log .="$date $cmp[$nation] に進入しました<br>\n";
$tm=0;
#-----------------------------------------------------ここから
if ($war_cr == $nation){
# 前回と同一国
$war_cnt++;
}else{
# 同一国で無いならカウントを初期化
$war_cnt = 1;
$war_cr = $nation; # ←抜けていたので追加
}
#-----------------------------------------------------ここまで
**ステータス表示 [#red71b9c]
画面に表示するなら、./inc/ore_sub-base_p1.cgiとかに記述する
**最後に同一国への戦争回数制限を作って完成 ./inc/ore_sub-war.cgi[#w1d32f34]
-戦争コマンドと$war_cntで条件分岐させれば
}elsif($sogo==4){
$log .= "まずは借金を返済して$sogo_p[$sogo] の烙印を消してください。<br>\n";
$tm = $cmd = 0;
$type='';
&call_main_st;
#---------------------------------------------------ここから
}elsif($war_cr==$cmd && $war_cnt>=3){
$log .= "同一国へは連続3回は侵攻できません<br>\n";
$tm=$cmd=0;
$type='';
&call_main_st;
#---------------------------------------------------ここまで
}else{
**交戦中の場合、回数制限を無効化 [#hb2b19a1]
-罪罰外交が必要です。
-以下の改造は罪罰/同一国への戦争には不要です。必要な方のみ利用してください
-上で追加した回数制限に手を加えます。
}elsif($war_cr==$cmd && $war_cnt>=3){
↓
}elsif($war_cr==$cmd && $war_cnt>=3
&& ((($camp<$cmd) ? $cfs[$camp.$cmd] : $cfs[$cmd.$camp])!=2)
){