Files
ore/inc/ore_sub-shop.cgi
T
2026-06-22 21:09:26 +09:00

506 lines
17 KiB
Perl
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#-----------------------------------------------------------#
# 罪と罰++ 二律背反 #
# 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.1
#--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------#
#-------------------------------------------------------------------------------
#ショッピングモールメニュー
sub shop{
if(!$type){
$log .= "$nm はショッピングモールに来た。<br>\n";
$tm=0;
$type='お買い物';
&shop_menu;
}
&dat_write;
}
sub shop_menu{
# ショッピングモール
my @sg = ('去る','武具屋','防具屋','道具屋','金融業','プチロト','診療所');
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|;
foreach(0 .. $#sg){ $log2 .=qq|<option value="$_">$sg[$_]</option>\n|;}
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
#-------------------------------------------------------------------------------
#ショッピングモール処理
sub shop_exe{
# 行き先選択
if(!$tm){
if($cmd<=0){
$log .= "$nm は逃げるように立ち去った。<br>\n";
$tm = $cmd = 0;
$type='';
&call_main_st;
}elsif($cmd==1){
$log .= "いらっしゃい。今日はどうするんだい?<br>\n";
$tm=10;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">買う</option>\n|;
$log2 .=qq|<option value="2">売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==2){
$log .= "いらっしゃいませ。何をお求めですか?<br>\n";
$tm=30;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">買う</option>\n|;
$log2 .=qq|<option value="2">売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==3){
$log .= "ようこそ。色々なものを扱ってます。<br>\n";
$tm=50;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">買う</option>\n|;
$log2 .=qq|<option value="2">売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==4){
$log .= "いらっしゃい。マネーショップにようこそ。<br>\n";
$tm=70;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>借金</option>\n|;
$log2 .=qq|<option value=2>返済</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==5){
$log .= "イラッシャイマセェ~♪一枚五百Gになりまぁす♪<br> <br>壱等 \十\万\<br>弐等 五万G<br>参等 壱万G<br>四等 壱千G<br><br>幸運賞 ???<br>不幸賞 ???<br><br>罪罰賞1 $dg_data[1][1] (希少)<br>罪罰賞2 $df_data[1][1] (希少)\n";
$tm=90;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>挑戦</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==6){
$log .= "いらっしゃい。罪罰診療所にようこそ。<br>\n";
$tm=120;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>治療</option>\n|;
$log2 .=qq|<option value=2>性転換</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}elsif($cmd==7){
$log .= "きっと素敵な恋始まる!? 結婚相談所へようこそ♪<br>\n";
$tm=150;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>後回し</option>\n|;
$log2 .=($sei==1) ? qq|<option value=2>お嫁さん捜索</option>\n| : qq|<option value=1>旦那様捜索</option>\n| ;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
# 武具屋 - 買 or 売
}elsif($tm==10){
if($cmd<=0){#消
$log .= "なんだ、やめるのかい。また来てくれよな!<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){#買-1
if($sogo==3||$sogo==4){
$log .= "$sogo_p[$sogo] の烙印ついてちゃ買い物はできないぜ。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
$log .= "何を買うんだい?<br>ちなみに武具は1個しか所持できないぜ!<br>\n";
$tm=12;
require "./inc/ore_sub-shop-p1_$mv_mode\.cgi";&bugu_s;
}
}elsif($cmd==2){#売-1
if($dg_a==0){
$log .= "$nm さんは武具を所持してないぜ!<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
if($dg_a<=10){
my $v = int(($dg_data[$dg_a][2]-$dg_data[$dg_a][2]/$dg_cnt)/2);
$log .= "お! 隠し武器の$dg_data[$dg_a][1] じゃないか! どこで手に入れだんだい?<br>ぜひ $v Gで買い取らせてくれ。\n";
$tm=25;
}else{
my $v = int(($dg_data[$dg_a][2]-$dg_data[$dg_a][2]/$dg_cnt)/2);
$log .= "そうだねえ、$dg_data[$dg_a][1] は $v Gで買い取るよ!<br>\n";
$tm=25;
}
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
}
}elsif($tm==12){#買-2
if($cmd<=0){#消
$log .= "なんだやめるのかい。で、他にどうするんだ?<br>\n";
}else{
foreach(11 .. $#dg_data){
if($cmd eq $_ && $gold >= $dg_data[$_][2]){
$log .= "$dg_data[$_][2]Gを支払い、$dg_data[$_][1] を購入しました。<br>\n";
$gold -= $dg_data[$_][2];
$dg_a = $_;
$dg_cnt = $dg_data[$_][3];
}elsif($cmd eq $_ && $gold<$dg_data[$_][2]){
$log .= "お金が足りないよ!<br>\n";
}
}
}
$tm = $cmd = 0;
&shop_menu;
}elsif($tm==25){#売-2
if($cmd<=0){#消
$log .= "なんだやめるのかい。で、他にどうするんだ?<br>\n";
}elsif($cmd==1){
my $v = int(($dg_data[$dg_a][2]-$dg_data[$dg_a][2]/$dg_cnt)/2);
$log .= "$dg_data[$dg_a][1] を $v G で売却しました。<br>\n";
$gold += $v;
$dg_a = $dg_cnt = 0;
}
$tm = $cmd = 0;
&shop_menu;
# 防具屋 - 買 or 売
}elsif($tm==30){
if($cmd<=0){#消
$log .= "またおこしください。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){#買-1
if($sogo==3||$sogo==4){
$log .= "$sogo_p[$sogo] の烙印ついてる方はお買い上げできません。<br>\n";
$tm=0;
&shop_menu;
}else{
$log .= "何をお求めですか?<br>防具の所持は1個までとなっております。<br>\n";
$tm=32;
require "./inc/ore_sub-shop-p1_$mv_mode\.cgi";&bogu_s;
}
}elsif($cmd==2){#売-1
if($df_a==0){
$log .= "$nm さまは防具を所持できません。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
if($df_a<=10){
my $v = int(($df_data[$df_a][2]-$df_data[$df_a][2]/$df_cnt)/2);
$log .= "お! 隠し防具の$df_data[$df_a][1] ですね! どこで手に入れたんですか?<br>ぜひ $v Gで買い取らせてください。\n";
$tm=45;
}else{
my $v = int(($df_data[$df_a][2]-$df_data[$df_a][2]/$df_cnt)/2);
$log .= "そうですね・・・ $df_data[$df_a][1] は $v Gで買い取らせて頂きますが。<br>\n";
$tm=45;
}
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
}
}elsif($tm==32){#売-2
if($cmd<=0){#消
$log .= "その他はどうしますか?<br>\n";
}else{
foreach(11 .. $#df_data){
if($cmd eq $_ && $gold >= $df_data[$_][2]){
$log .= "$df_data[$_][2]Gを支払い、$df_data[$_][1] を購入しました。<br>\n";
$gold -= $df_data[$_][2];
$df_a = $_;
$df_cnt = $df_data[$_][3];
}elsif($cmd eq $_ && $gold<$df_data[$_][2]){
$log .= "お金が足りません。<br>\n";
}
}
}
$tm = $cmd = 0;
&shop_menu;
}elsif($tm==45){#買-2
if($cmd<=0){#消
$log .= "他にどうしますか?<br>\n";
}elsif($cmd==1){
my $v = int(($df_data[$df_a][2]-$df_data[$df_a][2]/$df_cnt)/2);
$log .= "$df_data[$df_a][1] を $v G で売却しました。<br>\n";
$gold += $v;
$df_a = $df_cnt = 0;
}
$tm = $cmd = 0;
&shop_menu;
# 道具屋 - 買 or 売
}elsif($tm==50){
if($cmd<=0){#消
$log .= "他なにか御用ですか?<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){#買-1
if($sogo==3||$sogo==4){
$log .= "$sogo_p[$sogo] の烙印ついていては買い物はできません。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
$log .= "何をお買い上げですか?<br>ちなみに道具は1個しか所持できません。<br>\n";
$tm=52;
require "./inc/ore_sub-shop-p1_$mv_mode\.cgi";&dogu_s;
}
}elsif($cmd==2){#売-1
if(!$di_a){
$log .= "$nm さんは道具を所持していません。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
if($di_a<=10){
my $v = int(($di_data[$di_a][2])/2);
$log .= "お! 隠しアイテムの$di_data[$di_a][1] じゃないですか!どこで手に入れたんですか?<br>ぜひ $v Gで買い取らせてください。\n";
$tm=65;
}else{
my $v = int(($di_data[$di_a][2])/2);
$log .= "そうですねえ、$di_data[$di_a][1] は $v G で買い取ります。<br>\n";
$tm=65;
}
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value=0>やめる</option>\n|;
$log2 .=qq|<option value=1>売る</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
}
}elsif($tm==52){#買-2
if($cmd<=0){#消
$log .= "他何か御用ですか?<br>\n";
}else{
foreach(11 .. $#di_data){
if($cmd eq $_ && $gold >= $di_data[$_][2]){
$log .= "$di_data[$_][2]Gを支払い、$di_data[$_][1] を購入しました。<br>\n";
$gold -= $di_data[$_][2];
$di_a = $_;
$di_cnt = $di_data[$_][3];
}elsif($cmd eq $_ && $gold<$di_data[$_][2]){
$log .= "お金が足りません。お引取り願います。<br>\n";
}
}
}
$tm = $cmd = 0;
&shop_menu;
}elsif($tm==65){
if($cmd<=0){#消
$log .= "他何か御用ですか?<br>\n";
}elsif($cmd==1){
my $v = int(($di_data[$di_a][2])/2);
$log .= "$di_data[$di_a][1] を $v G で売却しました。<br>\n";
$gold += $v;
$di_a = 0;
}
$tm = $cmd = 0;
&shop_menu;
# 金融業
}elsif($tm==70){
if($cmd<=0){#消
$log .= "ご利用はご計画的に♪<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){#借
if($sogo==3||$sogo==4){
$log .= "これ以上は身のためにならないよ。早いトコ返してくれないと恐いオニーサンが来るよ・・・。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
&syakin;
$log .= "金借りたいのかい。いくら借りたいんだ?<br>$vw G <b>$sogo_p[3]</b>の烙印<br>$vx G <b>$sogo_p[4]</b>の烙印<br> <br>烙印は借金を返済するか、他の称号を取得するまで外れません。\n";
$tm=72;
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name=cmd size=1>\n|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">$vw G</option>\n|;
$log2 .=qq|<option value="2">$vx G</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
}
}elsif($cmd==2){#返
if($sogo!=3&&$sogo!=4){
$log .= "$nm さんに返済義務はないよ。<br>\n";
$tm = $cmd = 0;
&shop_menu;
}else{
$log .= "やっと借金返済してくれるのかい。$nm さんの返済額は";
&syakin;
if($sogo==3){
$log .= "<b>$vw2 G</b>だよ。\n";
}elsif($sogo==4){
$log .= "<b>$vx2 G</b>だよ。\n";
}
$log2 .=qq|<form action="$script" method="$method" name="ore_">\n|;
$log2 .=qq|<td align="center" valign="middle">\n| if($mv_mode eq 'pc');
$log2 .=qq|<input type="hidden" name="id" value="$id">\n<input type="hidden" name="pw" value="$pw">\n|;
$log2 .=qq|<select name="cmd" size="1">\n|;
$log2 .=qq|<option value="0">やめる</option>\n|;
$log2 .=qq|<option value="1">支払う</option>\n|;
$log2 .=qq|</select><br>\n|;
$log2 .=qq|<input type="submit" $button1 value="NEXT">$td_end</form>\n|;
$tm=74;
}
}
}elsif($tm==72){#借 - 額
if($cmd<=0){#消
$log .= "なんだやめるのかい。で、他にどうするんだ?<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){
&syakin;
$gold +=$vw;
$sogo =3;
$log .= "$vw G を借りました。$nm は<b>$sogo_p[3]</b> の烙印がつきました・・・<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==2){
&syakin;
$gold +=$vx;
$sogo =4;
$log .= "$vx G を借りました。$nm は<b>$sogo_p[4]</b> の烙印がつきました・・・<br>\n";
$tm = $cmd = 0;
&shop_menu;
}
}elsif($tm==74){#返 - 額
if($cmd<=0){#消
$log .= "早いとこ、金返してくれよ! で、他にどうするんだ?<br>\n";
$tm = $cmd = 0;
&shop_menu;
}elsif($cmd==1){
&syakin;
if($sogo==3){
if($gold > $vw2){
$gold -=$vw2;
$log .= "借金$vw2 G を返済しました。<br>\n";
$sogo =0;
}else{
$log .= "そんな はした金じゃ足りないよ!<br>\n";
}
}elsif($sogo==4){
if($gold > $vx2){
$gold -=$vx2;
$log .= "借金$vx2 G を返済しました。<br>\n";
$sogo =0;
}else{
$log .= "そんな はした金じゃ足りないよ!<br>\n";
}
}
$tm = $cmd = 0;
&shop_menu;
}
}
# 宝くじ
elsif($tm>=90 && $tm<120){require './inc/ore_sub-shop-lotto.cgi';&lotto;}
# 診療所
elsif($tm>=120 && $tm<140){require './inc/ore_sub-shop-medical.cgi';&medical;}
# 結婚相談所
elsif( $tm>=150 && $tm<200 && $mv_mode eq 'pc' &&
$lv>=15 && $lv<=50){require './inc/ore_sub-shop-marry.cgi';&marry;}
&dat_write;
}
#-------------------------------------------------------------------------------
#借金計算
sub syakin {
if($lv < 40){
$vw = int($lv*1000);
$vx = int($lv*2000);
$vw2 = int($lv*1250);
$vx2 = int($lv*2500);
}else{
$vw = 40000;
$vx = 80000;
$vw2 = 50000;
$vx2 = 100000;
}
}
1;