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

📄 ffadventube.cgi

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

#--- [注意事项] ------------------------------------------------#
# 1. このスクリプトはフリ—ソフトです。このスクリプトを使用した	#
#    いかなる损害に对して作者は一切の责任を负いません。		#
# 2. 设置に关する质问はサポ—ト揭示板にお愿いいたします。	#
#    直接メ—ルによる质问は一切お受けいたしておりません。	#
#---------------------------------------------------------------#

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

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

# 参加者ライブラリの读み??み
require 'sankasya.pl';

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

#================================================================#
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓#
#┃ これより下はCGIに自信のある方以外は??わないほうが无难です ┃#
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛#
#================================================================#

#--------------#
# メイン处理 #
#--------------#
if($mente) { &error("バ—ジョンアップ中です。2、30秒ほどお待ち下さい。m(_ _)m"); }
&decode;
if($mode eq 'log_in') { &log_in; }
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 = (
	log_in => <<'__SUB__',
#----------------#
#  ログイン画面  #
#----------------#
sub log_in {
	$chara_flag=1;

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

	$hit=0;
	foreach(@log_in){
		($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") {
			$hit=1; last;
		}
	}
open (IN,"$winner_file") || &error('オ—プンエラ—','指定された书??みファイルが开けません。');
	$LINE = <IN>;
	close (IN);
    ($wid,$wpass,$wsite,$wurl,$wname,$wsex,$wchara,$wn_0,$wn_1,$wn_2,$wn_3,$wn_4,$wn_5,$wn_6,$wsyoku,$whp,$wmaxhp,$wex,$wlv,$wgold,$wlp,$wtotal,$wkati,$wwaza,$witem,$wmons,$whost,$wdate,$wcount,$lsite,$lurl,$lname,$wmori,$wdef,$wtac,$lid,$wkumite)=split(/<>/,$LINE);


	open(IN,"$taikai_file");
	@TAIKAI = <IN>;
	close(IN);


	$ltime = time();
	$ltime = $ltime - $kdate;
	$vtime = $b_time - $ltime;
	$xtime = $vtime + 1;
	$ztime = $vtime - 1;
	$mtime = $m_time - $ltime;
	if($in{'id'} ne "$kid" or $in{'pass'} ne $kpass) {&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
	$yado_daix = int($klv * $yado_dai);
	if($kkati) { $syouritu = int(($kkati / $ktotal) * 100); }
	else { $syouritu = 0; }

	if(!$hit) { &error("入力されたIDは登录されていません。又はパスワ—ドが违います。"); }
	if($kmori < $boss) { $kmori = 0; }

	&class;

	if($ksex) { $esex = "男"; } else { $esex = "女"; }
	$next_ex = $klv * $lv_up;

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

	$hit=0;
	foreach(@log_item){
		($i_no,$i_name,$i_dmg,$i_gold) = split(/<>/);
		if($kitem eq "$i_no"){ $hit=1;last; }
	}
	if(!$hit) { $i_name="-"; }
	if(!$hit) { $i_dmg="-"; }

	open(IN,"$def_file");
	@log_def = <IN>;
	close(IN);

	$hit=0;
	foreach(@log_def){
		($d_no,$d_name,$d_dmg,$d_gold) = split(/<>/);
		if($kdef eq "$d_no"){ $hit=1;last; }
	}
	if(!$hit) { $d_name="-"; }
	if(!$hit) { $d_dmg="-"; }

	open(IN,"$tac_file");
	@log_tac = <IN>;
	close(IN);

	$hit=0;
	foreach(@log_tac){
		($ktac_no,$ktac_name) = split(/<>/);
		if($ktac eq "$ktac_no"){ $hit=1;last; }
	}
	if(!$hit) { $ktac_name="普通に战う"; }

	&guest_list;

	&header;

	&guest_view;

	print <<"EOM";
<h1>$knameさん用ステ—タス画面</h1>
<hr size=0>
<a href="$scripto?mode=ranking" target="_blank">登录者一览</a>/ <a href="$ranking" target="_blank">\能\力别ランキングへ</a> / <a href="$syoku_html" target="_blank">各职业に必要な特性值</a> / <a href="$bbs" target="_blank">$bbs_title</a>  / <a href="$sbbs" target="_blank">$sbbs_title</a>  / <a href="$vote" target="_blank">$vote_title</a>/ <a href="$svote" target="_blank">$svote_title</a>/
EOM

if($ltime < $b_time or !$ktotal and $vtime > 0){
	print <<"EOM";
<FORM NAME="form1">
チャンプと斗えるまで残り<INPUT TYPE="text" NAME="clock" SIZE="3" VALUE="$xtime">秒です。0になると、自动的に更新しますのでブラウザの更新は押さないで下さい。(キャラ消失の原因になります)
</FORM>
EOM
	}else{
	print <<"EOM";
<form action="$script" method="post">
<input type=hidden name=id value=$kid>
<input type=hidden name=pass value=$kpass>
<input type=hidden name=mode value=log_in>
<input type=submit value="更新">
</form>
EOM

}
	print <<"EOM";
<table align="center" border=0><tr><td>
<table bgcolor="#000000" align="center" border=2>
<TR><TD>
	<table border=1 bgcolor="#fffff0" align="center">
	<TR><TD align="center" colspan="2" bgcolor="#000000"><font color="#ffffff">现在のチャンピオン</FONT></TD>
	<TD rowspan="3" bgcolor="777777" align="center"><font color="#ffff00"><b><i>$wcount</i></b></FONT><br><font color="#eaffaa"><i>连胜中</i></font></TD></TR>
	<TR><TD align="center"><FONT color="#f23e66"><B>$wname</B></font>さん</TD>
	<TD><B>$whp\/$wmaxhp</B></TD></TR>
	<TR><TD align="right" colspan="2">最後に<font color="#f23e66">$lname</font>さんに胜利しています。</TD></TR></table>
</TD></TR></table></td><td align="center">
<table border=1 bgcolor="#fffff0">
<tr>
<td colspan="4" bgcolor="#000000" align="center"><font color="#ffffff">大会レコ—ドベスト3</FONT></td>
</tr>
EOM
	$i=1;
	foreach(@TAIKAI){
		($rnumb,$pname,$pid,$ename) = split(/<>/);
		if($i == 4){ last; }
		$kiroku = $rnumb - 1;
		print "<tr>\n";
		print "<td align=center>$i位</td><td>$pnameさん</td><td>$kiroku人拔き!</td><td>$enameさんに败北</td>\n";
		print "</tr>\n";
		$i++;
	}

	print "</table></td></tr></table><p>\n";

	print <<"EOM";
<form action="$scriptb" method="post">
<table border=0 align="center" width='100%'>
<tr>
<td valign=top width='50%'>
<table border=1 width='100%'>
<tr><td colspan="5" class="b2" align="center">ホ—ムペ—ジデ—タ</td></tr>
<tr><td class="b1">ホ—ムペ—ジ名</td><td colspan="4"><input type="text" name=site value="$ksite" size=50></td></tr>
<tr><td class="b1">ホ—ムペ—ジのURL</td><td colspan="4"><input type="text" name=url value="http\:\/\/$kurl" size=50></td></tr>
<tr><td colspan="5" class="b2" align="center">キャラクタ—デ—タ</td></tr>
<tr><td rowspan="8" align="center" valign=bottom><img src="$img_path/$chara_img[$kchara]"><p>胜率:$syouritu\%<br>
<br>
<table width="100%" border=1>
<tr><td class="b2">武器</td><td bgcolor="#fffff0" align="right">$i_name</td></tr>
<tr><td class="b1">攻击力</td><td bgcolor="#fffff0" align="right">$i_dmg</td></tr>
<tr><td class="b2">防具</td><td bgcolor="#fffff0" align="right">$d_name</td></tr>
<tr><td class="b1">防御力</td><td bgcolor="#fffff0" align="right">$d_dmg</td></tr>
</table></td>
<td class="b1">なまえ</td><td><input type="text" name=c_name value="$kname"></td><td class="b1">性别</td><td>$esex</td></tr>
<tr><td class="b1">职业</td><td>$chara_syoku[$ksyoku]</td><td class="b1">クラス</td><td>$class</td></tr>
<tr><td class="b1">レベル</td><td>$klv</td><td class="b1">经验值</td><td>$kex/$next_ex</td></tr>
<tr><td class="b1">お金</td><td>$kgold</td><td class="b1">HP</td><td>$khp\/$kmaxhp</td></tr>
<tr><td class="b1">力</td><td>$kn_0</td><td class="b1">知能\</td><td>$kn_1</td></tr>
<tr><td class="b1">信仰心</td><td>$kn_2</td><td class="b1">生命力</td><td>$kn_3</td></tr>
<tr><td class="b1">器用さ</td><td>$kn_4</td><td class="b1">速さ</td><td>$kn_5</td></tr>
<tr><td class="b1">魅力</td><td>$kn_6</td><td class="b1">运</td><td>$klp</td></tr>
<tr><td class="b1">技发动时コメント</td><td colspan="4" align="center" bgcolor="#fffff0"><input type="text" name=waza value="$kwaza" size=50></td></tr>
<tr><td class="b1">チャンピオンを目指す</td><td colspan="4" align="center" bgcolor=#fffff0>
<input type="hidden" name=mode value=battle>
<input type="hidden" name=id value="$kid">
<input type="hidden" name=pass value="$kpass">

EOM

	if($wid eq $kid) { print "现在チャンプなので斗えません\n";
	}elsif($kid eq $lid and $chanp_milit == 1) { print "チャンプと战った直後なので疲れて斗えません\n";
	}elsif($ltime > $b_time or !$ktotal) {
		print "<input type=\"submit\" value=\"チャンプに挑战\">\n";
	}else{
		print "$ztime秒後斗えるようになります。\n";
	}

	print <<"EOM";
</td>
</tr></form><tr><td class="b1">
<form action="$scriptsent" method="post">
好きなキャラと对战</td><td align="center" bgcolor=#fffff0 colspan="4">

EOM

	if($wid eq $kid){ print "现在チャンプなので斗えません\n";
	}elsif($kmons < $sentou_limit){ print "一度チャンプと战わないと战斗できません\n";
	}elsif($kid eq $lid and $chanp_milit == 1){ print "チャンプと战った直後なので疲れて斗えません\n";
	}else{
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=sentak>\n";
print "<input type=submit value=\"对战相手を选ぶ\">\n";
}

	print <<"EOM";
</td><tr></form>
<form action="./tac.cgi" method="post">
<td class="b1">作战</td>
<td colspan="3" align="center" bgcolor=#fffff0><B>$ktac_name</B></td><td align="center" bgcolor=#fffff0>
<input type=hidden name=id value=$kid>
<input type=hidden name=pass value=$kpass>
<input type=hidden name=mode value=tac_eqq$ksyoku>
<input type=submit value="战术を变更する"></td>
</tr>
</table></form>
<td valign="top">
<table border=1 width="100%">
<tr><td colspan="4" class="b2" align="center">町の施设</td></tr>
<tr><td bgcolor="#cbfffe" align="center">【旅の宿】(<b>$yado_daix</b>G)</td>
<td bgcolor="#cbfffe" align="center">【武器屋】</td>
<td bgcolor="#cbfffe" align="center">【防具屋】</td>
<td bgcolor="#cbfffe" align="center">【训练所】</td></tr>
<tr><td align="center" bgcolor="#fffff0">
<form action="$scripty" method="post">
<input type=hidden name=id value=$kid>
<input type=hidden name=pass value=$kpass>
<input type=hidden name=mode value=yado>
<input type=submit value="宿泊する"></td>
<td align="center" bgcolor="#fffff0"></form>
<form action="$scripts" method="post">

⌨️ 快捷键说明

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