📄 ebs_sub4.cgi
字号:
sub BATTLE1{
&DBM_INPORT(P);
@PL_VALUES = split(/\s/,$P{"$FORM{'pname'}"});
&REPAIR(PL);
&ERROR('流浪者机师不能内乱') if $FORM{'b_mode'} eq '内乱' && !$PL_VALUES[5];
&ERROR('队长或者总帅不允许内乱') if $FORM{'b_mode'} eq '内乱' && $PL_VALUES[6]!=0;
&ERROR('在修理中') if $PL_VALUES[25]==1;
### 内乱组织费
&ERROR('内乱组织费不够') if ($FORM{'b_mode'} eq '内乱') && ($PL_VALUES[8] <= $NAIRAN_MONEY);###内乱限制费
### end
&HEADER;
require "./$LOG_FOLDER/$HASH_DATA";
require "./$LOG_FOLDER/_ex.data";
local($WN_A,$WLV_A,$WEX_A) = split(/!/,$PL_VALUES[9]);
@WN_sA=split(/\,/,$WEAPON_LIST{"$WN_A"});
@PEX_A=split(/\,/,$WEAPONEX_LIST{"$WEX_A"});
if ($PEX_A[1] eq "e"){$WN_sA[4]=int($WN_sA[4]*1.2);}
if ($PEX_A[1] eq "f"){$WN_sA[4]=int($WN_sA[4]*0.8);}
$PL_VALUES[17] < $WN_sA[4] && do{print "EN不足。";exit;};
&DBM_INPORT(C);
@pair = split(/;/, $ENV{'HTTP_COOKIE'});
foreach (@pair) {my($key, $value) = split(/=/, $_);$DUMMY{$key} = $value;}
@MISSION=('普通攻击,0','突击,5','防御,18','防守反击,25',
'狙击,30','闪身,40','见切,50','全弹放出,70','乱射,120','心眼,200','齐射叁连,300','一点集中,500');
$Sakusen="作战指令 <select size=1 name=\"mode\" $STYLE_L>\n";
foreach (@MISSION){$c++;
my($M,$R)=split(/\,/,$_);
if($PL_VALUES[29] >= $R){
$Sakusen .= "<option value=\"$c\"";
$Sakusen .= "selected"if $c == $DUMMY{' EBMISSON'};
$Sakusen .= ">$M \n";
}
}
$Sakusen .= "</select>";
print "<span style=\"font-size:35px;\">$FORM{'b_mode'}</span>" if $FORM{'b_mode'} ne '战斗';
if ($FORM{'b_mode'} eq '战斗' ||!$FORM{'b_mode'}){
print << " -----END-----";
<form action=$MAIN_SCRIPT method=POST target=Sub>
<input type=hidden name="cmd" value="BATTLE_1">
<input type=hidden name="pname" value="$FORM{'pname'}">
<input type=hidden name="pass" value="$FORM{'pass'}">
-----END-----
while (($C_Name,$C_Value) =each %C) {
@C_VALUES = split(/\s/,$C_Value);
if ($PL_VALUES[5] ne "$C_Name"){
print "<input type=submit name=CNTRY value=\"$C_Name\"";
print " style=\" background:$C_VALUES[0];color:black\">\n";
}
}
print "<input type=submit name=CNTRY value=\"流浪者\"";
print " style=\" background:#808080;color:black\"></form>\n";
}
if ($FORM{'b_mode'} eq '亡命'){
$boumeiTag=" 亡命去<select name=\"boumeiC\" $STYLE_L>";
while (($C_Name,$C_Value) =each %C) {
@C_VALUES = split(/\s/,$C_Value);
if ($PL_VALUES[5] ne "$C_Name"){$boumeiTag.="<option value=\"$C_Name\">$C_Name\n";$bf=1;}
}
$boumeiTag.="<option value=\"\">流浪者\n"if $PL_VALUES[5];
$boumeiTag.="</select>";
$boumeiTag='' if !$bf;
}
$VS_COUNTRY="$FORM{'CNTRY'}" if $FORM{'CNTRY'};
$VS_COUNTRY="$PL_VALUES[5]" if !$FORM{'CNTRY'};
@CL_VALUE = split(/\s/,$C{"$VS_COUNTRY"});
@CL_VALUE2 = split(/\s/,$C{"$PL_VALUES[5]"}) if $PL_VALUES[5];
print << " -----END-----" if $FORM{'b_mode'} ne '战斗';
<center><table><tr><td style=\"background-color:$CL_VALUE[0];font-size:40px;color:#000000;\" colspan=4>
$VS_COUNTRY</td><form action=$MAIN_SCRIPT method=POST target=Sub></tr>
-----END-----
$FORM{'CNTRY'}='' if $FORM{'CNTRY'} eq '流浪者';
while (($Key,$Value) = each %P){
@VS_VALUES = split(/\s/,$Value);
&REPAIR(VS);
if ($Key ne "$FORM{'pname'}"){
&FILTING if $VS_VALUES[5] eq "$FORM{'CNTRY'}" && !$FORM{'b_mode'} && !$VS_VALUES[25];
&FILTING if $VS_VALUES[5] eq "$PL_VALUES[5]" && $PL_VALUES[5] && $FORM{'b_mode'} eq'亡命' && $VS_VALUES[0] >$PL_VALUES[0];
(&FILTING,$sousuiCh++) if $VS_VALUES[5] eq "$PL_VALUES[5]" && $FORM{'b_mode'} eq '内乱' && $VS_VALUES[6] ==1 && $PL_VALUES[0] >=170;
if ($VS_VALUES[5] eq "$PL_VALUES[5]" && $FORM{'b_mode'} eq '内乱' && $PL_VALUES[6] ==0 && $VS_VALUES[6] ==-1 && $CL_VALUE2[2] && $CL_VALUE2[2] eq "$VS_VALUES[28]" && $PL_VALUES[0] >=100){&FILTING;$flagta=1;}
if ($VS_VALUES[5] eq "$PL_VALUES[5]" && $FORM{'b_mode'} eq '内乱' && $PL_VALUES[6] ==0 && $VS_VALUES[6] ==-1 && $CL_VALUE2[3] && $CL_VALUE2[3] eq "$VS_VALUES[28]" && $PL_VALUES[0] >=100){&FILTING;$flagtb=1;}
if ($VS_VALUES[5] eq "$PL_VALUES[5]" && $FORM{'b_mode'} eq '内乱' && $PL_VALUES[6] ==0 && $VS_VALUES[6] ==-1 && $CL_VALUE2[4] && $CL_VALUE2[4] eq "$VS_VALUES[28]" && $PL_VALUES[0] >=100){&FILTING;$flagtc=1;}
}
}
if($PL_VALUES[5] && !$PL_VALUES[28]){$M_AITE="$CL_VALUE2[6]";}
elsif($PL_VALUES[5] && $PL_VALUES[28] eq "$CL_VALUE2[2]" && $CL_VALUE2[2]){$M_AITE="$CL_VALUE2[8]";}
elsif($PL_VALUES[5] && $PL_VALUES[28] eq "$CL_VALUE2[3]" && $CL_VALUE2[3]){$M_AITE="$CL_VALUE2[9]";}
elsif($PL_VALUES[5] && $PL_VALUES[28] eq "$CL_VALUE2[4]" && $CL_VALUE2[4]){$M_AITE="$CL_VALUE2[10]";}
if ($FORM{'b_mode'} eq '' && !$PlMs){
print "<tr><td bgcolor=\"$CL_VALUE[0]\"> </td><td bgcolor=#000000 colspan=3>No-PLAYER</td></tr>"
if $CL_VALUE2[7] < time || $M_AITE ne "$VS_COUNTRY";
print << " -----END-----"if $CL_VALUE2[7] > time && $M_AITE eq "$VS_COUNTRY";
<tr><td bgcolor=$CL_VALUE[0] align=center> </td>
<td bgcolor=#000000><input type=radio name=vsname checked value=\"$VS_COUNTRY\">
<input type=hidden name=yousai value="true">
$VS_COUNTRY防卫要塞<br> 现在可以直接攻击敌军要塞本部了。</td>
<td bgcolor=#000000><img src=$IMG_FOLDER2/1000.gif></td><td bgcolor=#000000>亅</td></tr>
-----END-----
$PlMs++ if $CL_VALUE2[7] > time && $M_AITE eq "$VS_COUNTRY";
}
$HiddenTag="<form action=$MAIN_SCRIPT method=POST target=Main><input type=hidden name=\"cmd\" value=\"CUSTOM\"><input type=hidden name=\"pname\" value=\"$FORM{'pname'}\"><input type=hidden name=\"pass\" value=\"$FORM{'pass'}\">";
sub HiddenTAG{"
<tr></form><td bgcolor=\"$CL_VALUE[0]\"> </td>
$HiddenTag<td bgcolor=#000000 colspan=3>
第$_[0]部队 $_[1]目前没有队长,有实力的话值得争取。
<input type=hidden name=\"team\" value=\"$_[1]\">
<input type=submit name=\"Cmode\" value=\"司令就任\" $STYLE_B1
onClick=\"location.replace('$MAIN_SCRIPT?LOGO');\">
</td></tr>
";
}
if ($FORM{'b_mode'} eq '亡命' && !$PlMs && $boumeiTag){
print << " -----END-----";
<tr></form><td bgcolor=\"$CL_VALUE[0]\"> </td>
$HiddenTag<td bgcolor=#000000 colspan=3>$boumeiTag
亡命很苦的哦,确定吗?
<input type=submit name="Cmode" value="亡命" $STYLE_B1
onClick="location.replace('$MAIN_SCRIPT?LOGO');">
</td></tr>
-----END-----
}elsif($FORM{'b_mode'} eq '亡命' && !$boumeiTag){
print "<tr></form><td bgcolor=\"$CL_VALUE[0]\"> </td><td bgcolor=#000000 colspan=3>开始亡命生涯。</td></tr>";}
if ($FORM{'b_mode'} eq '内乱' && !$sousuiCh && $PL_VALUES[0] >=170 && $PL_VALUES[6] ==0){$PlMs2=1;
$hanran.= << " -----END-----";
<tr></form><td bgcolor=\"$CL_VALUE[0]\"> </td>
$HiddenTag<td bgcolor=#000000 colspan=3>
目前国家没有皇帝了,议会决定委任你全权指挥权利,你接受吗?
<input type=submit name="Cmode" value="总帅就任" $STYLE_B1
onClick="location.replace('$MAIN_SCRIPT?LOGO');">
</td></tr>
-----END-----
}
if ($FORM{'b_mode'} eq '内乱' && !$flagta && $PL_VALUES[0] >=100 && $PL_VALUES[6] ==0 && $CL_VALUE2[2]){$PlMs2=1;
$hanran.= &HiddenTAG('一',$CL_VALUE2[2]);
}
if ($FORM{'b_mode'} eq '内乱' && !$flagtb && $PL_VALUES[0] >=100 && $PL_VALUES[6] ==0 && $CL_VALUE2[3]){$PlMs2=1;
$hanran.= &HiddenTAG('二',$CL_VALUE2[3]);
}
if ($FORM{'b_mode'} eq '内乱' && !$flagtc && $PL_VALUES[0] >=100 && $PL_VALUES[6] ==0 && $CL_VALUE2[4]){$PlMs2=1;
$hanran.= &HiddenTAG('叁',$CL_VALUE2[4]);
}
print << " -----END-----" if $FORM{'b_mode'} ne '战斗' && $PlMs;
<tr><td bgcolor=\"$CL_VALUE[0]\"><a name=sbm> </td>
<td colspan=4 bgcolor=\"#000000\">
$Sakusen$boumeiTag
<input type=hidden name="cmd" value="BATTLE_2">
<input type=hidden name="pname" value="$FORM{'pname'}">
<input type=hidden name="pass" value="$FORM{'pass'}">
<input type=hidden name="b_mode" value="$FORM{'b_mode'}">
<input type=hidden name="check" value="$DATE">
<input type=submit value="开始战斗" $STYLE_B1 onClick="location.replace('$MAIN_SCRIPT?LOGO');">
</td></tr>
-----END-----
print $hanran if $FORM{'b_mode'} ne '战斗' && $PlMs2;
print << " -----END-----" if $FORM{'b_mode'} eq '内乱' && !$PlMs2;
<tr></form><td bgcolor=\"$CL_VALUE[0]\"> </td><td bgcolor=#000000 colspan=3>
目前没有和你等级相当的对手,无法进行战斗
</td></tr>
-----END-----
print "</table></form><br><br>";
&FOOTER;
exit;
}
sub FILTING {
$PlMs++;
$IconTag=$Guarder='';
if ($PlMs==1){$rc='checked';}else{$rc='';}
print "<tr><td bgcolor=\"$CL_VALUE[0]\" align=center> </td>";
print "<td bgcolor=\"$VS_VALUES[13]\"><input type=radio name=vsname value=\"$Key\" $rc onClick=\"location.replace('#sbm')\">";
print "<span style=\"font-size:18px;color:#000000;\">$Key</span>";
print "<span style=\"font-size:15px;\"><b>".&RANK($VS_VALUES[0],$VS_VALUES[5],$VS_VALUES[6])."</b></font></td>";
print "<td bgcolor=\"$VS_VALUES[13]\">$IconTag<font color=\"#000000\">$VS_VALUES[3]</font></td>";
print "<td bgcolor=\"$VS_VALUES[13]\" style=\"FONT-SIZE: 20px\">".&STATUS_CONVERT("$VS_VALUES[24]",'j');
print "<td bgcolor=\"$VS_VALUES[13]\" style=\"FONT-SIZE: 20px\">";
if(LOGIN_CHECK($Key)){ print "<font color=#000080>参战中</font>"; }
else{ print "<font color=#ff0000>休战中</font>"; }
print "</font></b></td></tr>";
print "</font></b></td>";
print "</td></tr>";
}
sub BATTLE2{
SET_COOKIE:{
my @gmt = gmtime(time + $COOKIE_KEEP*24*60*60);
$gmt[0] = sprintf("%02d", $gmt[0]);$gmt[1] = sprintf("%02d", $gmt[1]);$gmt[2] = sprintf("%02d", $gmt[2]);
$gmt[3] = sprintf("%02d", $gmt[3]);$gmt[5] += 1900;
$gmt[4] = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$gmt[4]];
$gmt[6] = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday')[$gmt[6]];
my $date_gmt = "$gmt[6], $gmt[3]\-$gmt[4]\-$gmt[5] $gmt[2]:$gmt[1]:$gmt[0] GMT";
print "Set-Cookie:EBMISSON=$FORM{'mode'}; expires=$date_gmt\n";
}
&LOCK;
&DBM_CONVERT('P',"$FORM{pname}") if $FORM{'yousai'};
&DBM_CONVERT('P',"$FORM{pname}",'VS',"$FORM{vsname}") if !$FORM{'yousai'};
&DBM_CONVERT('C',"$PL_VALUES[5]",'VC',"$VS_VALUES[5]") if !$FORM{'yousai'};
&DBM_CONVERT('C',"$PL_VALUES[5]",'VC',"$FORM{'vsname'}") if $FORM{'yousai'};
&UNLOCK;
if ($FORM{'yousai'}){
if(!$PL_VALUES[28]){$M_AITE="$CL_VALUE2[6]";}
elsif($PL_VALUES[28] eq "$CL_VALUE2[2]" && $CL_VALUE2[2]){$M_AITE="$CL_VALUE2[8]";}
elsif($PL_VALUES[28] eq "$CL_VALUE2[3]" && $CL_VALUE2[3]){$M_AITE="$CL_VALUE2[9]";}
elsif($PL_VALUES[28] eq "$CL_VALUE2[4]" && $CL_VALUE2[4]){$M_AITE="$CL_VALUE2[10]";}
&ERROR('已经被别国进行攻略') if $M_AITE ne "$VS_Country";
&ERROR('超过作战期限') if time > $CL_VALUES[7];
&ERROR('这个国家已经灭亡了') if !@VC_VALUES;
@Y_HP=split(/!/,$VC_VALUES[11]);
@Y_ST=split(/!/,$VC_VALUES[12]);$Y_ST[0]+=50;$Y_ST[1]+=50;$Y_ST[2]+=50;
@VS_VALUES=("300","$Y_HP[2]!0","","$Y_ST[3]","AL","$FORM{'vsname'}","99","","0","zzzz","zzzz","zzzz","6","$VC_VALUES[0]","0","$Y_HP[0]","$Y_HP[1]","9999","9999","$Y_ST[0]","$Y_ST[1]","0","$Y_ST[2]","99","999","0","$DATE","1000","0","99","0");
}
&REPAIR(PL);&REPAIR(VS);
if (@CL_VALUES){$PL_Country="$PL_VALUES[5]";}else{$PL_Country='流浪者';$CL_VALUES[0]='#808080';}
if (@VC_VALUES){$VS_Country="$VS_VALUES[5]";}else{$VS_Country='流浪者';$VC_VALUES[0]='#808080';}
&ERROR('SystemError','系统时间发生问题') if $FORM{'check'} < $PL_VALUES[26];
&ERROR('Repair','之前的战斗还在计算之中,你不能同时进行两次战斗') if $PL_VALUES[25] || $VS_VALUES[25];
require "./$LOG_FOLDER/_ex.data";
local($PL_WN,$PL_WLV,$PL_WEX) = split(/!/,$PL_VALUES[9]);
local($VS_WN,$VS_WLV,$VS_WEX) = split(/!/,$VS_VALUES[9]);
require "./$LOG_FOLDER/$HASH_DATA";
@PEX_sA=split(/\,/,$WEAPONEX_LIST{"$PL_WEX"});
@VEX_sA=split(/\,/,$WEAPONEX_LIST{"$VS_WEX"});
if (!$PL_WEX){$PEX_sA[1]="a";}
@Pl_W=split(/\,/,$WEAPON_LIST{"$PL_WN"});
@Vs_W=split(/\,/,$WEAPON_LIST{"$VS_WN"});
$plbs=int ($PL_VALUES[20]+4) if $Pl_W[7] =~ m/4/;
$vsbs=int ($VS_VALUES[20]+4) if $Vs_W[7] =~ m/4/;
$Pl_AttPoint=int($Pl_W[1]*(($PL_WLV*0.0001)+1)*(($PL_VALUES[29]/1000)+1));
if ($PEX_sA[1] eq "b"){$Pl_AttPoint=int($Pl_AttPoint*0.7);}
if ($PEX_sA[1] eq "c"){$Pl_AttPoint=int($Pl_AttPoint*1.3);}
if ($PEX_sA[1] eq "d"){$Pl_AttPoint=int($Pl_AttPoint*1.5);}
if ($PEX_sA[1] eq "e"){$Pl_AttPoint=int($Pl_AttPoint*1.2);}
&ERROR('NeiLuanError','内乱必须在国内展开') if (($FORM{'b_mode'} eq '内乱') && ($PL_VALUES[5] != $VS_VALUES[5]));
local($PL_WN,$PL_WLV) = split(/!/,$PL_VALUES[9]);
local($VS_WN,$VS_WLV) = split(/!/,$VS_VALUES[9]);
require "$LOG_FOLDER/$HASH_DATA";
@Pl_W=split(/\,/,$WEAPON_LIST{"$PL_WN"});
@Vs_W=split(/\,/,$WEAPON_LIST{"$VS_WN"});
local($PL_BG,$PL_BGT) = split(/!/,$PL_VALUES[41]);
local($VS_BG,$VS_BGT) = split(/!/,$VS_VALUES[41]);
require "./$LOG_FOLDER/_bougu.data";
@Pl_B=split(/\,/,$BOUGU_LIST{"$PL_BG"});
@Vs_B=split(/\,/,$BOUGU_LIST{"$VS_BG"});
$Pl_W[3] = int (rand ($Pl_W[3]))+1 if $Pl_W[7] =~ m/9/;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -