?? 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 + -