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

📄 index.cgi

📁 三国网页游戏原码 增加了亡命也就是判国 还修进了管理工具
💻 CGI
📖 第 1 页 / 共 3 页
字号:
#!/usr/bin/perl

#################################################################
#   亂柶愑帠崁亃                                                #
#    偙偺僗僋儕僾僩偼僼儕乕僜僼僩偱偡丅偙偺僗僋儕僾僩傪巊梡偟偨 #
#    偄偐側傞懝奞偵懳偟偰嶌幰偼堦愗偺愑擟傪晧偄傑偣傫丅         #
#    傑偨愝抲偵娭偡傞幙栤偼僒億乕僩宖帵斅偵偍婅偄偄偨偟傑偡丅   #
#    捈愙儊乕儖偵傛傞幙栤偼堦愗偍庴偗偄偨偟偰偍傝傑偣傫丅       #
#################################################################

require 'jcode.pl';
require './ini_file/index.ini';
require 'suport.pl';

if($MENTE) { &ERR2("维护中."); }
&DECODE;
if($mode eq 'ALL_RESET') { &ALL_RESET; }
else{⊤}

#_/_/_/_/_/_/_/_/_/#
#_/    TOP夋柺   _/#
#_/_/_/_/_/_/_/_/_/#

sub TOP {

	$date = time();
	$month_read = "./log_file/date_count.cgi";
	open(IN,"$month_read") or &ERR2('打不开文件.');
	@MONTH_DATA = <IN>;
	close(IN);
	&TIME_DATA;

	open(IN,"$MAP_LOG_LIST");
	@S_MOVE = <IN>;
	close(IN);
	$p=0;
	while($p<5){$S_MES .= "<font color=008800>●</font>$S_MOVE[$p]<BR>";$p++;}

	open(IN,"$MAP_LOG_LIST2");
	@S_MOVE = <IN>;
	close(IN);
	$p=0;
	while($p<5){$D_MES .= "<font color=000088>●</font>$S_MOVE[$p]<BR>";$p++;}

	$hit = 0;
	@month_new=();

	($myear,$mmonth,$mtime) = split(/<>/,$MONTH_DATA[0]);
	$old_date = sprintf("%02d\年%02d\月", $F_YEAR+$myear, $mmonth);

	if($ACT_LOG){
		$actfile = "./log_file/act_log.cgi";
		open(IN,"$actfile");
		@ACT_DATA = <IN>;
		close(IN);
		($qsec,$qmin,$qhour,$qday) = localtime($date);
		$p=0;
		while($p<5){$A_MES .= "<font color=880000>●</font>$ACT_DATA[$p]<BR>";$p++;}

		$ACT_MES = "<TR><TD bgcolor=#EFE0C0 colspan=\"2\" width=80% height=20><font color=#8E4C28 size=2>$A_MES</font></TD></TR>";

	}

	open(IN,"$TOWN_LIST") or &ERR("找不开指定的文件.");
	@TOWN_DATA = <IN>;
	close(IN);
	($zwname,$wzc)=split(/<>/,$TOWN_DATA[0]);
	$zzhit=0;
	foreach(@TOWN_DATA){
		($zwname,$zwcon)=split(/<>/);
			if($wzc ne $zwcon){$zzhit=1;}
			$wzc = $zwcon;
	}


	&CHEACK_COM;
	if($mtime + $TIME_REMAKE < $date){
		if($mtime eq ""){
		$mtime = $date;
		&MAP_LOG("开始游戏计划.");
		}else{
		$mtime += $TIME_REMAKE;
		}
		$mmonth++;
		if($mmonth > 12){
			$myear++;
			$mmonth=1;
		}
		unshift(@month_new,"$myear<>$mmonth<>$mtime<>\n");
		if($ACT_LOG){
			($qsec,$qmin,$qhour,$qday) = localtime($mtime);
			unshift(@ACT_DATA,"===============\[$myear年$mmonth月\]=================\n");
		}

		open(IN,"$COUNTRY_LIST") or &ERR2('打不开文件.err no :country');
		@COU_DATA = <IN>;
		close(IN);
		@NEW_COU_DATA=();
		foreach(@COU_DATA){
			($xvcid,$xvname,$xvele,$xvmark,$xvking,$xvmes,$xvsub,$xvpri)=split(/<>/);
			$xvmark++;
			push(@NEW_COU_DATA,"$xvcid<>$xvname<>$xvele<>$xvmark<>$xvking<>$xvmes<>$xvsub<>$xvpri<>\n");
		}
		open(OUT,">$COUNTRY_LIST") or &ERR('不被写入COUNTRY的资料.');
		print OUT @NEW_COU_DATA;
		close(OUT);

		$b_hit = 0;
		if($mmonth eq "1"){
			&MAP_LOG("$mmonth月:<font color=orange>税捐</font>武将的工资.");
			$b_hit = 1;
		}elsif($mmonth eq "7"){
			&MAP_LOG("$mmonth月:<font color=orange>收获</font>武将的米.");
			$b_hit = 1;
		}

		$eve_date = sprintf("%02d\年%02d\月", $F_YEAR+$myear, $mmonth);
		$ihit=0;
		if(!int(rand(40))){
			$ihit=1;
			$ino = int(rand(6));
			if($ino eq 0){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]造一大群黄虫袭击!");
			}elsif($ino eq 1){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]发洪水,各地人民受害!");
			}elsif($ino eq 2){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]发生瘟疫,老百姓受害!");
			}elsif($ino eq 3){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]令年大丰收!");
			}elsif($ino eq 4){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]发生大地震!");
			}elsif($ino eq 5){
				&MAP_LOG2("<font color=red>【事件】</font>\[$eve_date\]各地的商店在分!");
			}
		}
		if($b_hit){

		# 憡応曄摦
		@NEW_TOWN_DATA=();
		foreach(@TOWN_DATA){
			($zname,$zcon,$znum,$znou,$zsyo,$zshiro,$znou_max,$zsyo_max,$zshiro_max,$zpri,$zx,$zy,$zsouba,$z[0],$z[1],$z[2],$z[3])=split(/<>/);
			if(!int(rand(2.0))){
				$zsouba += int(rand(0.5)*100)/100;
				if($zsouba > 1.2){
					$zsouba = 1.2;
				}
			}else{
				$zsouba -= int(rand(0.5)*100)/100;
				if($zsouba < 0.8){
					$zsouba = 0.8;
				}
			}
			if($zpri >= 50){
				$znum_add = int(80 * ($zpri - 50));
				if($znum_add < 500){$znum_add=500;}
				$znum += $znum_add;
				if($znum > $NOU_MAX){$znum=$NOU_MAX;}
			}else{
				$znum -= int(80 * (50 - $zpri));
				if($znum < 0){$znum=0;}
			}
			if($ihit){
				if($ino eq 0){
					$znou = int($znou * 0.8);
				}elsif($ino eq 1){
					$znou = int($znou * 0.9);
					$zsyo = int($zsyo * 0.9);
					$zshiro = int($zshiro * 0.9);
				}elsif($ino eq 2){
					$znum = int($znum * 0.8);
				}elsif($ino eq 3){
					$znou = int($znou * 1.2);
					if($znou > $znou_max){$znou=$znou_max;}
				}elsif($ino eq 4){
					$znou = int($znou * 0.8);
					$zsyo = int($zsyo * 0.8);
					$zshiro = int($zshiro * 0.8);
					$znum = int($znum * 0.9);
				}elsif($ino eq 5){
					$zsyo = int($zsyo * 1.1);
					if($zsyo > $zsyo_max){$zsyo=$zsyo_max;}
					$znum = int($znum * 1.1);
					if($znum > $NOU_MAX){$znum=$NOU_MAX;}
				}
			}
			push(@NEW_TOWN_DATA,"$zname<>$zcon<>$znum<>$znou<>$zsyo<>$zshiro<>$znou_max<>$zsyo_max<>$zshiro_max<>$zpri<>$zx<>$zy<>$zsouba<>$z[0]<>$z[1]<>$z[2]<>$z[3]<>\n");
		}
		open(OUT,">$TOWN_LIST");
		print OUT @NEW_TOWN_DATA;
		close(OUT);
		}
		open(OUT,">$month_read");
		print OUT @month_new;
		close(OUT);

	}
	if($ACT_LOG){
		if(@ACT_DATA > 800) { splice(@ACT_DATA,800); }
		open(OUT,">$actfile");
		print OUT @ACT_DATA;
		close(OUT);
	}

	$MESS1 = "<A href=\"$FILE_CONTNUE\">【CONTNUE】</a>";
	$MESS2 = "<A href=\"$FILE_ENTRY\">【NEW GAME】</a>";
	&roses_counter;
	$new_date = sprintf("%02d\年%02d\月", $F_YEAR+$myear, $mmonth);
	$next_time = int(($mtime + $TIME_REMAKE - $date) / 60);
	$reset_button="";

	if(!$zzhit && $wzc ne ""){
		$reset_button = "<form method=post action=./index.cgi>
<input type=hidden name=mode value=ALL_RESET>
<input type=hidden name=seiha value=$zwc>
<input type=hidden name=e_date value=$new_date>
<input type=submit value=重订>
</form>
";
	}

	&HEADER;
	print <<"EOM";
<CENTER>
<TABLE WIDTH="100%" height=100% cellpadding="0" cellspacing="0" border=0>
  <tr> 
    <td width="13%" align=center><img src="image/zhao1.jpg" width="150" height="100%">
    <td width="66%" align=center> <TABLE border=0 width=100% height=100% cellspacing=1><TBODY>
        <TR> 
          <TD align=center><p>
            <TABLE width=80% height=140 bgcolor=#DECCA8>
              <TR> 
                <TD align=center bgcolor=EFE0C0><font size=5 color=#AE8C68><B>【 
                  $GAME_TITLE 】</font></B> <p> <font size=2 color=#AE8C68> <p><B>[$new_date]</b><BR>
                    更新时间 <font color=aa6644>$next_time</font> 分<BR></font>
                    $reset_button<br>
                    </TD>
              </TR>
            </TABLE>
            <p align="center"> 
            <table bgcolor=$TABLE_C align=center border=0><form action="$FILE_STATUS" method="POST">
              <input type="hidden" name="mode" value="STATUS">
              <TR> 
                <TH bgcolor=$TD_C2 height=5>USER ID</TH>
                <td><input type="text" size="10" name="id" value="$_id"></td>
              </TR>
              <TR> 
                <TH bgcolor=$TD_C2 height=5>PASS WORD</tH>
                <td><input type="password" size="10" name="pass" value="$_pass"></TD>
              </TR>
              <TR> 
                <td bgcolor=$TD_C1 align=center colspan=2><input type="submit" value="登录"></td>
              </tr>
            </table></form>
            <A href="$FILE_ENTRY"><img border="0" src=\"./image/2.jpg\"></A> <A href="$FILE_RANK"><img border="0" src=\"./image/4.jpg\"></A> 
            <A href="./manual.html"><img border="0" src=\"./image/1.jpg\"></A> 
            <A href="./map.cgi"><img border="0" src=\"./image/3.jpg\"></A> <TABLE width=100% BGCOLOR=$TABLE_C  cellspacing=1>
              <TBODY>
              $mess</TBODY> 
            </TABLE><CENTER>
            <HR size=0> <p align=right>[<font color=8E6C68>TOTAL ACCESS<font color=red><B> 
              $total_count </font></B>HIT</font>]<BR>
          </TD>
        </TR>
        <TR> 
          <TD bgcolor=#EFE0C0 colspan="2" width=80% height=20><font color=#8E4C28 size=2>$S_MES</font></TD>
        </TR>
        <TR> 
          <TD bgcolor=#EFE0C0 colspan="2" width=80% height=20><font color=#8E4C28 size=2>$D_MES</font></TD>
        </TR>
        $ACT_MES </TBODY> </TABLE>
    <td width="21%" align=center><img src="image/zhao2.jpg" width="150" height="100%"></TR>
</TABLE>
<hr size=0><font size=1>
|<a href="$HOME_URL" TARGET="_top">$HOME</a>|<a href="$BBS1_URL" TARGET="main">$BBS1</a>|<a href="$BBS2_URL" TARGET="main">$BBS2</a>|<a href="$LINK1_URL" TARGET="main">$LINK1</a>|<a href="$LINK2_URL" TARGET="main">$LINK2</a>|<a href="$LINK3_URL" TARGET="main">$LINK3</a>|<a href="$LINK4_URL" TARGET="main">$LINK4</a>|<a href="$LINK5_URL" TARGET="main">$LINK5</a>|<a href="$LINK6_URL" TARGET="main">$LINK6</a>|<a href="$LINK7_URL" TARGET="main">$LINK7</a>|<a href="$LINK8_URL" TARGET="main">$LINK8</a>|<a href="$LINK9_URL" TARGET="main">$LINK9</a>|<a href="$LINK10_URL" TARGET="main">$LINK10</a>|<BR>
|<a href="$FILE_TOP" TARGET="main">$GAME_TITLE</a> | $MESS1 | $MESS2 |<a href="$FILE_RANK" TARGET="main">RANKING</a> 最大登录数($ENTRY_MAX人)</font><br>
<form method=post action=./admin.cgi>
ID:<input type=text name=id size=7>
PASS:<input type=pass name=pass size=7>
<input type=submit value=管理人员>
</form>

EOM

	&FOOTER;
	exit;

}

sub roses_counter {

	$file_read = "./log_file/counter.cgi";
	open(IN,"$file_read") or &ERR2('打不开文件');
	@reading = <IN>;
	close(IN);

	($total_count) = split(/<>/,$reading[0]);
	$total_count++;

	open(OUT,">$file_read");
	print OUT "$total_count\n";
	close(OUT);

}

sub CHEACK_COM{

	&D_F_LOCK;
	if (!-e $lockfile2) {&ERR2("文件夹没有被锁上");}

	open(IN,"$TOWN_LIST");
	@TOWN_DATA = <IN>;
	close(IN);

	$zc=0;
	foreach(@TOWN_DATA){
		($z2name,$z2con,$z2num,$z2nou,$z2syo,$z2shiro)=split(/<>/);
		$town_name[$zc] = "$z2name";
		$town_cou[$zc] = "$z2con";
		$town_get[$z2con] += 1;
		$town_num[$z2con] += $z2num;
		$town_nou[$z2con] += $z2nou;
		$town_syo[$z2con] += $z2syo;
		$zc++;
	}


	$w_lock = 0;
	if($w_lock){
		open(LOCK,"> ./lock/sangoku") or &ERR2("Can't open lockfile: $!");
		flock(LOCK, 2)           or &ERR2("Can't flock        : $!");
	}

	$dir="./charalog/main";
	if($mmonth eq "1" || $mmonth eq "7"){
		opendir(dirlist,"$dir");
		while($file = readdir(dirlist)){
			if($file =~ /\.cgi/i){
				if(!open(page,"$dir/$file")){
					&ERR2("文件打开错误");
				}
				@page = <page>;
				close(page);
				($kid,$kpass,$kname,$kchara,$kstr,$kint,$klea,$kcha,$ksol,$kgat,$kcon,$kgold,$krice,$kcex) = split(/<>/,$page[0]);
				$cou_num[$kcon]++;
				$cex_total[$kcon]+=$kcex;
				push(@CL_DATA,"@page<br>");
			}
		}
		closedir(dirlist);
	}

	opendir(dirlist,"$dir");
	$kup_date=0;
	$thit=0;
	while($file = readdir(dirlist)){
		if($file =~ /\.cgi/i){
			if(!open(page,"$dir/$file")){
				&ERR2("文件打开错误");
			}
			@page = <page>;
			close(page);
			($kid,$kpass,$kname,$kchara,$kstr,$kint,$klea,$kcha,$ksol,$kgat,$kcon,$kgold,$krice,$kcex,$kclass,$karm,$kbook,$kbank,$ksub1,$ksub2,$kpos,$kmes,$khost,$kdate,$kmail,$kos) = split(/<>/,$page[0]);
			if($kdate + $TIME_REMAKE < $date){
				$thit=1;
				($kstr_ex,$kint_ex,$klea_ex,$kcha_ex,$ksub1_ex,$ksub2_ex) = split(/,/,$ksub1);
				if($mmonth eq "1"){
					&SALARY;
					if($cou_num[$kcon] eq "0" || $cou_num[$kcon] eq ""){
						$cou_num[$kcon] = 1;
					}
					$kadd = 0;
					if($cex_total[$kcon] ne 0){
					$kadd  = int(($ksal * $kcex / $cex_total[$kcon]) + $kcex * 1.3);

⌨️ 快捷键说明

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