📄 monster.cgi
字号:
#!/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 'battle.pl';
# 儗僕僗僩儔僀僽儔儕偺撉傒崬傒
require 'regist.pl';
# 弶婜愝掕僼傽僀儖偺撉傒崬傒
require 'ffadventure.ini';
if($mente) { &error("尰嵼僶乕僕儑儞傾僢僾拞偱偡丅偟偽傜偔偍懸偪偔偩偝偄丅"); }
&decode;
if($mode eq 'monster1') { &monster1; }
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 = (
monster1 => <<'__SUB__',
#----------------------#
# 杺偺怷偱偺愴摤 #
#----------------------#
sub monster1 {
if($battle_flag) { &error("尰嵼愴摤拞偱偡丅彮偟偍懸偪偵側偭偰偐傜愴摤偟偰偔偩偝偄丅"); }
$battle_flag=1;
open(IN,"./charalog/$in{'id'}.cgi") or &error('僼傽僀儖傪奐偗傑偣傫偱偟偨丅');
@battle = <IN>;
close(IN);
foreach(@battle){
($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丒僷僗儚乕僪偑惓偟偔偁傝傑偣傫丅");}
if(!$kmori) { &error("堦搙僉儍儔僋僞乕偲摤偭偰偔偩偝偄"); }
$ztime = time();
$ztime = $ztime - $kdate;
$k_time = 3;
if($ztime < $k_time) { &error("旀傟偰偄傑偡"); }
if($kitem){
open(IN,"$item_file");
@battle_item = <IN>;
close(IN);
foreach(@battle_item){
($ci_no,$ci_name,$ci_dmg) = split(/<>/);
if($kitem eq $ci_no) { last; }
}
}
if($kdef){
open(IN,"$def_file");
@battle_def = <IN>;
close(IN);
foreach(@battle_def){
($cd_no,$cd_name,$cd_dmg) = split(/<>/);
if($kdef eq $cd_no) { last; }
}
}
open(IN,"$monster_file1") or &error('僼傽僀儖傪奐偗傑偣傫偱偟偨丅');
@MONSTER = <IN>;
close(IN);
$r_no = $kmori;
($mname,$mex,$mhp,$msp,$mdmg,$mkahi) = split(/<>/,$MONSTER[$r_no]);
if($in{'site'}) { $ksite = $in{'site'}; }
if($in{'url'}) { $kurl = $in{'url'}; }
if($in{'waza'}) { $kwaza = $in{'waza'}; }
if($in{'c_name'}) { $kname = $in{'c_name'}; }
$khp_flg = $khp;
$mhp = int(rand($mhp)) + $msp;
$mhp_flg = $mhp;
$i=1;$j=0;@battle_date=();
foreach(1..$turn) {
$dmg1 = $klv * (int(rand(3)) + 1);
$dmg2 = (int(rand($mdmg)) + 1);
$clit1 = "";
$clit2 = "";
$com1 = "";
$com2 = "$mname偑廝偄偐偐偭偨両両";
$kawasi1 = "";
$kawasi2 = "";
&tyousensya;
if(int(rand(30)) == 0) {
$clit2 = "<b class=\"clit\">僋儕僥傿僇儖両両</b>";
$dmg2 = int($dmg2 * 1.5);
}
if($dmg2 < 0){$dmg2 = $dmg2;}
elsif($dmg2 < $cd_dmg){$dmg2 = 0;}
else{$dmg2 = $dmg2 - $cd_dmg;}
if(int(rand($kn_5)) > int(rand(200))) {
$dmg2 = 0;
$kawasi1 = "<P><FONT SIZE=4 COLOR=\"#DD6699\">$kname偼恎傪偐傢偟偨両</FONT>";
}
if(int(rand($mkahi)) > int(rand(60))) {
$dmg1 = 0;
$kawasi2 = "<P><FONT SIZE=4 COLOR=\"#DD6699\">$mname偼恎傪偐傢偟偨両</FONT>";
}
$battle_date[$j] = <<"EOM";
<TABLE BORDER=0>
<TR>
<TD CLASS="b2" COLSPAN="3" ALIGN="center">
$i僞乕儞
</TD>
</TR>
<TR>
<TD>
<TABLE BORDER=1>
<TR>
<TD CLASS="b1">
側傑偊
</TD>
<TD CLASS="b1">
HP
</TD>
<TD CLASS="b1">
怑嬈
</TD>
<TD CLASS="b1">
LV
</TD>
</TR>
<TR>
<TD>
$kname
</TD>
<TD>
$khp_flg\/$kmaxhp
</TD>
<TD>
$chara_syoku[$ksyoku]
</TD>
<TD>
$klv
</TD>
</TR>
</TABLE>
</TD>
<TD>
<FONT SIZE=5 COLOR="#9999DD">VS</FONT>
</TD>
<TD>
<TABLE BORDER=1>
<TR>
<TD CLASS="b1">
側傑偊
</TD>
<TD CLASS="b1">
HP
</TD>
</TR>
<TR>
<TD>
$mname
</TD>
<TD>
$mhp/$mhp_flg
</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
<p>
$com1 $clit1 $kawasi2 $mname 偵 <font class="dmg"><b>$dmg1</b></font> 偺僟儊乕僕傪梌偊偨丅<p>
$com2 $clit2 $kawasi1 $kname 偵 <font class="dmg"><b>$dmg2</b></font> 偺僟儊乕僕傪梌偊偨丅<p>
EOM
$mhp = $mhp - $dmg1;
if($mhp <= 0) { $win = 1; last; }
else {
$khp_flg = $khp_flg - $dmg2;
}
if($khp_flg <= 0) { $win = 0; last; }
$i++;
$j++;
}
if($win) {
$ktotal += 1;
$kkati += 1;
$kex = $kex + $mex;
$kmori -= 1;
$gold = $klv * 3 + int(rand($klp));
$kgold = $kgold + $gold;
$comment = "<b><font size=5>$kname偼丄愴摤偵彑棙偟偨両両</font></b><p>";
}else{
$ktotal += 1;
$mex = 1;
$kex = $kex + $mex;
$kmori = 0;
$kgold = int(($kgold / 10));
$comment = "<b><font size=5>$kname偼丄愴摤偵晧偗偨丒丒丒丅</font></b><p>";
}
if($kex >= ($klv * $lv_up)) {
$comment .= "$kname偼丄儗儀儖偑忋偑偭偨両両<p>";
$hpup = int(rand($kn_3)) + 1;
$kmaxhp = $kmaxhp + $hpup;
$khp = $kmaxhp;
$comment .= "俫俹偑<b>$hpup</b>忋偑偭偨両両<p>";
$kex = 0;
$klv += 1;
if(int(rand(5)) == 0) { $kn_0 += 1; $t1 = 1;}
if(int(rand(5)) == 0) { $kn_1 += 1; $t2 = 1;}
if(int(rand(5)) == 0) { $kn_2 += 1; $t3 = 1;}
if(int(rand(5)) == 0) { $kn_3 += 1; $t4 = 1;}
if(int(rand(5)) == 0) { $kn_4 += 1; $t5 = 1;}
if(int(rand(5)) == 0) { $kn_5 += 1; $t6 = 1;}
if(int(rand(5)) == 0) { $kn_6 += 1; $t7 = 1;}
if($t1) { $comment .= "椡偑忋偑偭偨丅"; }
if($t2) { $comment .= "抦\擻\偑忋偑偭偨丅"; }
if($t3) { $comment .= "怣嬄怱偑忋偑偭偨丅"; }
if($t4) { $comment .= "惗柦椡偑忋偑偭偨丅"; }
if($t5) { $comment .= "婍梡偝偑忋偑偭偨丅"; }
if($t6) { $comment .= "懍偝偑忋偑偭偨丅"; }
if($t7) { $comment .= "枺椡偑忋偑偭偨丅"; }
}
$khp = $khp_flg + int(rand($kn_3));
if($khp > $kmaxhp) { $khp = $kmaxhp; }
if($khp <= 0) { $khp = $kmaxhp; }
®ist;
&header;
print <<"_BATTLE_";
<FONT SIZE="5" COLOR="#7777DD"><B>杺偺怷</B></FONT>
<BR>
<HR SIZE=0 WIDTH="100%">
<BR>
<FONT SIZE=3>乽杺偺怷乿丒丒丒丒丒丒丒丅偙偙偵偼丄偙偺悽偵懚嵼偡傞偼偢偺側偄惗暔偑懚嵼偡傞偲偄偆丅<BR>
偦偟偰丄堦搙懌傪摜傒擖傟偨傕偺偼丄寛偟偰栠偭偰偔傞偙偲偼側偄偲傑偱尵傢傟偰偄偨丅<BR>
偟偐偟丄嵟嬤偱偼偙偺乽杺偺怷乿傊恀偺嫮偝傪媮傔丄挧愴偡傞傕偺偑愨偊側偄偲偄偆丅<BR>
偦偟偰丄崱擔傕傑偨偙偺乽杺偺怷乿傊偲懌傪摜傒擖傟偨傕偺偑偄偨丒丒丒丅</FONT>
<P>
<B><CENTER><FONT SIZE="6">$mname</B>偑尰傟偨両</FONT></CENTER>
<BR>
<BR>
_BATTLE_
$i=0;
foreach(@battle_date){
print "$battle_date[$i]";
$i++;
}
if($win) { print "$comment<p>$kname偼丄$mex偺宱尡抣傪庤偵擖傟偨丅<b>$gold</b>G庤偵擖傟偨丅<p>\n"; }
else { print "$comment<p>$kname偼丄$mex偺宱尡抣傪庤偵擖傟偨丅偍嬥偑侾侽暘偺侾偵側偭偨丒丒丒(椳)<p>\n"; }
&footer;
$battle_flag=0;
exit;
}
__SUB__
footer => <<'__SUB__',
#------------------#
#丂HTML偺僼僢僞乕丂#
#------------------#
sub footer {
if($refresh and !$win) {
print "<form action=\"$script\" method=\"post\">\n";
print "<INPUT TYPE=\"button\" VALUE=\"TOP儁乕僕傊\" onClick=\"location=\'$scripto\'\">\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";
}elsif($kmori > 0){
print "<form action=\"$scriptm\" method=\"post\">\n";
print "<INPUT TYPE=\"button\" VALUE=\"TOP儁乕僕傊\" onClick=\"location=\'$scripto\'\">\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=monster1>\n";
print "<input type=submit value=\"愭傊恑傓丒丒丒丒\">\n";
print "</form>\n";
}else{
print "<form action=\"$script\" method=\"post\">\n";
print "<A HREF=\"$scripto\">俿俷俹儁乕僕傊</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 "$vermg edit by <a href=\"http://www.gun-online.com/\" target=\"_top\">俧倀俶</a><br>\n";
print "$verg remodeling by <a href=\"http://www.gun-online.com/\" target=\"_top\">俧倀俶</a><br>\n";
print "$verm 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 "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 + -