📄 building_processing_task.php
字号:
<?php
/////////////////////////////////////////玩家触发自动处理建筑队列及资源增长////////////////////////////////////////
//$query=$db->query("select * from building_task where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' and `b_end_time`<='".time()."' and `b_end_time`<>'' and `b_end_time`<>'0' limit 1");
$query=$db->query("select * from building_task where `u_id`='".$_COOKIE['UserId']."' order by b_end_time");
while($row=$db->fetch_array($query)) $b_task_list[]=$row;
$task_result =count($b_task_list);
//for($i=0;$i<$task_result;$i++){
if($b_task_list) foreach ($b_task_list as $i=>$m2){
//$m2['c_id'] = $_COOKIE['CityId'];
//读取任务队列表中的第一个任务
$query=$db->query("select * from building_task where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' order by t_sort limit 1");
$m2=$db->fetch_array($query);
//获取城墙等级数据
$query=$db->query("select * from building where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
$b_current_result=$db->fetch_array($query);
//基础数据
$query=$db->query("select * from building_attribute where `b_type`='".$m2['b_type']."'");
$task_base_result=$db->fetch_array($query);
//先判断建筑任务是否完成
if($m2['b_end_time']<=time() and $m2['b_end_time']){//完成
@setcookie("last_building",$m2['b_type'],time()+24*60*60,"/");
@$_COOKIE["last_building"]=$m2['b_type'];
//echo $_COOKIE['last_building'];exit;
//更新建筑建造及升级成功前的所有资源产量/////////////////
include_once("auto_grow_resource.php");
//更新建筑物数量、等级及仓库、民居、兵营上限值/////////////////////////////////////////////////////////////////////////////////////////
$hero_score=$m2['b_time'] * $b_hero_base;//武将功勋值
//读取内政物品表 - 增加相应经验值
//$query=$db->query("select i_goodsname from interior_goods where `i_uid`='".$_COOKIE['UserId']."'");
//$interior_result=$db->fetch_array($query);
//$interior_score=($interior_result['i_goodsname'] == $interior_goods_name[1] or $interior_result['i_goodsname'] == $interior_goods_name[2]) ? $interior_goods_add_score[$interior_result['i_goodsname']] : 0;
$interior_score = 0;
$citywall_fy=0;
//经验值增长
switch ($m2['b_type']){
case 1:
case 2:
case 3:
case 4:{
$score = add_percent($b_score_base_1_4,$b_score_percent_1_4,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 5:{//民居上限
//$total_house_temp = add_workers($task_base_result['b_base'],$m2['b_num_grade']);//基*等级*1.1的(等级-1)(取四位小数)
$total_house_temp = add_workers($task_base_result['b_base'],$m2['b_num_grade']);
$score = add_percent($b_score_base_5_8,$b_score_percent_5_8,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 8:{
//$barracks_uplimit = $task_base_result['b_base'];//每级兵营增长1000个上限
$barracks_uplimit = $m2['b_num_grade'] * 500;
$score = add_percent($b_score_base_5_8,$b_score_percent_5_8,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 6:{
$armament_uplimit = $task_base_result['b_base'];//武器工房每级增加上限
//$score = add_percent(100,30,$m2['b_num_grade']-1);
break;
}
case 9:{
$score = add_percent($b_score_base_9,$b_score_percent_9,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 7:{
$score = add_percent($b_score_base_7,$b_score_percent_7,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 10:{
$score = add_percent($b_score_base_10,$b_score_percent_10,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 11:{//仓库
$total_store_rices_temp = add_percent($rices_uplimit,$task_base_result['add_uplimit_percent'],$m2['b_num_grade']+1);
$total_store_woods_temp = add_percent($woods_uplimit,$task_base_result['add_uplimit_percent'],$m2['b_num_grade']+1);
$total_store_irons_temp = add_percent($irons_uplimit,$task_base_result['add_uplimit_percent'],$m2['b_num_grade']+1);
$total_store_golds_temp = add_percent($golds_uplimit,$task_base_result['add_uplimit_percent'],$m2['b_num_grade']+1);
$score = add_percent($b_score_base_11,$b_score_percent_11,$m2['b_num_grade']-1) + $interior_score;
break;
}
case 12:{
$score = add_percent($b_score_base_12,$b_score_percent_12,$m2['b_num_grade']-1) + $interior_score;
//城墙防御值
$citywall_fy = 500;
$citywall_status=100;//城墙状态
break;
}
case 13:{
$score = add_percent($b_score_base_dzs,$b_score_percent_dzs,$m2['b_num_grade']-1) + $interior_score ;
break;
}
}
//echo $score;exit;
//$score=0;
if($m2['t_type']=="1"){
//更新player_info表
$db->query("update player_info set `p_score`=(`p_score`+'".(int)$score."') where `u_id`='".$_COOKIE['UserId']."' ");
//更新建筑物数量与等级
$db->query("update building set `b_citywall_fy`=(`b_citywall_fy`+'".$citywall_fy."'),`b_citywall_status`='100',`".$b_type_name_en[$m2['b_type']]."`=(`".$b_type_name_en[$m2['b_type']]."`+'1') where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' ");
//更新相关上限值
if($m2['b_type']=="5"){//民居
$db->query("update resource set `total_house`='".$total_house_temp."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="11"){//仓库
$db->query("update resource set `woods_uplimit`='".(int)$total_store_woods_temp."',`rices_uplimit`='".(int)$total_store_rices_temp."',
`ores_uplimit`='".(int)$total_store_irons_temp."',`golds_uplimit`='".(int)$total_store_golds_temp."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="8"){//兵营
$db->query("update resource set `barracks_uplimit`='".(int)$barracks_uplimit."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="6"){//武器
$db->query("update resource set `armament_uplimit`=(`armament_uplimit`+'".(int)$armament_uplimit."') where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}
}else{
//更新建筑物数量与等级
$db->query("update building set `b_citywall_fy`=(`b_citywall_fy`-'".$citywall_fy."'),`".$b_type_name_en[$m2['b_type']]."`=(`".$b_type_name_en[$m2['b_type']]."`-'1') where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' ");
if($m2['b_type']=="5"){//民居
$db->query("update resource set `total_house`='".$total_house_temp."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="11"){//仓库
$db->query("update resource set `woods_uplimit`='".(int)$total_store_woods_temp."',`rices_uplimit`='".(int)$total_store_rices_temp."',
`ores_uplimit`='".(int)$total_store_irons_temp."',`golds_uplimit`='".(int)$total_store_golds_temp."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="8"){//兵营
$db->query("update resource set `barracks_uplimit`='".(int)$barracks_uplimit."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}elseif($m2['b_type']=="6"){//武器
$db->query("update resource set `armament_uplimit`=(`armament_uplimit`-'".(int)$armament_uplimit."') where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}
//还原土地
$query=$db->query("update city set `c_size`=`c_size`+'1' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
}
/*
//删除上次的报表记录
$db->query("delete from report where `r_date`<'".(time() - $resource_add_time * 60)."' and `u_id`='".$_COOKIE['UserId']."'");
//报表记录 -- 生产建设报表:使用、建造、升级、提升城墙防御值|||||||||||||||||||||||||\
$report_time=time();
if($m2['t_type']=="1") {
//建造
switch ($m2['b_type']){
case 1:
case 2:
case 3:
case 4:
case 5:
case 8:{
//建造
$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['CityId']."','3','".($m2['b_type']+7)."','".$m2['b_num_grade']."','1','".$report_time."','0')");
break;
}
case 12:{
//城墙防御
$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['CityId']."','9','19','".$citywall_fy."','1','".$report_time."','0')");
break;
}
default:{
//升级
$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['CityId']."','4','".($m2['b_type']+7)."','".$m2['b_num_grade']."','1','".$report_time."','0')");
break;
}
}
//使用资源
$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."','".$m2['c_id']."','6','1|2|3|4|5|6|7','".($m2['b_woods']."|".$m2['b_irons']."|".$m2['b_golds']."|".$m2['b_rices']."|".$m2['b_hills']."|".$m2['b_woolands']."|".$m2['b_flats'])."','1','".$report_time."','0')");
//经验增长
$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."','".$m2['c_id']."','8','20','".$score."','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."','".$m2['c_id']."','5','".$m2['b_type']."','".$m2['b_num_grade']."','1','".$report_time."','0')");
//消耗资源
$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."','".$m2['c_id']."','6','1|2|3|4','".($m2['b_woods']."|".$m2['b_irons']."|".$m2['b_golds']."|".$m2['b_rices'])."','1','".$report_time."','0')");
//经验增长
//$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."','5','20','".$score."','1','".$report_time."','0')");
}
//处理建筑队列报表结束|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||\
*/
switch ($m2['b_type']){
case 1:
case 2:
case 3:
case 4:
case 5:{
//调整生产安排////////////////////////////
include("produce_plan_processing.php");
break;
}
}
$b_end_time_temp=$m2['b_end_time'];
if($task_result>1){
//更新第二个任务的结束时间
$query=$db->query("select * from building_task where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' order by t_id limit 1,1");
$second_result=$db->fetch_array($query);
$query=$db->query("update building_task set `b_end_time`='".($b_end_time_temp+$second_result['b_time'])."' where `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."' and `t_id`= '".$second_result['t_id']."' ");
}
//删除已完成的任务
if($query) $db->query("delete from building_task where `t_id`='".$m2['t_id']."' and `u_id`='".$_COOKIE['UserId']."' and `c_id`='".$m2['c_id']."'");
// update_resource();
refresh();
///////////////////////////////////////////////////////////////////////////////////////////////
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -