#-----------------------------------------------------------# # 罪と罰++ 二律背反 # # 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.2 #--- [注意事項] --------------------------------------------# # 1.このスクリプトは以下の利用規程に従って配布しています。 # # http://www24.big.or.jp/~obo/game/ore_/gild/ # #-----------------------------------------------------------# #------------------------------------------------------------------------------- # 仕官メニュー sub changes{ if(!$type){ &usrdata_read; &usrdata_open; require './inc/ore_sub-members-p1.cgi';&member_list; $log .= "参加者集計を更新します。
\n"; $log .= "全参加者:$all_mem
$cmp[0]:$c0
$cmp[1]:$c1/$c1a
$cmp[2]:$c2/$c2a
$cmp[3]:$c3/$c3a
$cmp[4]:$c4/$c4a
$cmp[5]:$c5/$c5a
\n" if($mv_mode eq 'pc'); $tm=0; $type='仕官'; &changes_menu1; } &dat_write; } sub changes_menu1{ $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|$td_end
\n|; } sub changes_menu2{ $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|
\n|; $log2 .=qq|$td_end
\n|; } #------------------------------------------------------------------------------- # 仕官処理 sub changes_exe{ if($cmd == 13) { $tm = 0; } if(!$tm){ $log .= "現在の所属から新たな所属へ
\n"; $tm=1; $type='仕官'; &changes_menu2; }elsif($tm==1){ if($cmd<=-1 || $cmd>$#cmp){ if($cmd==10 && $camp>=1 && $camp<=5){ # 支持 if($cshu[$camp] eq ""){ $log .= qq|代表\者がいません
|; }elsif($ushu eq "$cgen[$camp]*$camp"){ $log .= qq|同一代表\には1度だけ支持・不支持を表\明できます($ushu/$cgen[$camp]*10+$camp)
|; }else{ $ushu = "$cgen[$camp]*$camp"; $cshu_rank[$camp]++; $log .= qq|支持を表\明しました
|; } }elsif($cmd==11 && $camp>=1 && $camp<=5){ if($ushu eq "$cgen[$camp]*$camp"){ $log .= qq|同一代表\には1度だけ支持・不支持を表\明できます
|; }elsif($cshu[$camp] eq ""){ $log .= qq|現在、代表\者が決まっていません
|; }else{ $log .= qq|不支持を表\明しました
|; $ushu = "$cgen[$camp]*$camp"; $cshu_rank[$camp]--; if($cshu_rank[$camp]<1){ $log .= qq|現代表\ $cshu[$camp] は失脚しました|; $wr_mes = qq|$date $cmp[$camp]の代表\$cshu[$camp]は失脚しました|; &hist_write; $cshu[$camp] = ""; $cshu_rank[$camp] = 0; $sogo = $sogo2; $sogo3 = $sogo; # 称号レベルのため $sogo2 = ""; } } }elsif($cmd==12 && $camp>=1 && $camp<=5){ if($cshu_rank[$camp]<1){ # 立てる $cshu[$camp] = $nm; $ushu = "$cgen[$camp]*$camp"; $cshu_rank[$camp] = 2; $cgen[$camp]++; $sogo2 = $sogo; $sogo = 111; $log .= qq|$nmは、$cmp[$camp]の代表\者になりました
|; $wr_mes = qq|$date $cmp[$camp]の代表\に$nmが就任しました|; &hist_write; }else{ $log .= qq|代表\がいない場合のみ立候補できます
|; } }elsif($cmd==14){ # 辞任する if($sogo == 111){ $cshu[$camp] = ""; $cshu_rank[$camp] = 0; $sogo = $sogo2; $sogo2 = ""; $sogo3 = $sogo; # 称号レベルを無効化 $log .= qq|あなたは、代表\者を辞任しました
|; $wr_mes = qq|$date $nmは、$cmp[$camp]の代表\者を辞任しました
|; &hist_write; }else{ $log .= qq|辞任は代表\者のみが行うことが出来ます
|; } }elsif($camp<1){ $log .= qq|放浪の身では、立候補することは出来ない
|; }else{ $log .= "やめておきます
\n"; } $tm = $cmd = 0; $type=''; &call_main_st; }elsif($cmd>=0 && (($c1 >= $c1a && $cmd == 1)||($c2 >= $c2a && $cmd == 2)||($c3 >= $c3a && $cmd == 3)||($c4 >= $c4a && $cmd == 4)||($c5 >= $c5a && $cmd == 5))){ for($i=1,$j=1;$i<=$#cmp;$i++,$j++){ if($cmd==$j){ $log .= "$cmp[$i] は定員一杯で入国できません
\n"; } } $tm = $cmd = 0; $type=''; &call_main_st; }elsif($lv < $clv){ $log .= "仕官はレベル $clv からです。
まずは修行で己を鍛えてください。
\n"; $tm = $cmd = 0; $type=''; &call_main_st; }else{ if($lv >= 20 && $camp && $cmd){#レベルが15以上で先が無所属以外で元が無所属以外(国→国) $gold -=(15-$rank)*(int($lv/4))*8; $log .= "国家移籍料金として金貨 $zx を支払います。
\n"; my $zy = $rank*(int($lv/10))*4; if($camp == 1){$cg1 += $zy;} elsif($camp == 2){$cg2 += $zy;} elsif($camp == 3){$cg3 += $zy;} elsif($camp == 4){$cg4 += $zy;} elsif($camp == 5){$cg5 += $zy;} $log .= "$cmp[$camp] の国家\予\算が $zy 上昇した。
\n"; }elsif($lv >= 20 && !$cmd){#レベルが15以上で先が無所属(無or国→無) $gold -=(15-$rank)*(int($lv/4))*8; $log .= "国家移籍料金として金貨 $zx を支払います。
\n"; my $zy = $rank*(int($lv/10))*4; if($camp == 1){$cg1 += $zy;} elsif($camp == 2){$cg2 += $zy;} elsif($camp == 3){$cg3 += $zy;} elsif($camp == 4){$cg4 += $zy;} elsif($camp == 5){$cg5 += $zy;} $log .= "$cmp[$camp] の国家\予\算が $zy 上昇した。
\n"; } $camp = $cmd; #レベルによる仕官時のマイナス値 $rank-=($lv > 40)? int(rand(3))+3 : int(rand(4))+1; $rank=1 if($rank<1); $rank=0 if(!$camp); $log .= "$cmp[$camp] へと所属を変え、$cl[$rank] の階級が与えられた
\n"; $roku=$time; $tm = $cmd = 0; $type=''; &call_main_st; } } &write_data; } 1;