📄 others.cgi
字号:
#!/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 "") { &html_top; }
elsif($mode eq 'chara_make') { &chara_make; }
elsif($mode eq 'regist') { ®ist; }
elsif($mode eq 'make_end') { &make_end; }
elsif($mode eq 'tensyoku') { &tensyoku; }
elsif($mode eq 'ranking') { &ranking; }
elsif($mode eq 'message') { &message; }
&html_top;
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#┃ オ—トロ—ダ—
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
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 = (
html_top => <<'__SUB__',
#-----------------#
# TOPペ—ジ表示 #
#-----------------#
sub html_top {
&read_winner;
&get_cookie;
&class;
open(IN,"$chara_file1")|| &error('オ—プンエラ—','指定された书??みファイルが开けません。');
@level=<IN>;
close(IN);
@tmp = map {(split /<>/)[18]} @level;
@level = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[16]} @level;
@hitp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[7]} @level;
@atack = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[8]} @level;
@def = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[9]} @level;
@rp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[10]} @level;
@gp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[11]} @level;
@sp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[12]} @level;
@bp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[13]} @level;
@lp = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[20]} @level;
@yen = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
@tmp = map {(split /<>/)[19]} @level;
@lyen = @level[sort {$tmp[$b] <=> $tmp[$a]} 0 .. $#tmp];
if($wkati) { $ritu = int(($wkati / $wtotal) * 100); }
else { $ritu = 0; }
open(IN,"$recode_file");
@recode = <IN>;
close(IN);
($rcount,$rname,$rsite,$rurl) = split(/<>/,$recode[0]);
open(IN,"$recode_file1");
@recode1 = <IN>;
close(IN);
($rtocount,$rtoname,$rtosite,$rtourl) = split(/<>/,$recode1[0]);
if($wsex) { $esex = "男"; } else { $esex = "女"; }
$next_ex = $wlv * $lv_up;
if($witem){
open(IN,"$item_file");
@battle_item = <IN>;
close(IN);
foreach(@battle_item){
($wi_no,$wi_name,$wi_dmg) = split(/<>/);
if($witem eq $wi_no) { last; }
}
}else{ $wi_name = "-"; }
if($wdef){
open(IN,"$def_file");
@battle_def = <IN>;
close(IN);
foreach(@battle_def){
($wd_no,$wd_name,$wd_dmg) = split(/<>/);
if($wdef eq $wd_no) { last; }
}
}else{ $wd_name = "-"; }
# ヘッダ—表示
&header;
# HTMLの表示
print "<form action=\"$script\" method=\"POST\">\n";
print "<input type=\"hidden\" name=\"mode\" value=\"log_in\">\n";
print "<table border=0 width='100%'>\n";
print "<tr>\n";
print "<td valign=\"top\">\n";
open(GUEST,"$guestfile") or &error('ファイルを开けませんでした。');
@member=<GUEST>;
close(GUEST);
$num = @member;
print "<font size=2 color=#000000>现在の冒险者(<B>$num人</B>):</font><BR>";
foreach $line (@member) {
($ntimer,$nname,$nid,$nhost) = split(/ \, /, $line);
if(!@member){@member = '边りには谁もいません···'; $num = 0;}
print "<font size=2 color=#0000aa>$nname</font><font size=1 color=#000000> <B>\/\</B> </font></font>";
}
print "</td>\n";
print <<"EOM";
<td align="right" valign="top">
<table border=1>
<tr><td align=center colspan=5 class=b2>キャラクタ—を作成济みの方はこちらから</td></tr>
<tr><td class=b1>I D</td><td><input type="text" size="10" name="id" value="$c_id"></td>
<td class=b1>パスワ—ド</td><td><input type="password" size="10" name="pass" value="$c_pass"></td>
<td><input type="submit" value="ログイン"></td></tr></table>
</td></tr></table>
<hr size=0>
/ <a href="$homepage" TARGET="_top">$home_title</a> /<a href="$scripto?mode=ranking">登录者一览</a> / <a href="$ranking">\能\力别ランキングへ</a> / <a href="$syoku_html">各职业に必要な特性值</a> / <a href="$bbs">$bbs_title</a> / <a href="$sbbs">$sbbs_title</a> / <a href="$vote">$vote_title</a> / <a href="http://www8.lunartecs.ne.jp/~gun/cgi/c-board2/c-board.cgi">FFA改造\情\报交\换揭示板</a> /
</form>
<TABLE ALIGN="center" width="100%"><tr><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
レベルNO.1</TD></TR>
EOM
$i=1;
foreach(@level){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$glv</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
HPNO.1</TD></TR>
EOM
$i=1;
foreach(@hitp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gmaxhp</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
力NO.1</TD></TR>
EOM
$i=1;
foreach(@atack){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_0</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
知\能\NO.1</TD></TR>
EOM
$i=1;
foreach(@def){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_1</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
信仰心NO.1</TD></TR>
EOM
$i=1;
foreach(@rp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_2</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
生命力NO.1</TD></TR>
EOM
$i=1;
foreach(@gp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_3</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
器用さNO.1</TD></TR>
EOM
$i=1;
foreach(@sp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_4</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
速さNO.1</TD></TR>
EOM
$i=1;
foreach(@bp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_5</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
魅力NO.1</TD></TR>
EOM
$i=1;
foreach(@lp){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$gn_6</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
运NO.1</TD></TR>
EOM
$i=1;
foreach(@yen){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$glp</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE><td width="9%"><TABLE BORDER=1 width="100%">
<TR><TD ALIGN="center" CLASS="b2" COLSPAN="2">
お金NO.1</TD></TR>
EOM
$i=1;
foreach(@lyen){
($gid,$gpass,$gsite,$gurl,$gname,$gsex,$gchara,$gn_0,$gn_1,$gn_2,$gn_3,$gn_4,$gn_5,$gn_6,$gsyoku,$ghp,$gmaxhp,$gex,$glv,$ggold,$glp,$gtotal,$gkati,$gwaza,$gitem,$gmons,$ghost,$gdate,$gmori,$gdef,$gtac,$gkumite)=split(/<>/);
print "<TR><TD ALIGN=\"center\">$gname</TD></TR>\n";
print "<TR><TD ALIGN=\"center\">$ggold</TD></TR>\n";
$i++;
if($i >1){last;}
}
print <<"EOM";
</TABLE>
</table>
<p><center>
<FONT SIZE=\"3\">现在の最高连胜记录は、$rnameさんの「<A HREF=\"http\:\/\/$rurl\" TARGET=\"_blank\"><FONT SIZE=\"3\" COLOR=\"#6666BB\">$rsite</FONT></A>」、<b>$rcount</b>连胜です。<br>
最近1周间の连胜记录は、$rtonameさんの「<A HREF=\"http\:\/\/$rtourl\" TARGET=\"_blank\"><FONT SIZE=\"3\" COLOR=\"#6666BB\">$rtosite</FONT></A>」、<b>$rtocount</b>连胜です。</FONT></center><p>
<table border=0 width='100%'>
<tr>
<td width="500" valign="top">
<table border=1 width="100%">
<tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -