📄 yado.cgi
字号:
#!/usr/bin/perl
#--- [注意事项] ------------------------------------------------#
# 1. このスクリプトはフリ—ソフトです。このスクリプトを使用した #
# いかなる损害に对して作者は一切の责任を负いません。 #
# 2. 设置に关する质问はサポ—ト揭示板にお愿いいたします。 #
# 直接メ—ルによる质问は一切お受けいたしておりません。 #
#---------------------------------------------------------------#
# 日本语ライブラリの读み??み
require 'jcode.pl';
# レジストライブラリの读み??み
require 'regist.pl';
# 初期设定ファイルの读み??み
require 'ffadventure.ini';
require 'shop.ini';
#================================================================#
#┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓#
#┃ これより下はCGIに自信のある方以外は??わないほうが无难です ┃#
#┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛#
#================================================================#
#--------------#
# メイン处理 #
#--------------#
if($mente) { &error("バ—ジョンアップ中です。2、30秒ほどお待ち下さい。m(_ _)m"); }
&decode;
if($mode eq 'yado') { &yado; }
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 = (
yado => <<'__SUB__',
#------------#
# 体力回复 #
#------------#
sub yado {
&get_host;
$date = time();
# ファイルロック
if ($lockkey == 1) { &lock1; }
elsif ($lockkey == 2) { &lock2; }
open(IN,"./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
@YADO = <IN>;
close(IN);
$hit=0;@yado_new=();
foreach(@YADO){
($yid,$ypass,$ysite,$yurl,$yname,$ysex,$ychara,$yn_0,$yn_1,$yn_2,$yn_3,$yn_4,$yn_5,$yn_6,$ysyoku,$yhp,$ymaxhp,$yex,$ylv,$ygold,$ylp,$ytotal,$ykati,$ywaza,$yitem,$ymons,$yhost,$ydate,$ymori,$ydef,$ytac,$ykumite) = split(/<>/);
if($in{'id'} ne "$yid" or $in{'pass'} ne "$ypass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
if($ymori < $boss) { $ymori = 0; }
$ykumite = 0;
$yado_daix = int($ylv * $yado_dai);
if($in{'id'} eq "$yid" and $in{'pass'} eq "$ypass") {
if($in{'id'} ne "$yid" or $in{'pass'} ne "$ypass"){&error("オ—プンエラ—、ID·パスワ—ドが正しくありません。");}
if($ygold < $yado_daix) { &error("お金が足りません"); }
else { $ygold = $ygold - $yado_daix; }
unshift(@yado_new,"$yid<>$ypass<>$ysite<>$yurl<>$yname<>$ysex<>$ychara<>$yn_0<>$yn_1<>$yn_2<>$yn_3<>$yn_4<>$yn_5<>$yn_6<>$ysyoku<>$ymaxhp<>$ymaxhp<>$yex<>$ylv<>$ygold<>$ylp<>$ytotal<>$ykati<>$ywaza<>$yitem<>$ymons<>$host<>$ydate<>$ymori<>$ydef<>$ytac<>$ykumite<>\n");
}else{
push(@yado_new,"$_");
}
}
open(OUT,">./charalog/$in{'id'}.cgi") or &error('ファイルを开けませんでした。');
print OUT @yado_new;
close(OUT);
&read_winner;
if($wid eq "$in{'id'}") {
open(OUT,">$winner_file");
print OUT "$wid<>$wpass<>$wsite<>$wurl<>$wname<>$wsex<>$wchara<>$wn_0<>$wn_1<>$wn_2<>$wn_3<>$wn_4<>$wn_5<>$wn_6<>$wsyoku<>$wmaxhp<>$wmaxhp<>$wex<>$wlv<>$wgold<>$wlp<>$wtotal<>$wkati<>$wwaza<>$witem<>$wmons<>$host<>$ydate<>$wcount<>$lsite<>$lurl<>$lname<>$wmori<>$wdef<>$wtac<>$lid<>$wkumite<>\n";
close(OUT);
}
# ロック解除
if (-e $lockfile) { unlink($lockfile); }
&header;
print <<"EOM";
<h1>体力を回复しました</h1>
<hr size=0>
<p>
EOM
&footer;
exit;
}
__SUB__
read_winner => <<'__SUB__',
#--------------------#
# チャンプ读み??み #
#--------------------#
sub read_winner {
open(IN,"$winner_file");
@winner = <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(/<>/,$winner[0]);
}
__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=$yid>\n";
print "<input type=hidden name=pass value=$ypass>\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 "$veryg 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 + -