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

📄 auto_grow_resource.php

📁 Download you own three BR
💻 PHP
字号:
<?php
		  //require_once("configs/Configs.php");
		  //require_once("functions/class_mysql.php");
		  //require_once("functions/func_common.php");
		  //require_once("functions/func_common.php");
		  //////////////////////////////////////更新玩家在线状态开始///////////////////////////////////////////////
		  //$db->query("update player_info set `online`='1',`login_time`='".time()."' where `u_id`='".$UserId."'");
		  //////////////////////////////////////更新玩家在线状态结束///////////////////////////////////////////////
		  
		  ////////////////////////////////////处理系统任务开始//////////////////////////////////////////////////////////
		  //require_once("system_task_processing.php");
		  ////////////////////////////////////////////////////////////////////////////////////////////////////////
  		  
		  ////////////////////////////////////城墙修复/////////////////////////////////////////////////////////////
		  //require_once("repair_citywall_processing.php");
		  ////////////////////////////////////////////////////////////////////////////////////////////////////////
		  
		  
		  ////////////////////////////////////////资源增长开始//////////////////////////////////////////////////////
		  
		  //获取玩家每项建筑物的生产时间:resource_grow
		  $query=$db->query("select * from resource_grow where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."'");
		  while($row=$db->fetch_array($query)) $resource_grow_list[]=$row;
		  
		  //开始按照生产安排进行资源增长
		  $nowtime  =time();
		  if($resource_grow_list) foreach ($resource_grow_list as $i=>$grow){//循环执行资源计算//////////////////////////////
	          if(!$grow['total_grow']) continue;
		  	  //echo "ok";
		  	  //生产建筑物等级
			  $query=$db->query("select * from building where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."'");
		      $b_num=$db->fetch_array($query);
		      //基础数据
		      $query=$db->query("select * from building_attribute where `b_type`='".$grow['b_type']."'");
		      $b_base_result=$db->fetch_array($query);
		      //城池信息
			  $query=$db->query("select * from resource where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."'");
			  $building_result=$db->fetch_array($query);
			  //读取研究技术等级表
		      $query=$db->query("select s_cutting,s_mining,s_golds,s_flooding from study where `u_id`='".$_COOKIE['UserId']."' ");
			  $study_result=$db->fetch_array($query);
			  
			  $query = $db->query("select `c_land_type` from `city` where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."'");
			  $land_type =$db->fetch_array($query);
		  	
		  	  //生产时间>=1小时
		  	  //$growtime = (time()-$grow['last_grow_time'])/$produce_time;
		  	  $grow_time = (time()-$grow['last_grow_time']);
		  	  $grow_num  =  $b_num[$b_type_name_en[$grow['b_type']]];
		  	  $grade  = $grow_num;//建筑物的等级
		  	  $grow_time = ($grade>0) ? $grow_time : 0;
		  	  $b_base  = $grow['total_grow'];
		  	  $b_base = ($b_base) ? $b_base :1;
		  	  if($grow['total_grow']) $produce_temp = 3600 / $grow['total_grow'];
		  	  //echo "3600/".$grow['total_grow']."+".$produce_resource_name[$grow['b_type']]."|".$produce_temp."|".$grow_time."=".round(($grow_time/$produce_temp),0);exit;
		  	  //echo $grow_time;exit;
		  	  //条件满足
		  	  if($grow['last_grow_time'] and $grow['total_grow'] and $grow['worker_percent'] and $produce_temp){
		  	  	  $report_time=time();
			  	  //$update_resource[$grow['b_type']]=  $grow_time / $b_base;
			  	  //echo ceil($update_resource[$grow['b_type']]);exit;
		  	  	  //$login_time=($nowtime-$building_result['login_time'])/(24*60*60);
			  	  //$query=$db->query("select * from building_attribute where `b_type`='".$grow['b_type']."'");
	              //$base_result=$db->fetch_array($query);
			  	  //登录时间:5天内已登录
			  	  //if($login_time<5){//计算所有资源//////////
					 //$grow_time =  5*24*60*60;
			  	  //}
			  	  //$grow_time=round($grow_time/$produce_time);//生产时间:按小时计算
				             $update_resource[$grow['b_type']]=  $grow_time/$produce_temp;
				          
						     switch($land_type['c_land_type']){
						     	case 1:{
						     		$update_resource[$grow['b_type']] += $update_resource[$grow['b_type']] * 0.02;
						     		break;
						     	}
						     	case 2:{
						     		if($grow['b_type']=="4"){
						     			$update_resource[$grow['b_type']] += $update_resource[$grow['b_type']] * 0.06;
						     		}
						     		break;
						     	}
						     	case 3:{
						     		if($grow['b_type']=="1"){
						     			$update_resource[$grow['b_type']] += $update_resource[$grow['b_type']] * 0.06;
						     		}
						     		break;
						     	}
						     	case 4:{
						     		if($grow['b_type']=="2"){
						     			$update_resource[$grow['b_type']] += $update_resource[$grow['b_type']] * 0.06;
						     		}
						     		break;
						     	}
						     	case 5:{
						     		if($grow['b_type']=="3"){
						     			$update_resource[$grow['b_type']] += $update_resource[$grow['b_type']] * 0.06;
						     		}
						     		break;
						     	}
						     	
						     }
						     $update_resource[$grow['b_type']] = round($update_resource[$grow['b_type']] * $resource_percent,0);
			  	  	      /*
				          //开始计算产量//////////////////////
			  	  	      switch ($grow['b_type']){
						 	 	case 1:{//伐木场资源计算
						 	 		$update_resource[$grow['b_type']]=  ceil($grow_time / $b_base);//基*等级*1.1的(等级-1)次方(取四位小数)
						 	 		//$update_resource[$grow['b_type']] = ($study_result['s_cutting']) ? $update_resource[1] + $update_resource[1] * pow(1+$s_cutting_percent,$study_result['s_cutting']-1) : $update_resource[1];
						 	 		break;
						 	 	}
						 	 	case 2:{//矿石资源计算
						 	 		$update_resource[$grow['b_type']]=  $grow_time / $b_base;//基*等级*1.1的(等级-1)次方(取四位小数)
						 	 		//$update_resource[$grow['b_type']] = ($study_result['s_mining']) ? $update_resource[2] + $update_resource[2] * pow(1+$s_mining_percent,$study_result['s_mining']-1) : $update_resource[2];
						 	 		break;
						 	 	}
						 	 	case 3:{//金矿资源计算
						 	 		$update_resource[$grow['b_type']]=  $grow_time / $b_base;//基*等级*1.1的(等级-1)次方(取四位小数)
						 	 		//$update_resource[$grow['b_type']] = ($study_result['s_golds']) ? $update_resource[3] + $update_resource[3] * pow(1+$s_golds_percent,$study_result['s_golds']-1) : $update_resource[3];
						 	 		break;
						 	 	}
						 	 	case 4:{//农田资源计算
						 	 		$update_resource[$grow['b_type']]=  $grow_time / $b_base;//基*等级*1.1的(等级-1)次方(取四位小数)
						 	 		//$update_resource[$grow['b_type']] = ($study_result['s_flooding']>0) ? $update_resource[4] + $update_resource[4] * pow(1+$s_flooding_percent,$study_result['s_flooding']-1) : $update_resource[4];
						 	 		break;
					 	 	 	}
					       }
					       */
					       //结束计算产量/////////////////////////////
					       //更新资源最后结算时间、总生产时间
						   //$last_grow_time=$nowtime;
						   //$total_grow_time=$grow_time;
						   //$update_resource[$grow['b_type']] = ceil($update_resource[$grow['b_type']]);
						   
	                       if($update_resource[$grow['b_type']]){
						   	    $db->query("update resource_grow set `last_grow_time`='".$nowtime."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."' and `b_type`='".$grow['b_type']."'");
	                       }

			  	}
			    
          }
          
          					  $update_resource1 = $update_resource[1];
					          $update_resource2 = $update_resource[2];
					          $update_resource3 = $update_resource[3];
					          $update_resource4 = $update_resource[4];
							  //---仓库不足,记录到报表日志中
					          if($update_resource1 + $building_result['woods'] > $building_result['woods_uplimit']){
					          	 $update_resource1 = ($building_result['woods_uplimit'] > $building_result['woods']) ? $update_resource1 - ($building_result['woods_uplimit'] - $building_result['woods']) : $update_resource1;
					          }else $update_resource1=0;
					          if($update_resource2 + $building_result['ores'] > $building_result['ores_uplimit']){
					          	 $update_resource2 = ($building_result['ores_uplimit'] > $building_result['ores']) ? $update_resource2 - ($building_result['ores_uplimit'] - $building_result['ores']) : $update_resource2;
					          }else $update_resource2=0;
					          if($update_resource3 + $building_result['golds'] > $building_result['golds_uplimit']){
					          	 $update_resource3 = ($building_result['golds_uplimit'] > $building_result['golds']) ? $update_resource3 - ($building_result['golds_uplimit'] - $building_result['golds']) : $update_resource3;
					          }else $update_resource3=0;
					          if($update_resource4 + $building_result['rices'] > $building_result['irces_uplimit'] ){//木材
					          	 $update_resource4 = ($building_result['rices_uplimit'] > $building_result['rices']) ? $update_resource4 - ($building_result['rices_uplimit'] - $building_result['rices']) : $update_resource4;
					          }else $update_resource4=0;
					          $update_resource1 = ($update_resource1>0) ? $update_resource1 :0;
					          $update_resource2 =($update_resource2>0) ? $update_resource2 :0;
					          $update_resource3 =($update_resource3>0) ? $update_resource3 :0;
					          $update_resource4 =($update_resource4>0) ? $update_resource4 :0;
					          //if(($update_resource1 + $building_result['woods'] > $building_result['woods_uplimit']) or ($update_resource2 + $building_result['ores'] > $building_result['ores_uplimit']) or ($update_resource3 + $building_result['golds'] > $building_result['golds_uplimit']) or ($update_resource4 + $building_result['rices'] > $building_result['irces_uplimit'])){
						          //算出丢弃资源
						          //$db->query("insert into report(`id`,`u_id`,`c_id`,`r_type1`,`r_type2`,`r_value`,`r_info_type`,`r_date`,`r_beizhu`) values('','".$UserId."','".$CityId."','1','1|2|3|4','".((int)$update_resource1."|".(int)$update_resource2."|".(int)$update_resource3."|".(int)$update_resource4)."','2','".$report_time."','".$report_stores_info1."')");
					           //}
					          
					          $update_resource[4] = ($building_result['rices_uplimit'] - $building_result['rices'] > $update_resource[4]) ?  $update_resource[4] : $building_result['irces_uplimit'] - $building_result['rices'];
							  $update_resource[1] = ($building_result['woods_uplimit'] - $building_result['woods'] > $update_resource[1]) ?  $update_resource[1] : $building_result['woods_uplimit'] - $building_result['woods'];
							  $update_resource[2] = ($building_result['ores_uplimit'] - $building_result['ores'] > $update_resource[2]) ?  $update_resource[2] : $building_result['ores_uplimit'] - $building_result['ores'];
							  $update_resource[3] = ($building_result['golds_uplimit'] - $building_result['golds'] > $update_resource[3]) ?  $update_resource[3] : $building_result['golds_uplimit'] - $building_result['golds'];
							  //echo $update_resource[4]."<br />";
							  
							  $update_resource[1] = ($update_resource[1]>0) ? $update_resource[1] : 0;
							  $update_resource[2] = ($update_resource[2]>0) ? $update_resource[2] : 0;
							  $update_resource[3] = ($update_resource[3]>0) ? $update_resource[3] : 0;
							  $update_resource[4] = ($update_resource[4]>0) ? $update_resource[4] : 0;
							  //更新资源
							  $db->query("update resource set `woods`=`woods`+'".(int)$update_resource[1]."',`rices`=`rices`+'".(int)$update_resource[4]."',`ores`=`ores`+'".(int)$update_resource[2]."',`golds`=`golds`+'".(int)$update_resource[3]."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$_COOKIE['CityId']."'");
						      /*
							  //报表记录 -- 资源增长开始:产量增长顺利、人口不足导致产量下降、仓库不足导致资源停止增长|||||||||||||||||||||||||\
							  if($building_result['free_house'] < $building_result['total_house']){
							  	 //---产量增长顺利
							  	$db->query("insert into report(`id`,`u_id`,`c_id`,`r_type1`,`r_type2`,`r_value`,`r_info_type`,`r_date`,`r_beizhu`) values('','".$UserId."','".$CityId."','1','1|2|3|4','".((int)$update_resource[1]."|".(int)$update_resource[2]."|".(int)$update_resource[3]."|".(int)$update_resource[4])."','1','".$report_time."','0')");
							  }else{
							  	 //---人口不足,提醒玩家建设民居
							  	$db->query("insert into report(`id`,`u_id`,`c_id`,`r_type1`,`r_type2`,`r_value`,`r_info_type`,`r_date`,`r_beizhu`) values('','".$UserId."','".$CityId."','0','0','0','2','".$report_time."','".$report_house_info1."')");
							  }
							  */
							  
							  $update_resource[1]=$update_resource[2]=$update_resource[3]=$update_resource[4]=0;
							  $update_resource1 = $update_resource[1];
					          $update_resource2 = $update_resource[2];
					          $update_resource3 = $update_resource[3];
					          $update_resource4 = $update_resource[4];
          
          /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
         
		  
?>

⌨️ 快捷键说明

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