⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 champ.cgi

📁 WEBGAME 机器人大战EBS(无尽的战争) 架設方法 WIN2K系列主機
💻 CGI
📖 第 1 页 / 共 4 页
字号:
#!/usr/bin/perl
#设定
$SCRIPTNM="champ.cgi";     #擂台挑战赛
$winfile="log/winner.cgi";     #冠军榜文件
$bairitu="5";              #悬赏金增长倍数1比100~200倍率
$maxsts="50";              #能力最大值(对应改装50)
$timer = "60";               #使用间隔时间
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

require 'ebs_sub1.cgi';

&ERROR('请不要直接从此地址进入','安全起见请从您访问的网页进入') if $ENV{'HTTP_REFERER'} !~ m/^$THIS_DIR/ && $DIRECT_LINK && $SUB ne 'MY_LIST' && $SUB ne 'C_LIST';

!$SUB && ($SUB='TOP');
&$SUB;

sub LOGIN                {&LOGIN2;}

sub LOG0                {&LOG01;}
sub LOGO                {&LOG01;}

sub TOP                 {&FRAME;}
sub MAIN_FRAME         {require "$LOG_FOLDER/$HASH_DATA";&STATUS;}

sub BATTLE_2        {&BATTLE2;}

sub FRAME{
        print <<"        -----END-----";
Content-type: text/html

                <html><head>
                <title>$THIS_Title</title></head>
                <frameset rows="240,*" frameBorder="1" bordercolor="#002720" framespacing="10">
                <frame name="Main" src="$SCRIPTNM?LOGIN">
                <frame name="Sub" src="$SCRIPTNM?LOG0">
                </frameset>
                </html>
        -----END-----
}
sub LOGIN2{
                @pair = split(/;/, $ENV{'HTTP_COOKIE'});
                foreach (@pair) {my($key, $value) = split(/=/, $_);$DUMMY{$key} = $value;}
        @pairs = split(/,/, $DUMMY{EB});
                foreach (@pairs) {my($key, $value) = split(/:/, $_);$COOKIE{$key} = $value;}

        $BG_TOP="bgcolor=\"$BG_TOP\"" if $BG_TOP !~ /\./;
        $BG_TOP="background=\"$BG_TOP\"" if $BG_TOP =~ /\./;

        print "Content-type: text/html\n\n";
        print << "        -----END-----";
<html><head>
<body background=images/bg1.jpg text=#FFFFFF>
<LINK href=miuler.css type=text/css rel=stylesheet>
<script language=javascript>var intDelay=30; //设置菜单显示速度,越大越慢
var intInterval=50; //每次更改的透明度
function MenuClick()
{if (LayerMenu.style.display=="")
{GradientClose();}
else
{LayerMenu.filters.alpha.opacity=0;
LayerMenu.style.display="";
GradientShow();
hide('first');}}
function GradientShow() //实现淡入的函数
{LayerMenu.filters.alpha.opacity+=intInterval;
if (LayerMenu.filters.alpha.opacity<100) setTimeout("GradientShow()",intDelay);}
function GradientClose() //实现淡出的函数
{LayerMenu.filters.alpha.opacity-=intInterval;
if (LayerMenu.filters.alpha.opacity>0)
{setTimeout("GradientClose()",intDelay);
}else{LayerMenu.style.display="none";}}
function updown()
{if (startmenu.className == "down")
startmenu.className = "up1";
else if (startmenu.className == "up1")
startmenu.className = "up1";}
function ctrl()
{if (startmenu.className == "down")
startmenu.className = "up1";
else if (startmenu.className == "up1")
startmenu.className = "down";}
</script>
<br><br>
<center><div class=up1 onClick="MenuClick();" onmousedown=this.className='down' id="startmenu" style="position:absolute; z-index:1"><img border="0" src="http://www.cngl.net/playuo/images/champ.gif" alt="打开登机舱 / 关闭登机舱"></div></center>
<center><div id=LayerMenu style="position: absolute; display: none; filter: alpha(opacity=0); left:50px; top:80px; z-index: 1">
<table width=100% height=100% id="login"><tr><td align=center>
<table border=0 cellpadding=0 cellspacing=0 $center>
<form action=$SCRIPTNM method=POST name=frm1>
<tr><td $center $bg_top><input type=hidden name="cmd" value="MAIN_FRAME">
<input type=hidden name="login" value="$DATE">
<b>用户名</b></td>
<td>&nbsp;<input type=text name="pname" value="$COOKIE{'pname'}" style="height:21px; color:#ffffff; font-size:16px; background:#000000; border:1 inset #c0c0c0;"></td><td>&nbsp;&nbsp;<a href="Javascript:MenuClick();"><img src=$IMG_FOLDER4/out.gif border=0></A></td></tr>
<tr><td $center $bg_top><b>密&nbsp;&nbsp;码</b></td>
<td>&nbsp;<input type=password name="pass" value="$COOKIE{'pass'}" style="height:21px; color:#ffffff; font-size:16px; background:#000000; border:1 inset #c0c0c0;">
</td><td>&nbsp;&nbsp;<input type=image src="$IMG_FOLDER4/log.gif" name=lgn>
</td></tr></form></table></td></tr></table></div></center>
        -----END-----


        $js1="";

        print "</body></html>";
        print "<script language=\"JavaScript\">location.href='#top';\n</script>\n" if $BANNER_DISPLAY;

}

####################
#      上面没问题
####################
sub STATUS{
        &DBM_CONVERT('P',"$FORM{pname}") if !$FORM{'Cmode'};
        &DBM_CONVERT('C',"$PL_VALUES[5]") if $PL_VALUES[5];
        &ERROR('NameError','用户名错误,没有登记') if !@PL_VALUES;
        &ERROR('PwdError','密码可能错误') if crypt ($FORM{'pass'},eb) ne "$PL_VALUES[2]";
        &REPAIR(PL);
                if ($FORM{'login'}){
                if ($ENV{'REMOTE_HOST'}){$host="$ENV{'REMOTE_HOST'}";}else{$ipad=pack('C4',split(/\./,$ENV{'REMOTE_ADDR'}));
                $host = gethostbyaddr($ipad,2);}
                dbmopen (%L,"$DBM_L",0666);
                        foreach (sort {$b <=> $a} keys %L){$lc++;delete $L{"$_"} if $lc > 51;}
                        $L{"$DATE"}="$FORM{'pname'}!$ENV{'REMOTE_ADDR'}!$host";
                dbmclose %L;
        }
        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";
                my $cook = "pname:$FORM{'pname'},pass:$FORM{'pass'}";print "Set-Cookie: EB=$cook; expires=$date_gmt\n";
        }
        if ($PL_VALUES[28]){
                foreach ("$CL_VALUES[2]","$CL_VALUES[3]","$CL_VALUES[4]"){if ($PL_VALUES[28] eq "$_") {$DeleteFlag=1;}}
                if (!$DeleteFlag){$PL_VALUES[6]=$PL_VALUES[28]="";$flagd=1;}
        }
        if ($PL_VALUES[5] && !@CL_VALUES){$PL_VALUES[5]=$PL_VALUES[28]='';$PL_VALUES[6]=0;$flagd=1;}
        if (!$PL_VALUES[5] && $PL_VALUES[6]){$PL_VALUES[6]='0';$flagd=1;}
        if ($flagd){
                dbmopen (%PL,"$DBM_P",0666);
                        $PL{"$FORM{'pname'}"}="@PL_VALUES";
                dbmclose %PL;
        }

        local($WN_A,$WLV_A) = split(/!/,$PL_VALUES[9]);        local($WN_B,$WLV_B) = split(/!/,$PL_VALUES[10]);
        local($WN_C,$WLV_C) = split(/!/,$PL_VALUES[11]);

        if   ($PL_VALUES[25] == 0){$CONDITIONAL = '<font color=#143dca>动</font>';}
        elsif($PL_VALUES[25] == 1){$CONDITIONAL = '<font color=#dc143c>修</font>';}

        $CL_VALUES[0]='#808080' if !$PL_VALUES[5];

&HEADER;
$JIZHUISHU=$PL_VALUES[23] * 110 + $PL_VALUES[24];
sub BORDER {"border$_[0]:1px solid $_[1];";}
	$AT=int(($PL_VALUES[19]/50)*30);
	$DE=int(($PL_VALUES[20]/50)*30);
	$SP=int(($PL_VALUES[21]/50)*30);
	$MT=int(($PL_VALUES[22]/50)*30);
	$fil='style="position:relative;filter:alpha(opacity=70,finishopacitiy=70);"';
	$STYL2='style="border:1px solid #051485;"';
	$NEXT=($PL_VALUES[29]+1)*200;
print "<table border=0 cellpadding=0 cellspacing=0 style=\"border-collapse: collapse\" bordercolor=#111111 width=100% id=AutoNumber1><iframe name=music width=0 height=0 marginheight=0 marginwidth=0 frameborder=0 scrolling=NO></iframe><tr>";
print "<td width=33%>";

print "<center><DIV style=\"FILTER: dropshadow(offx=8,offy=8,color=#000000); POSITION: relative; HEIGHT: 110px\">";
print "<TABLE cellSpacing=0 cellPadding=0><TBODY><tr>";
print "<TD style=\"BORDER-RIGHT: #89a078 2px solid; BORDER-TOP: #89a078 2px solid; FONT-SIZE: 15px; BORDER-LEFT: #89a078 2px solid; COLOR: #efef80; BORDER-BOTTOM: medium none\" noWrap align=middle width=120 bgColor=#000000>$FORM{pname}</TD>";
print "<TD style=\"BORDER-RIGHT: #23a012 1px solid; BORDER-TOP: #23a012 1px solid; FONT-SIZE: 15px; BORDER-LEFT: medium none; BORDER-BOTTOM: #89a078 2px solid; BACKGROUND-COLOR: #000000\" width=70 align=middle>";
	print &RANK($PL_VALUES[0],$PL_VALUES[5],$PL_VALUES[6])."&nbsp;";
	$PL_VALUES[5]='流浪者' if !$PL_VALUES[5];
print "</TD></TR><tr>";
print "<TD style=\"BORDER-RIGHT: #89a078 2px solid; PADDING-RIGHT: 4px; BORDER-TOP: medium none; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; BORDER-LEFT: #89a078 2px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #89a078 2px solid\" bgColor=#000000 colSpan=2>";
print "<TABLE style=\"FONT-SIZE: 13px; COLOR: #d0d0d0\" cellSpacing=0 cellPadding=0><TBODY><tr>";
print "<TD align=right><img border=0 src=$IMG_FOLDER3/$PL_VALUES[37].gif></TD>";
print "<TD class=num style=\"COLOR: #efef80\" noWrap align=right colSpan=2>$STATUS_NAME[0]:&nbsp;".&STATUS_CONVERT("$PL_VALUES[24]",'j')."<br>$STATUS_NAME[1]:&nbsp;".$JIZHUISHU."<br>$STATUS_NAME[2]:&nbsp;".$PL_VALUES[23]."型</TD></TR><tr>";
print "<SPAN><TD align=right>$STATUS_NAME[3]</TD>";
$WEP_A=$WLV_A%$WEAPON_LVUP;	$WEP_B=$WLV_B%$WEAPON_LVUP;	$WEP_C=$WLV_C%$WEAPON_LVUP;$WEP_D=$WLV_D%$WEAPON_LVUP;$WEP_E=$WLV_E%$WEAPON_LVUP;
$WLV_A=int$WLV_A/$WEAPON_LVUP;$WLV_B=int$WLV_B/$WEAPON_LVUP;$WLV_C=int$WLV_C/$WEAPON_LVUP;$WLV_D=int$WLV_D/$WEAPON_LVUP;$WLV_E=int$WLV_E/$WEAPON_LVUP;
@WN_sA=split(/\,/,$WEAPON_LIST{"$WN_A"});
print "<SPAN><TD class=num style=\"COLOR: #efef80\" noWrap align=right colSpan=2><B>$PL_VALUES[5]</B></TD></tr><tr>";
print "<TD noWrap align=right>$STATUS_NAME[4]</TD>";
print "<TD noWrap width=30><B class=num>$PL_VALUES[29]</B></TD>";
print "<TD noWrap align=right width=70>$PL_VALUES[30]/$NEXT</TD></TR><tr>";
print "<TD noWrap>$STATUS_NAME[5]</TD>";
print "<TD noWrap><B>$WLV_A</B></TD>";
print "<TD noWrap align=right>$WEP_A/$WEAPON_LVUP</TD></TR><tr>";
print "<TD noWrap align=right>$STATUS_NAME[6]</TD>";
print "<TD class=num noWrap align=middle colSpan=2>".&STATUS_CONVERT("$PL_VALUES[12]",'c')."</TD></TR><tr>";
print "<TD noWrap align=right>$STATUS_NAME[13]</TD>";
print "<TD class=num noWrap align=middle colSpan=2>$PL_VALUES[32]</TD></TR><tr>";
print "<TD noWrap align=right>$STATUS_NAME[14]</TD>";
if (!$PL_VALUES[32]){$syouritu = 0;}
else{$syouritu=int(($PL_VALUES[33]/$PL_VALUES[32])*100);}
print "<TD class=num noWrap align=middle colSpan=2>$PL_VALUES[33]</TD></TR><tr>";
print "<TD noWrap align=right>$STATUS_NAME[15]</TD>";
print "<TD class=num noWrap align=middle colSpan=2>$syouritu%</TD></TR><tr>";
print "<TD noWrap align=right>$STATUS_NAME[7]</TD>";
print "<TD class=num noWrap align=middle colSpan=2><b>";
print &STATUS_CONVERT("$PL_VALUES[4]",'t')."型</b></TD></TR><tr>";
print "<SPAN><TD noWrap align=right>$STATUS_NAME[8]</TD>";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -