📄 sentou.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';
# [设定はここまで]------------------------------------------------------------#
# これより下は、CGIのわかる方以外は、变更しないほうが良いです。
#-----------------------------------------------------------------------------#
if($mente) { &error("现在バ—ジョンアップ中です。しばらくお待ちください。"); }
&decode;
if($mode eq 'tatakai') { &tatakai; }
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 = (
tatakai => <<'__SUB__',
#--------------------#
# キャラ选择バトル #
#--------------------#
sub tatakai {
if($in{'sentou'} eq "") { &error("相手が指定されていません"); }
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·パスワ—ドが正しくありません。");}
&read_winner;
&read_hima;
if($wid eq $kid) { &error("现在チャンプなので斗えません。"); }
if($kmons != $sentou_limit) { &error("1度チャンピオンと战わないと战斗できません"); }
if($chanp_milit) {
if($kid eq $lid) { &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($titem){
open(IN,"$item_file");
@battle_item = <IN>;
close(IN);
foreach(@battle_item){
($ti_no,$ti_name,$ti_dmg) = split(/<>/);
if($titem eq $ti_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; }
}
}
if($tdef){
open(IN,"$def_file");
@battle_def = <IN>;
close(IN);
foreach(@battle_def){
($td_no,$td_name,$td_dmg) = split(/<>/);
if($tdef eq $td_no) { last; }
}
}
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;
$thp_flg = $tmaxhp;
$i=1;$j=0;@battle_date=();
foreach(1..$turn) {
$dmg1 = $klv * (int(rand(3)) + 1);
$dmg2 = $tlv * (int(rand(3)) + 1);
$clit1 = "";
$clit2 = "";
$com1 = "";
$com2 = "";
$kawasi1 = "";
$kawasi2 = "";
$sake1 = int(rand($kn_5)) - int(rand($tn_4));
$sake2 = int(rand($tn_5)) - int(rand($kn_4));
&tyousensya;
# チャンプダメ—ジ计算
if($tsyoku == 0){
$dmg2 = $dmg2 + int(rand($tn_0)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを取って\构\えた!<FONT COLOR=\"#204DB5\">磨き拔かれた$ti_nameが天地霸王の如く敌を斩り捌くッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、剑を取って\构\えた!! <FONT COLOR=\"#204DB5\">磨き拔かれた刚剑が天地霸王の如く敌を斩り捌くッ!!</FONT><p>";}
}elsif($tsyoku == 1){
$dmg2 = $dmg2 + int(rand($tn_1)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを揭げ咏唱を始めた!! <FONT COLOR=\"#AC3011\">古代より生まれし言叶が红莲の炎を作り上げ、敌を包むッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、杖を揭げ咏唱を始めた!! <FONT COLOR=\"#AC3011\">古代より生まれし言叶が红莲の炎を作り上げ、敌を包むッ!!</FONT><p>";}
}elsif($tsyoku == 2){
$dmg2 = $dmg2 + int(rand($tn_2)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを天にかざし神に祈りを捧げた!! <FONT COLOR=\"#929197\">污れ无き心は天に届き、圣なる力が邪なる者を肃正するッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、神に祈りを捧げた!! <FONT COLOR=\"#929197\">污れ无き心は天に届き、圣なる力が邪なる者を肃正するッ!!</FONT><p>";}
}elsif($tsyoku == 3){
$dmg2 = $dmg2 + int(rand($tn_4)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを掴み、敌の目の前から姿を消した!! <FONT COLOR=\"#918293\">目标を见失った敌は成す术无く伤が增えていくッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、敌の目の前から姿を消した!!<FONT COLOR=\"#918293\"> 目标を见失った敌は成す术无く斩られて行くッ!!</FONT><p>";}
}elsif($tsyoku == 4){
$dmg2 = $dmg2 + int(rand($tn_4)) + int(rand($tn_0)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、弓を引いた!! <FONT COLOR=\"#76A014\">放たれた矢は风を斩り、真空と化して敌の心脏を贯くッ!!</FONT><p>";}
}elsif($tsyoku == 5){
$dmg2 = $dmg2 + (int(rand($tn_1)) + int(rand($tn_4))) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを龙の如く操った!! <FONT COLOR=\"#824D8C\">命を贳い受けた$ti_nameが念りを上げ、敌に向かっていくッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、锁を龙の如く操った!! <FONT COLOR=\"#824D8C\">命を贳い受けた锁が念りを上げ、敌を缚り上げるッ!!</FONT><p>";}
}elsif($tsyoku == 6){
$dmg2 = $dmg2 + int(rand($tn_4)) + int(rand($tn_6)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、乐器を奏でた!! <FONT COLOR=\"#BFC910\">その美しい音色が刃となり、敌をあの世に诱うッ!!</FONT><p>";}
}elsif($tsyoku == 7){
$dmg2 = $dmg2 + (int(rand($tn_1)) + int(rand($tn_3))) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを目の前に突き出した!!<FONT COLOR=\"#07079A\">$ti_nameから发した何にも属さぬ稻妻が轰き、敌の生命を绝つッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、身体中から苍い电流を发した!! <FONT COLOR=\"#07079A\">何にも属さぬ稻妻が轰き、敌の生命を绝つッ!!</FONT><p>";}
}elsif($tsyoku == 8){
$dmg2 = $dmg2 + (int(rand($tn_0)) + int(rand($tn_2))) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを\构\え空高く舞った!! <FONT COLOR=\"#22C8DF\">神の力を宿した$ti_nameが主君に逆らいし邪なる敌を贯くッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、翼を广げ空高く舞った!! <FONT COLOR=\"#22C8DF\">神の力を宿した枪が主君に逆らいし邪なる敌を贯くッ!!</FONT><p>";}
}elsif($tsyoku == 9){
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_2)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを揭げ神圣魔法の咏唱を始めた。<FONT COLOR=\"#E2A607\">圣なる波动が体を包むッ!! 波动は天の光に姿を变えて敌を烧き焦すッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、神圣魔法の咏唱を始めた。<FONT COLOR=\"#E2A607\">圣なる波动が体を包むッ!! 波动は天の光に姿を变えて敌を烧き焦すッ!!</FONT><p>";}
}elsif($tsyoku == 10){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_2)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを天に翳した!! <FONT COLOR=\"#DEC90C\">大いなる父、神の名の元に敌を斩るッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、剑を天に翳した!! <FONT COLOR=\"#DEC90C\">大いなる父、神の名の元に敌を斩るッ!!</FONT><p>";}
}elsif($tsyoku == 11){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_5)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、刀を拔き放った!! <FONT COLOR=\"#6D0BE6\">东方より传わりし剑术、その极意は、一刀两断ッ!!</FONT><p>";}
}elsif($tsyoku == 12){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_3)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、静かに精神集中した。<FONT COLOR=\"#2B3842\">鼓动が秘めたる力を解放するッ!! 拳は波动を宿し敌を碎くッ!!</FONT><p>";}
}elsif($tsyoku == 13){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_4)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、暗の中に姿を消した。<FONT COLOR=\"#84556B\">刹那の动きが岚となり、刃は疾风迅雷の如く敌を斩り舍てるッ!!</FONT><p>";}
}elsif($tsyoku == 14){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_3)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを强く握り缔めた!! 负の斗气が$ti_nameに宿り、敌を绝望の渊に追いやるッ!!<p>"; }
else{ $com2 = "$tnameは、剑を强く握り缔めた!! 负の斗气が剑に宿り、敌を绝望の渊に追いやるッ!!<p>";}
}elsif($tsyoku == 15){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_1)) + int(rand($tn_4)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameに古代文字を书き入れた!! <FONT COLOR=\"#FD0423\">魔力を??めた$ti_nameは红く光り、全てを斩り裂く冲击破を发するッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、剑に古代文字を书き入れた!! <FONT COLOR=\"#FD0423\">魔力を??めた剑は红く光り、全てを斩り裂く冲击破を发するッ!!</FONT><p>";}
}elsif($tsyoku == 16){
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_4)) + int(rand($tn_5)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、铳を\构\えた!! <FONT COLOR=\"#81CC1C\">古代の遗产、マテリアに凝缩された魔力が弹丸に??められ敌を击つッ!!</FONT><p>";}
}elsif($tsyoku == 17){
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_2)) + int(rand($tn_6)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで六芒星を描いた!! <FONT COLOR=\"#FC4EFC\">异世界より呼ばれし者が命を受け、敌を亡き者と化すッ!!</FONT><p>"; }
else{ $com2 = "$tnameは、六芒星を描いた!! <FONT COLOR=\"#FC4EFC\">异世界より呼ばれし者が命を受け、敌を亡き者と化すッ!!</FONT><p>";}
}elsif($tsyoku == 18){
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_2)) + int(rand($tn_3)) + int(rand($tn_4)) + int(rand($tn_5)) + int(rand($tn_6)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameで攻击!!"; }
else{ $com2 = "$tnameは、两腕を广げた!! <FONT COLOR=\"#324F2F\">人知を越えた魔力が地球を摇るがすッ!! 想像を绝する强大な力は全てを破坏するッ!!</FONT><p>";}
}elsif($tsyoku == 19){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_3)) + int(rand($tn_4)) + int(rand($tn_5)) + $ti_dmg;
if($titem){ $com2 = "$tnameは、$ti_nameを取り出した!! 死角のない完璧な攻击が敌を翻弄し、知らぬ间に死を与えるッ!!<p>"; }
else{ $com2 = "$tnameは、全ての武器を取り出した!! 死角のない完璧な攻击が敌を翻弄し、知らぬ间に死を与えるッ!!<p>";}
}elsif($tsyoku == 20){
if($titem) {
$com2 = "$tnameは$ti_nameを取り出した···<p>";
if($ti_no eq 0234 or $ti_no eq 0235 or $ti_no eq 0236){
$tura = $ti_dmg;
}else{
$tura = int(rand(40));
}
}else{
$tura = int(rand(40));
}
$com2 = "$tnameは、タロットカ—ドを一枚卷った!! 生か死か? 全てはこの运命のカ—ド一枚に委ねられたッ!!</FONT><p>";
if(0 == $tura) {
$com2 .= "<font size=5>THE MAGICIAN!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_1)) + int(rand($tn_1)) * 30;
}elsif(1 == $tura) {
$com2 .= "<font size=5>THE CHARIOT!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_0)) + int(rand($tn_0)) * 30;
}elsif(2 == $tura) {
$com2 .= "<font size=5>STRENGTH!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_3)) * 15;
}elsif(3 == $tura) {
$com2 .= "<font size=5>THE HIGH PRIESTESS!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_2)) + int(rand($tn_6)) * 13;
}elsif(4 == $tura) {
$com2 .= "<font size=5>THE HIEROPHANT!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_2)) + int(rand($tn_2)) + int(rand($tn_6)) * 20;
}elsif(5 == $tura) {
$com2 .= "<font size=5>THE EMPRESS!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_6)) + int(rand($tn_6)) + int(rand($tn_6)) * 15;
}elsif(6 == $tura) {
$com2 .= "<font size=5>THE EMPEROR!!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_1)) + int(rand($tn_3)) + int(rand($tn_6)) * 20;
}elsif(7 == $tura) {
$com2 .= "<font size=5>THE LOVERS!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_6)) * 13;
}elsif(8 == $tura) {
$com2 .= "<font size=5>THE HERMIT!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_1)) + int(rand($tn_2)) * 13;
}elsif(9 == $tura) {
$com2 .= "<font size=5>WHEEL of FORTUNE!!!!</font>\n";
$dmg2 = $dmg2 * int(rand(300));
}elsif(10 == $tura) {
$com2 .= "<font size=5>JUSTICE!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_4)) + int(rand($tn_5)) * 13;
}elsif(11 == $tura) {
$com2 .= "<font size=5>THE HANGEDMAN!!!!</font>\n";
$dmg2 = int(0);
}elsif(12 == $tura) {
$com2 .= "<font size=5>DEATH!!!!</font>\n";
$dmg2 = int(0) - int(rand($tn_2)) - int(rand($tn_2)) - int(rand($tn_6)) * 20;
}elsif(13 == $tura) {
$com2 .= "<font size=5>TEMPERANCE!!!!</font>\n";
$dmg2 = $dmg2 * int(rand($tn_4));
}elsif(14 == $tura) {
$com2 .= "<font size=5>THE DEVIL!!!!</font>\n";
$dmg2 = int(0) - $dmg2 - int(rand($tn_2)) - int(rand($tn_2)) - int(rand($tn_2)) * 15;
}elsif(15 == $tura) {
$com2 .= "<font size=5>THE TOWER!!!!</font>\n";
$dmg2 = int(0) - int(rand($tn_2)) - int(rand($tn_2)) - int(rand($tn_6)) * 13;
}elsif(16 == $tura) {
$com2 .= "<font size=5>THE STAR!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_3)) * 13;
}elsif(17 == $tura) {
$com2 .= "<font size=5>THE MOON!!!!</font>\n";
$dmg2 = $dmg2 - int(rand($tn_2)) - int(rand($tn_6)) * 13;
}elsif(18 == $tura) {
$com2 .= "<font size=5>THE SUN!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_3)) + int(rand($tn_3)) * 13;
}elsif(19 == $tura) {
$com2 .= "<font size=5>THE JUDGEMENT!!!!</font>\n";
$dmg2 = $dmg2 + int(rand($tn_2)) + int(rand($tn_2)) * int(rand($tn_2));
}elsif(20 == $tura) {
$com2 .= "<font size=5>THE WORLD!!!!</font>\n";
$dmg2 = ($dmg2 + int(rand($tn_0)) + int(rand($tn_1)) + int(rand($tn_2)) + int(rand($tn_3)) + int(rand($tn_4)) + int(rand($tn_5)) + int(rand($tn_6))) * 100;
}else{
$com2 .= "<font size=5>THE FOOL····</font>\n";
$dmg2 = int(0);
}
}elsif($tsyoku == 21){
$dmg2 = $dmg2+ (int(rand($tn_4)) + int(rand($tn_5)) + int(rand($tn_6))) + $ti_dmg;
if($titem){ $com2 = "$tnameはダンスを始めた。$ti_nameが华丽な舞いを惹き立てる!!!"; }
else{ $com2 = "$tnameは、ダンスを始めた!!</FONT><p>";}
}elsif($tsyoku == 22){
$dmg2 = $dmg2 + int(rand($tn_0)) + int(rand($tn_0)) + int(rand($tn_3)) + int(rand($tn_3)) + int(rand($tn_4)) + int(rand($tn_5));
if($titem){ $com2 = "$tnameは$ti_name後ろに投げた···。天地を碎く刚拳が敌を袭う!!<p>"; }
else{ $com2 = "$tnameに後退はない。あるのは前进胜利のみ!天地を碎く刚拳が敌を袭う!!<p>";}
}
if(int(rand(20)) == 0) {
$clit1 = "<b class=\"clit\">クリティカル!!</b>";
$dmg1 = $dmg1 * 2;
}
if(int(rand(30)) == 0) {
$clit2 = "<font size=5>$tname「<b>$twaza</b>」</font><p><b class=\"clit\">クリティカル!!</b>";
$dmg2 = int($dmg2 * 2);
}
if($tmaxhp > ($kmaxhp * 2) and $i == 1) {
if($tlv - $klv >= $level_sa){
$sa = $kmaxhp;
$clit1 .= "<p><font size=5><b>$knameの体から<font color=blue>青い炎</font>のようなものが涌き上がる···。</b></font>";
if($thp_flg < $sa){$dmg1 = $dmg1;}
elsif($dmg1 > $thp_flg - $sa){$dmg1 = $dmg1;}
else{$dmg1 = $thp_flg - $sa;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -