#-----------------------------------------------------------# # 罪と罰++ 二律背反 # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # BLANK BOARD [ http://pom.to/ ] # #-----------------------------------------------------------# # 内政 Version 1.0 #--- [注意事項] --------------------------------------------# # 1.このスクリプトは以下の利用規程に従って配布しています。 # # http://www24.big.or.jp/~obo/game/ore_/gild/ # #-----------------------------------------------------------# #------------------------------------------------------------------------------- # 内政メニュー sub politics{ if(!$type){ if($camp<1){ $log .= "放浪の身では内政は行えない
\n"; $tm = $cmd = 0; &call_main_st; }else{ $log .= "内政を行います。実行するものを選んで下さい
\n"; $tm=0; $type='内政'; &politics_menu; &dat_write; } } } sub politics_menu{ # 内政コマンド my @hm = ('やめる','農業','商業','徴兵','兵を訓練する'); $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|
\n|; $log2 .=qq|$td_end
\n|; } #------------------------------------------------------------------------------- # 内政処理 sub politics_exe{ if(!$tm){ if($cmd<=0){ $log .= "あとで行うことにした。
\n"; $tm = $cmd = 0; $type=''; &call_main_st; # 農業 }elsif($cmd==1){ # 行動カウントのリセット(無条件) $act_cnt=0; $log .= "農業を行います。結果は$GMW時間後。
\n"; $v=int(((rand(10)+1)*100)*$lr); $v=9999 if($v>9999); $tm=25; $rank_exe++; $pr=$GMT; if($camp==1){ $cf1 += $v; }elsif($camp==2){ $cf2 += $v; }elsif($camp==3){ $cf3 += $v; }elsif($camp==4){ $cf4 += $v; }elsif($camp==5){ $cf5 += $v; } $mes = "$v の兵糧を得た"; $tm=50; # 商業 }elsif($cmd==2){ # 行動カウントのリセット(無条件) $act_cnt=0; $log .= "商業を行います。結果は$GMW時間後。
\n"; $v=int(((rand(10)+1)*15)*$lr);#最初は$v=int(((rand(10)+1)*10)*$lr); $v=999 if($v>999); $tm=25; $rank_exe++; $pr=$GMT; if($camp==1){ $cg1 += $v; }elsif($camp==2){ $cg2 += $v; }elsif($camp==3){ $cg3 += $v; }elsif($camp==4){ $cg4 += $v; }elsif($camp==5){ $cg5 += $v; } $mes = "$v G 国家予\算が増えた"; $tm=50; # 徴兵-1 }elsif($cmd==3){ $log .= "徴兵を実行しますか?兵 1 人につき 1 G必要です
\n"; $tm=15; $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|
\n|; $log2 .=qq|$td_end
\n|; # 兵を訓練する }elsif($cmd==4){ if($my_cs<1){ $log .= "兵がいません
\n"; $tm = $cmd = 0; &politics_menu; }elsif($sol_lv>99){ $log .= "訓練度はこれ以上あがりません
\n"; $tm = $cmd = 0; &politics_menu; }else{ # 行動カウントのリセット(限界時のみ) $act_cnt=0 if($act_cnt>$act_cnt_limit); $log .= "兵の訓練を行ないます
\n"; $pr=int($GMT/2); $x = int($lr/2); if($x<1){ $x=1; } $v = int((rand(20))+$x); $sol_lv += $v; if($sol_lv>100){ $sol_lv=100; } $mes = "訓練度が $v 上昇した"; $tm=50; } } # 徴兵-2 }elsif($tm==15){ $z=$g_p[$rank]-$sol; if($cmd<=0){ $log .= "あとで行うことにした。
\n"; $tm = $cmd = 0; &politics_menu; }elsif($cmd==1){ # 行動カウントのリセット(無条件) $act_cnt=0; $log .= "最大千人規模の徴兵を実行します。結果は$GMW時間後に
\n"; $S = int(((rand(50))+100)*$lr); $S = 1000 if($S>1000); $rank_exe++; if($S<$gold){ $gold-=$S; }elsif($gold<$S){ $S=$gold; $gold=0; } if($camp==1){ $cs1+=$S; }elsif($camp==2){ $cs2+=$S; }elsif($camp==3){ $cs3+=$S; }elsif($camp==4){ $cs4+=$S; }elsif($camp==5){ $cs5+=$S; } $mes = "$S 人の兵が集まった"; $pr=$GMT; $tm=50; }elsif($cmd==2){ # 行動カウントのリセット(無条件) $act_cnt=0; $log .= "最大五千人規模の徴兵を実行します。結果は$GMW時間後に
\n"; $S = int(((rand(50))+100)*$lr); $S = 5000 if($S>5000); $rank_exe+=int(rand(2)+1); if($S<$gold){ $gold-=$S; }elsif($gold<$S){ $S=$gold; $gold=0; } if($camp==1){ $cs1+=$S; }elsif($camp==2){ $cs2+=$S; }elsif($camp==3){ $cs3+=$S; }elsif($camp==4){ $cs4+=$S; }elsif($camp==5){ $cs5+=$S; } $mes = "$S 人の兵が集まった"; $pr=$GMT; $tm=50; }elsif($cmd==3){ # 行動カウントのリセット(無条件) $act_cnt=0; $log .= "最大一万人規模の徴兵を実行します。結果は$GMW時間後に
\n"; $S = int(((rand(50))+100)*$lr); $S = 10000 if($S>10000); $rank_exe+=int(rand(3)+1); if($S<$gold){ $gold-=$S; }elsif($gold<$S){ $S=$gold; $gold=0; } if($camp==1){ $cs1+=$S; }elsif($camp==2){ $cs2+=$S; }elsif($camp==3){ $cs3+=$S; }elsif($camp==4){ $cs4+=$S; }elsif($camp==5){ $cs5+=$S; } $mes = "$S 人の兵が集まった"; $pr=$GMT; $tm=50; } } # 内政の終了(功労金授与) elsif($tm==50){ if($rank > 7 && $sogo!=3 && $sogo!=4){#烙印は無効化 $gold += $v = $rank * 200; $log .= "今までの功績が認められ国より $v Gの功労金をもらった。
\n"; } $tm = $cmd = 0; $type=""; &call_main_st; } # 内政の終了(功労金なし) elsif($tm==55){ $tm = $cmd = 0; $type=""; &call_main_st; } &write_data; } 1;