📄 shop.cgi
字号:
open(OUT,">./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
print OUT @item_new;
close(OUT);
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
&header;
print <<"EOM";
<h1>アイテムを卖りました</h1>
<hr size=0>
<p>
EOM
&footer;
exit;
}
__SUB__
def_shop => <<'__SUB__',
#----------------#
# 防具表示 #
#----------------#
sub def_shop {
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@bougu = <IN>;
close(IN);
foreach(@bougu){
($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate,$kmori,$kdef,$ktac,$kkumite) = split(/<>/);
if($in{'id'} eq "$kid" and $in{'pass'} eq "$kpass") { last; }
}
if($in{'id'} ne "$kid" or $in{'pass'} ne "$kpass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
open(IN,"$defsell_file");
@log_def = <IN>;
close(IN);
$hit=0;
foreach(@log_def){
($si_no,$si_name,$si_dmg,$si_gold) = split(/<>/);
if($kdef eq "$si_no"){ $hit=1;last; }
}
if(!$hit) { $si_name="-"; }
if(!$hit) { $si_dmg="-"; }
if(!$hit) { $si_gold="-"; }
$ui_gold = int($si_gold / 3) * 2;
open(IN,"$def_file");
@def_array = <IN>;
close(IN);
&header;
print <<"EOM";
<h1>アイテムショップ</h1>
<hr size=0>
<p>
<form action="$scripts" method="post">
<FONT SIZE=3>
<B>防具のマスタ—</B><BR>
「いらっしゃい!いい防具??ってるよ~。この大陆の中じゃ、うちが一番の品??えだよ!<BR>
あ、なんだい、<B>$kname</B>じゃないか。元气にしてたかい?
<BR>今は$chara_syoku[$ksyoku]をやってるのか。
<BR>昨日$chara_syoku[$ksyoku]用の防具を入荷したんだよ!
<BR>
まあ、ゆっくり见ていってくれ。
<BR><BR>そうそう!最近装备品の下取りもはじめたんだ。」
</FONT><BR><BR>
<table border=1>
<tr>
<td colspan="2">现在の持ち金</td><td colspan="3" align="right">$kgold</td></tr>
<tr>
<th colspan="2">No.</th><th>なまえ</th><th>防御力</th><th>价格</th></tr>
<tr><th><input type=hidden name=id value=$kid>
<input type=hidden name=pass value=$kpass>
<input type=hidden name=mode value=def_sell>
<input type=submit value="卖る">
</th></form><th>现在の装备品</th><th>$si_name</th><th>$si_dmg</th><th>$ui_gold</th><form action="$scripts" method="post">
EOM
foreach(@def_array){
($ino,$iname,$idmg,$igold) = split(/<>/);
print "<tr>\n";
print "<td><input type=radio name=def_no value=\"$ino\"></td><td align=right>$ino</td><td>$iname</td><td align=center>?</td><td align=center>$igold</td>\n";
print "</tr>\n";
}
print <<"EOM";
</tr>
</table>
<p>
<input type=hidden name=id value=$kid>
<input type=hidden name=pass value=$kpass>
<input type=hidden name=mode value=def_buy>
<input type=submit value="防具を买う">
</form>
EOM
&footer;
exit;
}
__SUB__
def_buy => <<'__SUB__',
#----------------#
# 防具を买う #
#----------------#
sub def_buy {
# ファイルロック
if ($lockkey == 1) { &lock1; }
elsif ($lockkey == 2) { &lock2; }
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@bougu = <IN>;
close(IN);
foreach(@bougu){
($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate,$kmori,$kdef,$ktac,$kkumite) = split(/<>/);
if($in{'id'} eq "$kid" and $in{'pass'} eq "$kpass") { last; }
}
if($in{'id'} ne "$kid" or $in{'pass'} ne "$kpass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
open(IN,"$def_file");
@def_array = <IN>;
close(IN);
$hit=0;
foreach(@def_array){
($i_no,$i_name,$i_dmg,$i_gold) = split(/<>/);
if($in{'def_no'} eq "$i_no") { $hit=1;last; }
}
if(!$hit) { &error("そんなアイテムは存在しません"); }
&get_host;
$date = time();
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@def_chara = <IN>;
close(IN);
$hit=0;@def_new=();
foreach(@def_chara){
($iid,$ipass,$isite,$iurl,$iname,$isex,$ichara,$in_0,$in_1,$in_2,$in_3,$in_4,$in_5,$in_6,$isyoku,$ihp,$imaxhp,$iex,$ilv,$igold,$ilp,$itotal,$ikati,$iwaza,$iitem,$imons,$ihost,$idate,$imori,$idef,$itac,$ikumite) = split(/<>/);
if($iid eq "$kid") {
if($igold < $i_gold) { &error("お金が足りません"); }
else { $igold = $igold - $i_gold; }
unshift(@def_new,"$iid<>$ipass<>$isite<>$iurl<>$iname<>$isex<>$ichara<>$in_0<>$in_1<>$in_2<>$in_3<>$in_4<>$in_5<>$in_6<>$isyoku<>$ihp<>$imaxhp<>$iex<>$ilv<>$igold<>$ilp<>$itotal<>$ikati<>$iwaza<>$iitem<>$imons<>$host<>$idate<>$imori<>$i_no<>$itac<>$ikumite<>\n");
$hit=1;
}else{
push(@def_new,"$_");
}
}
open(OUT,">./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
print OUT @def_new;
close(OUT);
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
&header;
print <<"EOM";
<h1>アイテムを买いました</h1>
<hr size=0>
<p>
EOM
&footer;
exit;
}
__SUB__
def_sell => <<'__SUB__',
#----------------#
# 防具を卖る #
#----------------#
sub def_sell {
# ファイルロック
if ($lockkey == 1) { &lock1; }
elsif ($lockkey == 2) { &lock2; }
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@bougu = <IN>;
close(IN);
foreach(@bougu){
($kid,$kpass,$ksite,$kurl,$kname,$ksex,$kchara,$kn_0,$kn_1,$kn_2,$kn_3,$kn_4,$kn_5,$kn_6,$ksyoku,$khp,$kmaxhp,$kex,$klv,$kgold,$klp,$ktotal,$kkati,$kwaza,$kitem,$kmons,$khost,$kdate,$kmori,$kdef,$ktac,$kkumite) = split(/<>/);
if($in{'id'} eq "$kid" and $in{'pass'} eq "$kpass") { last; }
}
if($in{'id'} ne "$kid" or $in{'pass'} ne "$kpass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
open(IN,"$defsell_file");
@def_array = <IN>;
close(IN);
$hit=0;
foreach(@def_array){
($i_no,$i_name,$i_dmg,$i_gold) = split(/<>/);
if($kdef eq "$i_no") { $hit=1;last; }
}
if(!$hit) { &error("そんなアイテムは存在しません"); }
if(!$kdef) { &error("そんなアイテムは存在しません"); }
$ui_gold = int($i_gold / 3) * 2;
&get_host;
$date = time();
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@def_chara = <IN>;
close(IN);
$hit=0;@def_new=();
foreach(@def_chara){
($iid,$ipass,$isite,$iurl,$iname,$isex,$ichara,$in_0,$in_1,$in_2,$in_3,$in_4,$in_5,$in_6,$isyoku,$ihp,$imaxhp,$iex,$ilv,$igold,$ilp,$itotal,$ikati,$iwaza,$iitem,$imons,$ihost,$idate,$imori,$idef,$itac,$ikumite) = split(/<>/);
if($iid eq "$kid") {
$igold = $igold + $ui_gold;
unshift(@def_new,"$iid<>$ipass<>$isite<>$iurl<>$iname<>$isex<>$ichara<>$in_0<>$in_1<>$in_2<>$in_3<>$in_4<>$in_5<>$in_6<>$isyoku<>$ihp<>$imaxhp<>$iex<>$ilv<>$igold<>$ilp<>$itotal<>$ikati<>$iwaza<>$iitem<>$imons<>$host<>$idate<>$imori<><>$itac<>$ikumite<>\n");
$hit=1;
}else{
push(@def_new,"$_");
}
}
open(OUT,">./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
print OUT @def_new;
close(OUT);
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
&header;
print <<"EOM";
<h1>防具を卖りました</h1>
<hr size=0>
<p>
EOM
&footer;
exit;
}
__SUB__
footer => <<'__SUB__',
#------------------#
# HTMLのフッタ— #
#------------------#
sub footer {
print "<form action=\"$script\" method=\"post\">\n";
print "<A HREF=\"$scripto\">TOPペ—ジへ</A>\n";
print "<input type=hidden name=id value=$kid>\n";
print "<input type=hidden name=pass value=$kpass>\n";
print "<input type=hidden name=mode value=log_in>\n";
print "<input type=submit value=\"ステ—タス画面へ\">\n";
print "</form>\n";
print "<HR SIZE=0 WIDTH=\"100%\"><DIV align=right class=small>\n";
print "$vershop edit by <a href=\"http://www.gun-online.com/\" target=\"_top\">GUN</a><br>\n";
print "$verg remodeling by <a href=\"http://www.gun-online.com/\" target=\"_top\">GUN</a><br>\n";
print "$ver by <a href=\"http://www.interq.or.jp/sun/cumro/\">D.Takamiya(CUMRO)</a><br>\n";
print "</DIV></body></html>\n";
}
__SUB__
header => <<'__SUB__',
#------------------#
# HTMLのヘッダ— #
#------------------#
sub header {
print "Cache-Control: no-cache\n";
print "Pragma: no-cache\n";
print "Content-Type: text/html\n\n";
print <<"EOM";
<html>
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<STYLE type="text/css">
<!--
body,tr,td,th { font-size: $b_size }
a:hover { color: $alink }
.small { font-size: 10pt }
.b1 {background: #9ac;border-color: #ccf #669 #669 #ccf;color:#fff; border-style: solid; border-width: 1px;}
.b2 {background: #669;border-color: #99c #336 #336 #99c;color:#fff; border-style: solid; border-width: 1px; text-align: center}
.b3 {background: #fff;border-color: #ccf #669 #669 #ccf;}
.dmg { color: #FF0000; font-size: 18pt }
.clit { color: #0000FF; font-size: 18pt }
-->
</STYLE>
EOM
print "<title>$main_title</title></head>\n";
print "<body background=\"$backgif\" bgcolor=\"$bgcolor\" text=\"$text\" link=\"$link\" vlink=\"$vlink\" alink=\"$alink\">\n";
}
__SUB__
);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -