⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shop.cgi

📁 挖矿游戏源代码 很好的哦 可以研究
💻 CGI
📖 第 1 页 / 共 2 页
字号:
#!/usr/bin/perl

#------------------------------------------------------#
# FF ADVENTURE v0.21
# programed by CUMRO
# http://cgi.members.interq.or.jp/sun/cumro/mm/
# cumro@sun.interq.or.jp
#
#  FF ADVENTURE(改) v1.104
#  remodeling by GUN
#  http://www.gun-online.com/
#  webmaster@gun-online.com
#------------------------------------------------------#

# 日本语ライブラリの读み??み
require 'jcode.pl';

# レジストライブラリの读み??み
require 'regist.pl';

# 初期设定ファイルの读み??み
require 'ffadventure.ini';
require 'shop.ini';

# [设定はここまで]------------------------------------------------------------#

# これより下は、CGIのわかる方以外は、变更しないほうが良いです。

#-----------------------------------------------------------------------------#
if($mente) { &error("现在バ—ジョンアップ中です。しばらくお待ちください。"); }
&decode;
if($mode eq 'item_eqq0') { $item_file = $item_file0; &item_shop; }
elsif($mode eq 'item_eqq1') { $item_file = $item_file1; &item_shop; }
elsif($mode eq 'item_eqq2') { $item_file = $item_file2; &item_shop; }
elsif($mode eq 'item_eqq3') { $item_file = $item_file3; &item_shop; }
elsif($mode eq 'item_eqq4') { $item_file = $item_file4; &item_shop; }
elsif($mode eq 'item_eqq5') { $item_file = $item_file5; &item_shop; }
elsif($mode eq 'item_eqq6') { $item_file = $item_file6; &item_shop; }
elsif($mode eq 'item_eqq7') { $item_file = $item_file7; &item_shop; }
elsif($mode eq 'item_eqq8') { $item_file = $item_file8; &item_shop; }
elsif($mode eq 'item_eqq9') { $item_file = $item_file9; &item_shop; }
elsif($mode eq 'item_eqq10') { $item_file = $item_file10; &item_shop; }
elsif($mode eq 'item_eqq11') { $item_file = $item_file11; &item_shop; }
elsif($mode eq 'item_eqq12') { $item_file = $item_file12; &item_shop; }
elsif($mode eq 'item_eqq13') { $item_file = $item_file13; &item_shop; }
elsif($mode eq 'item_eqq14') { $item_file = $item_file14; &item_shop; }
elsif($mode eq 'item_eqq15') { $item_file = $item_file15; &item_shop; }
elsif($mode eq 'item_eqq16') { $item_file = $item_file16; &item_shop; }
elsif($mode eq 'item_eqq17') { $item_file = $item_file17; &item_shop; }
elsif($mode eq 'item_eqq18') { $item_file = $item_file18; &item_shop; }
elsif($mode eq 'item_eqq19') { $item_file = $item_file19; &item_shop; }
elsif($mode eq 'item_eqq20') { $item_file = $item_file20; &item_shop; }
elsif($mode eq 'item_eqq21') { $item_file = $item_file21; &item_shop; }
elsif($mode eq 'item_eqq22') { $item_file = $item_file22; &item_shop; }
elsif($mode eq 'item_shop') { &item_shop; }
elsif($mode eq 'item_buy') { &item_buy; }
elsif($mode eq 'item_sell') { &item_sell; }
elsif($mode eq 'def_eqq0') { $def_file = $def_file0; &def_shop; }
elsif($mode eq 'def_eqq1') { $def_file = $def_file1; &def_shop; }
elsif($mode eq 'def_eqq2') { $def_file = $def_file2; &def_shop; }
elsif($mode eq 'def_eqq3') { $def_file = $def_file3; &def_shop; }
elsif($mode eq 'def_eqq4') { $def_file = $def_file4; &def_shop; }
elsif($mode eq 'def_eqq5') { $def_file = $def_file5; &def_shop; }
elsif($mode eq 'def_eqq6') { $def_file = $def_file6; &def_shop; }
elsif($mode eq 'def_eqq7') { $def_file = $def_file7; &def_shop; }
elsif($mode eq 'def_eqq8') { $def_file = $def_file8; &def_shop; }
elsif($mode eq 'def_eqq9') { $def_file = $def_file9; &def_shop; }
elsif($mode eq 'def_eqq10') { $def_file = $def_file10; &def_shop; }
elsif($mode eq 'def_eqq11') { $def_file = $def_file11; &def_shop; }
elsif($mode eq 'def_eqq12') { $def_file = $def_file12; &def_shop; }
elsif($mode eq 'def_eqq13') { $def_file = $def_file13; &def_shop; }
elsif($mode eq 'def_eqq14') { $def_file = $def_file14; &def_shop; }
elsif($mode eq 'def_eqq15') { $def_file = $def_file15; &def_shop; }
elsif($mode eq 'def_eqq16') { $def_file = $def_file16; &def_shop; }
elsif($mode eq 'def_eqq17') { $def_file = $def_file17; &def_shop; }
elsif($mode eq 'def_eqq18') { $def_file = $def_file18; &def_shop; }
elsif($mode eq 'def_eqq19') { $def_file = $def_file19; &def_shop; }
elsif($mode eq 'def_eqq20') { $def_file = $def_file20; &def_shop; }
elsif($mode eq 'def_eqq21') { $def_file = $def_file21; &def_shop; }
elsif($mode eq 'def_eqq22') { $def_file = $def_file22; &def_shop; }
elsif($mode eq 'def_shop') { &def_shop; }
elsif($mode eq 'def_buy') { &def_buy; }
elsif($mode eq 'def_sell') { &def_sell; }
else { &error("アクセスできません"); }

#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃   オ—トロ—ダ—
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sub AUTOLOAD {
	my $name = ($AUTOLOAD =~ /^main::(.+)$/)[0];
	($FLAG{'autoload'}++ > 50) && die $AUTOLOAD; # 念のため无限ル—プ防止
	defined %SUB or &SUBS;
	if (!defined $SUB{$name}) {
		&error("定义されていない关数($AUTOLOAD)が呼ばれました。"); exit;
	}
	eval $SUB{$name}; length($@) && &error("EVAL ERROR: $@ ($AUTOLOAD)");
	delete $SUB{$name}; goto &{'main::' . $name};
}

sub SUBS {
%SUB = (
	item_shop => <<'__SUB__',
#----------------#
#  アイテム表示  #
#----------------#
sub item_shop {


	open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
	@buki = <IN>;
	close(IN);

	foreach(@buki){
		($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") { last; }
	}

	if($in{'id'} ne "$kid" or $in{'pass'} ne "$kpass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}

	open(IN,"$itemsell_file");
	@log_item = <IN>;
	close(IN);

	$hit=0;
	foreach(@log_item){
		($si_no,$si_name,$si_dmg,$si_gold) = split(/<>/);
		if($kitem 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,"$item_file");
	@item_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=item_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(@item_array){
		($ino,$iname,$idmg,$igold) = split(/<>/);
		print "<tr>\n";
		print "<td><input type=radio name=item_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=$in{'id'}>
<input type=hidden name=pass value=$in{'pass'}>
<input type=hidden name=mode value=item_buy>
<input type=submit value="アイテムを买う">
</form>
EOM

	&footer;

	exit;
}
__SUB__

	item_buy => <<'__SUB__',
#----------------#
#  アイテム买う  #
#----------------#
sub item_buy {
	

	# ファイルロック
	if ($lockkey == 1) { &lock1; }
	elsif ($lockkey == 2) { &lock2; }


	open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
	@buki = <IN>;
	close(IN);

	foreach(@buki){
		($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,"$item_file");
	@item_array = <IN>;
	close(IN);

	$hit=0;
	foreach(@item_array){
		($i_no,$i_name,$i_dmg,$i_gold) = split(/<>/);
		if($in{'item_no'} eq "$i_no") { $hit=1;last; }
	}
	if(!$hit) { &error("そんなアイテムは存在しません"); }

	&get_host;

	$date = time();

	open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
	@item_chara = <IN>;
	close(IN);

	$hit=0;@item_new=();
	foreach(@item_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(@item_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<>$i_no<>$imons<>$host<>$idate<>$imori<>$idef<>$itac<>$ikumite<>\n");
			$hit=1;
		}else{
			push(@item_new,"$_");
		}
	}


	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__

	item_sell => <<'__SUB__',
#----------------#
#  アイテム卖る  #
#----------------#
sub item_sell {
	

	# ファイルロック
	if ($lockkey == 1) { &lock1; }
	elsif ($lockkey == 2) { &lock2; }


	open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
	@buki = <IN>;
	close(IN);

	foreach(@buki){
		($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,"$itemsell_file");
	@item_array = <IN>;
	close(IN);

	$hit=0;
	foreach(@item_array){
		($i_no,$i_name,$i_dmg,$i_gold) = split(/<>/);
		if($kitem eq "$i_no") { $hit=1;last; }
	}
	if(!$hit) { &error("そんなアイテムは存在しません"); }
	if(!$kitem) { &error("そんなアイテムは存在しません"); }
	$ui_gold = int($i_gold / 3) * 2;

	&get_host;

	$date = time();



	open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
	@item_chara = <IN>;
	close(IN);

	$hit=0;@item_new=();
	foreach(@item_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(@item_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<><>$imons<>$host<>$idate<>$imori<>$idef<>$itac<>$ikumite<>\n");
			$hit=1;
		}else{
			push(@item_new,"$_");
		}
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -