#-----------------------------------------------------------# # 罪と罰++ 二律背反 # # Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD # # Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] # # BLANK BOARD [ http://pom.to/ ] # #-----------------------------------------------------------# # 天空闘技場 Version 2.2 #--- [注意事項] --------------------------------------------# # 1.このスクリプトは以下の利用規程に従って配布しています。 # # http://www24.big.or.jp/~obo/game/ore_/gild/ # #-----------------------------------------------------------# #------------------------------------------------------------------------------- # ver1.0 2004.5.27 制作完了・・バグあるでしょうか? # ver1.1 2004.5.29 修正 by あくあ # ver2.0 2004.6.3 おうはば変更 & バグ修正(致命的・・・ # ver2.1 2004.6.3 動作しないためにいろいろバグ修正 # ver2.2 2004.6.9 処理追加& # ver2.3 2004.6.9 デバッカbyあくあ # Arranged by スポンサー # スカイゲームセンター [http://www.ninja.dynalias.org/tumi/file/tumi/index.cgi] # Aqure's Web Page [http://aqure.zive.net/] # お世話になった先生です。( あくあ さん #----------------------------------------------------------- # 設定 $tyanpfile="./logdata/tyanplog.cgi"; # ログは↑ですので注意。作ってくださいね。 # 一応バーミッションは666で。 $bonus_bt = 10; # $bonus_cntはキャラデータとして保存する #----------------------------------------------------------- # 初期メニュー # sub tyanp_menu{ $log .= qq|天空闘技場にいますがどうしますか?|; $log2 .= qq|
\n|; $log2 .= qq|\n| if($mv_mode eq 'pc'); $log2 .= qq|\n|; $log2 .= qq|\n|; $log2 .= qq|
\n|; $log2.=qq|$td_end
\n|; } #----------------------------------------------------------- # 続行メニュー # sub tyanp_exe{ &tyanp_read; # ファイル読込み $ck=0; if(!$tm){ &tyanp_menu; $tm=500; $type='闘技場'; }elsif($tm==500){ if($cmd==1){ # 挑戦する if($camp<=0){ $log .= "放浪の身で戦えません。
\n"; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }elsif($sogo==3||$sogo==4){ $log .= "まずは借金を返済して$sogo_p[$sogo] の烙印を消してください。
\n"; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }elsif($aaa eq "$nm"){ $log .= "あなたはチャンプなので戦えません。
\n"; $log .= "現在、$def_cnt戦防衛に成功しています
"; if($def_cnt>0 && $bonus_cnt != int($def_cnt/$bonus_bt)){ # $bonus_cntはキャラデータとして保存する $bonus_cnt=int($def_cnt/$bonus_bt); $log .= qq|おめでとうございます。賞金の10000Gです
|; $wr_mes = "チャンプ$aaaが賞金10000Gを受け取りました"; &hist_write; $gold+=10000; } $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }else{ $log .= qq|挑戦を受け付けました。
|; $tm=510; $ck=0; &tyousen2; } }elsif($cmd==2){ # ミラーとバトル if($camp<=0){ $log .= "放浪の身で戦えません。
\n"; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }elsif($sogo==3||$sogo==4){ $log .= "まずは借金を返済して$sogo_p[$sogo] の烙印を消してください。
\n"; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }else{ $log .= qq|挑戦を受け付けました。
|; $tm=550; $ck=0; &tyousen3; } }elsif($cmd==3){ # データ $log .="

チャンプステ−タス $aaa $bbb ←番号
( HP $ccc / $ddd MP $eee UA $fff UD $ggg )
( LV $jjj AG $iii 武器 $kkk 防具 $lll )
$mmm 連勝中 賞金 $ooo

\n"; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; }else{ $log .= qq|天空闘技場を後にしました。
|; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; } }elsif($tm==510||$tm==530||$tm==540){ # 挑戦 &tyousen2; }elsif($tm==550||$tm==560||$tm==570){ # ミラー &tyousen3; }else{ $log .= qq|天空闘技場を後にしました。
|; $tm=$cmd=0; $ck=0; $type=""; &call_main_st; } &dat_write; } #----------------------------------------------------------- # 挑戦 # sub tyousen2{ if($tm==510){ $log .=" $aaa と勝負します。
\n"; $log .="
\n"; $log .="戦闘態勢をとります!
\n"; $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|$td_end
\n|; $paa=1; $tm=530; $ck=1; }elsif($tm==530 || $tm==540){ require './inc/ore_sub-battle.cgi'; if($tm==530){ $tnm=$aaa if($paa==1); $tcp=$bbb if($paa==1); $thp=$ccc if($paa==1); $thp_max=$ddd if($paa==1); $tmp=$eee if($paa==1); $tua=$fff if($paa==1); $tud=$ggg if($paa==1); $tlr=$hhh if($paa==1); $tag=$iii if($paa==1); $tlv=$jjj if($paa==1); $tdg_a=$kkk if($paa==1); $tdf_a=$lll if($paa==1); $log .="

$tnm との対決!!

\n" if($paa==1); $log .="

チャンプステ−タス - $tnm ( HP $thp MP $tmp UA $tua UD $tud LV $tlv )

\n"; $log .="真剣勝負開始!
\n" if($paa==1); $paa=2; &bt_st; if($thp<1){ $nnn++; $paa=20; # 石碑以外のやつに書き込むときに使ってください。(↑ $nnn++; $def_cnt = 1; $bonus_cnt=0; $log .="みごと勝ちました!!おめでとうございます。
$ooo の賞金を獲得しました!!
\n"; $wr_mes ="$date $nm がチャンプ戦で $aaa に勝ちました!!$nnn代目のチャンプです!!"; &hist_write; &cdat_write; $gold+=$ooo; $aaa=$nm; $bbb=$camp; $ccc=$max_hp; $ddd=$max_hp; $eee=$max_mp; $fff=$ua; $ggg=$ud; $hhh=$lr; $iii=$ag; $jjj=$lv; $kkk=$dg_a; $lll=$df_a; $mmm=1; $ooo=1000; $paa=1; &tyanp_write; # ファイルに書き込み }elsif($hp<1){ $mmm++; $log .="負けてしまいましたね・・・・また挑戦お願いします!
チャンプは$mmm 連勝中ですね。
\n"; $def_cnt++; $chgr = $nm; $wr_mes = "$date $nnn代目のチャンプ$aaaが挑戦者$nmを退け、$def_cnt度目の防衛を果たしました
"; &hist_write; # HPとMPを回復させるには下の2行をコメントアウト $ccc=$thp; $eee=$tmp; $hp=0; $ooo+=10000; $tnm=''; &tyanp_write; # ファイルに書き込み } if($hp<1 || $thp<1){ $paa=0; $tm=$cmd=0; } } } } #----------------------------------------------------------- # ミラーと対戦 # sub tyousen3{ if($tm==550){ $log .=" 自分 と勝負します。
\n"; $log .="
\n"; $log .="戦闘態勢をとります!
\n"; $log2 .=qq|
\n|; $log2 .=qq|\n| if($mv_mode eq 'pc'); $log2 .=qq|\n\n|; $log2 .=qq|$td_end
\n|; $paa=1; $tm=560; $ck=1; }elsif($tm==560 || $tm==570){ require './inc/ore_sub-battle.cgi'; if($tm==560){ $tnm=$nm if($paa==1); $tcp=$camp if($paa==1); $thp=$max_hp if($paa==1); $thp_max=$max_hp if($paa==1); $tmp=$max_mp if($paa==1); $tua=$ua if($paa==1); $tud=$ud if($paa==1); $tlr=$lr if($paa==1); $tag=$ag if($paa==1); $tlv=$lv if($paa==1); $tdg_a=$dg_a if($paa==1); $tdf_a=$df_a if($paa==1); $log .="

ミラーとの対決!!

\n" if($paa==1); $log .="

ミラーステ−タス - $tnm ( HP $thp MP $tmp UA $tua UD $tud LV $tlv )

\n"; $log .="真剣勝負開始!
\n" if($paa==1); $paa=2; &bt_st; if($thp<1){ $S=$lv * 500; $log .="みごと勝ちました!!おめでとうございます。$S 円\手に入れました。
\n"; $gold+=$ooo; }elsif($hp<1){ $log .="負けてしまいましたね・・・・また挑戦お願いします!
\n"; $hp=0; } if($hp<1 || $thp<1){ $tm=$cmd=0; } } } } #----------------------------------------------------------- # ファイル読み書き # sub tyanp_write{ $tyanp_lst = qq|$aaa<>$bbb<>$ccc<>$ddd<>$eee<>$fff<>$ggg<>$hhh<>$iii<>$jjj<>$kkk<>$lll<>$mmm<>$nnn<>$ooo<>$def_cnt<>$chgr<><>_\n|; open(OUT,">$tyanpfile") || &error("Can't open $tyanpfile."); chomp($tyanp_lst); print OUT $tyanp_lst; close(OUT); } sub tyanp_read{ if(-e $tyanpfile){ open(IN,"$tyanpfile") || &error("Can't open $tyanpfile."); $tyanp_lst=; close(IN); ($aaa,$bbb,$ccc,$ddd,$eee,$fff,$ggg,$hhh,$iii,$jjj,$kkk,$lll,$mmm,$nnn,$ooo,$def_cnt,$chgr) = split(/<>/, $tyanp_lst); if($aaa eq ""){ # まだチャンプがいない $log .= qq|NEW データ読み込み(aaa:$aaa/bbb:$bbb/lst:$tyanp_lst)|; $aaa=$nm; $bbb=$camp; $ccc=$hp; $ddd=$max_hp; $eee=$max_mp; $fff=$ua; $ggg=$ud; $hhh=$lr; $iii=$ag; $jjj=$lv; $kkk=$dg_a; $lll=$df_a; $mmm=1; $ooo=1000; $tnm=$aaa; $tcp=$bbb; $thp=$ddd; $thp_max=$ddd; $tmp=$eee; $tua=$fff; $tud=$ggg; $tlr=$hhh; $tag=$iii; $tlv=$jjj; $tdg_a=$kkk; $tdf_a=$lll; &tyanp_write; } } &dat_write; } 1;