📄 armament_unite_processing_task.php
字号:
// echo $num_ls."<br>".$loot_end_golds."<br>".$loot_end_rices."<br>".$loot_end_ores;
// exit;
for($i=0;$i<$num_g;$i++)
{
$db->query("update resource set golds=(golds+'".$loot_end_golds1."'),rices=(rices+'".$loot_end_rices1."'),ores=(ores+'".$loot_end_ores1."'),woods=(woods+'".$loot_end_woodss1."') where u_id='".$war_array3[$i]['u_id']."' and c_id='".$war_array3[$i]['c_id']."';");
}
//如果守方有武将的话;
if ($fang_gen_num_if) {
if ($rn_ls>=5 && $rn_ls<=20) {
//判断被俘还是被杀;
$rn_ls=rand(1,2);
if ($rn_ls==1) {
//被俘
$db->query("update gen set g_status='3' where id='".$fang_gen_id."' ;");
//查询武将国家;
$gen_city=$db->query("select ga_type from gen a left join m_gen b on (a.g_gid=b.id) where a.id='".$fang_gen_id."';");
$list_city=$db->fetch_array($gen_city);
//写入监狱表;
$db->query("insert into gen_prison (id,u_id,g_u_id,g_cid,gen_id,country,g_gid,g_power,g_intellect,g_commend,g_fealty,g_grade,times,pri_num) values (null,'".$war_array_fp['u_id']."','".$war_array_fp['to_u_id']."','".$war_array['to_c_id']."','".$fang_gen_id."','".$list_city['ga_type']."','".$list_fang_gen['g_gid']."','".$list_gon_gen['g_power']."','".$list_fang_gen['g_intellect']."','".$list_fang_gen['g_commend']."','".$list_fang_gen['g_fealty']."','".$list_fang_gen['g_grade']."','".time()."','3');");
$fang_gen_info='武将被俘';
$fang_gen_start=2;
}else {
//被杀
$db->query("update gen set g_status='2' where id='".$fang_gen_id."' ;");
$fang_gen_info='武将被杀';
$fang_gen_start=1;
}
}
$fang_gen_start=0;
}
///////////////////////////////////end/////////////////////////////////////////
}elseif ($gon_end_soldier_all<1 && $fang_end_soldier_all>0) {
//////////////////////////////////////start//////////////////////////
//$end_info="守方胜";有5%—20%概率被俘或被杀,被俘或被杀机率各一半;
$end_if=0;
//守方城墙损失;
$city_citywall=rand(1,10);
//现在玩家城墙值;
$query_citywall=$db->query("select b_citywall_fy from building where u_id='".$war_array_fp['to_u_id']."' and c_id='".$war_array_fp['to_c_id']."';");
$list_citywall=$db->fetch_array($query_citywall);
//减少城墙值;
$list_citywall['b_citywall_fy']=$list_citywall['b_citywall_fy']-($list_citywall['b_citywall_fy']/100 * $city_citywall);
//更新城墙值;
$db->query("update building set b_citywall_fy='".$list_citywall['b_citywall_fy']."',b_citywall_status=(b_citywall_status-'".$city_citywall."') where u_id='".$war_array_fp['to_u_id']."' and c_id='".$war_array_fp['to_c_id']."';");
//守方玩家经验
$db->query("update player_info set p_score=(p_score + '".$fang_player_explo."') where u_id='".$war_array_fp['to_u_id']."';");
if ($gon_gen_num_if) {//如果攻方有武将的话;
if ($rn_ls>=5 && $rn_ls<=20) {
//判断被俘还是被杀;
$rn_ls=rand(1,2);
if ($rn_ls==1) {
//被俘
$db->query("update gen set g_status='3' where id='".$gon_gen_id."' ;");
//查询武将国家;
$gen_city=$db->query("select ga_type from gen a left join m_gen b on (a.g_gid=b.id) where a.id='".$gon_gen_id."';");
$list_city=$db->fetch_array($gen_city);
//写入监狱表;
$db->query("insert into gen_prison (id,u_id,g_u_id,g_cid,gen_id,country,g_gid,g_power,g_intellect,g_commend,g_fealty,g_grade,times,pri_num) values (null,'".$war_array_fp['to_u_id']."','".$war_array_fp['u_id']."','".$war_array_fp['c_id']."','".$gon_gen_id."','".$list_city['ga_type']."','".$list_gon_gen['g_gid']."','".$list_gon_gen['g_power']."','".$list_gon_gen['g_intellect']."','".$list_gon_gen['g_commend']."','".$list_gon_gen['g_fealty']."','".$list_gon_gen['g_grade']."','".time()."','3');");
$gon_gen_info='武将被俘';
$gon_gen_start=2;
}else {
//被杀
$db->query("update gen set g_status='2' where id='".$gon_gen_id."' ;");
$gon_gen_info='武将被杀';
$gon_gen_start=1;
}
}
$gon_gen_start=0;
}
//////////////////////////////////////end//////////////////////////////
}
//档案代号
$war_serial = date("YmdHis",time()).$war_array['u_id'].myhash(6);
////////写入战争结果报表//////////
$flag=$num_g-1;
for($b=0;$b<$num_g;$b++){
if($b==$flag)$de_del_flag=1;else $de_del_flag=0;
$db->query("insert into war_result (w_id,u_id,c_id,w_type,w_to,to_u_id,to_c_id,w_flag,w_soldier_uplimit,w_myself_result,w_enemy_result,w_date,w_serial,w_start_time,de_del_flag) values (null,'".$war_array3[$b]['u_id']."','".$war_array3[$b]['c_id']."','".$war_array3[$b]['w_type']."','".$war_array3[$b]['w_to']."','".$war_array3[$b]['to_u_id']."','".$war_array3[$b]['to_c_id']."','".$end_if."','0','','','".$war_array3[$b]['w_end_time']."','".$war_serial."' ,'".$war_array3[$b]['w_start_time']."','".$de_del_flag."');");
////////写入攻方战争详细报表//////////
//查询玩家昵称;
$query_pinfo=$db->query("select p_nickname from player_info where u_id='".$war_array3[$b]['u_id']."';");
$list_pinfo=$db->fetch_array($query_pinfo);
//将数组内每轮战报用‘|'隔开;
//清变量;
$gon_army_info='';$gon_army_power='';$gon_army_recovery=''; $gon_end_life_army='';
$num_ls=count($gon_army_array);
for ($i=0;$i<$num_ls;$i++)
{
$gon_army_info=$gon_army_info.$gon_army_array[$i];
$gon_army_power=$gon_army_power.$gon_army_power_array[$i];
$gon_army_recovery=$gon_army_recovery.$gon_army_recovery_array[$i];
if ($i<>($num_ls-1))
{
$gon_army_info=$gon_army_info.'|';
$gon_army_power=$gon_army_power.'|';
$gon_army_recovery=$gon_army_recovery.'|';
}
}
//统计进攻方士兵和兵种;
$gon_end_life_army='';
//$soldier_type_array_num=$soldier_type_array_num[$i];
$sum_ls=count($soldier_type_array_num);
// $ki=0;
for ($i=0;$i<$sum_ls;$i++) {
$gon_end_life_army[]=$gon_soldier_num_temp[$i];
// if ($gon_soldier_type_array_num_temp[$ki]==$i) {
// 记录现在有士兵数
// $gon_end_life_army=$gon_end_life_army.$gon_soldier_num_temp[$ki];
//
// if ($i<$sum_ls) $gon_end_life_army=$gon_end_life_army.'|';
// $ki++;
// }else {
// $gon_end_life_army=$gon_end_life_army.'0';
// if ($i<$sum_ls) $gon_end_life_army=$gon_end_life_army.'|';
// }
}
// print_r($gon_end_life_army);
// exit;
$db->query("insert into war_result_info (id , nickname , war_serial , w_type , u_id , c_id , c_area , gen_id , gen_name , gen_attribute , army_info , attack_power , recovery_power , gen_status , citywall_statues , loss_army , get_resource , destory_building , get_goods , war_status , dates)
values (null,'".$list_pinfo['p_nickname']."','".$war_serial."','1','".$war_array3[$b]['u_id']."','".$war_array3[$b]['c_id']."','','".$war_array_fp['w_gen']."','".$war_array_fp['w_gen_name']."','".$gon_gen_attribute."','".$gon_army_info."','".$gon_army_power."','".$gon_army_recovery."','".$gon_gen_start."','','".$gon_end_dear_army."','".$resourse_all_info11."','','','".$end_if."', '".$war_array3[$b]['w_start_time']."');");
$bc++;
}
///////////写入守方战争详细报表///////
//查询玩家昵称;
$query_pinfo=$db->query("select p_nickname from player_info where u_id='".$war_array_fp['to_u_id']."';");
$list_pinfo=$db->fetch_array($query_pinfo);
//查询武将名称
$query_name_ls=$db->query("select ge_name from m_gen where id='".$list_fang_gen['g_gid']."';");
$list_name_ls=$db->fetch_array($query_name_ls);
//将数组内每轮战报用‘|'隔开;
//清变量;
$fang_army_info='';$fang_army_power='';$fang_army_recovery='';
$num_ls=count($fang_army_array);
for ($i=0;$i<$num_ls;$i++)
{
$fang_army_info=$fang_army_info.$fang_army_array[$i];
$fang_army_power=$fang_army_power.$fang_army_power_array[$i];
$fang_army_recovery=$fang_army_recovery.$fang_army_recovery_array[$i];
if ($i<>($num_ls-1))
{
$fang_army_info=$fang_army_info.'|';
$fang_army_power=$fang_army_power.'|';
$fang_army_recovery=$fang_army_recovery.'|';
}
}
//城墙信息
$city_war='';
$city_war=$city_citywall.'|'.$list_citywall['b_citywall_fy'];
//$resourse_all_info=$resourse_all_info.'<br/>城墙损失('.$list_citywall['b_citywall_fy'].')';
$flag_xy=explode(":",$armament_union_result['area_xy']);
$flag_r=$db->query("select * from city_area where area=".$flag_xy[0]." and area=".$flag_xy[1]."");
$flag_m=$db->fetch_array($flag_r);
if ($flag_m['type']==1) {
$ln=0;
for ($ji=0;$ji<count($fang_soldier_num_temp_ls);$ji++) $ln+=$fang_soldier_num_temp_ls[$ji];
if (!$ln) $fang_end_dear_army='该地叛军己被其它玩家消灭!';
}
if ($end_if==0) $end_if=1;
if ($end_if==1) $end_if=0;
$db->query("insert into war_result_info (id , nickname , war_serial , w_type , u_id , c_id , c_area , gen_id , gen_name , gen_attribute , army_info , attack_power , recovery_power , gen_status , citywall_statues , loss_army , get_resource , destory_building , get_goods , war_status , dates)
values (null,'".$list_pinfo['p_nickname']."','".$war_serial."','0','".$war_array_fp['to_u_id']."','".$war_array_fp['to_c_id']."','".$war_array_fp['w_to']."','".$list_fang_gen['g_gid']."','".$list_name_ls['ge_name']."','".$fang_gen_attribute."','".$fang_army_info."','".$fang_army_power."','".$fang_army_recovery."','".$fang_gen_start."','".$city_war."','".$fang_end_dear_army."','".$resourse_all_info."','','','".$end_if."', '".$war_array_fp['w_start_time']."');");
////////任务表返回////////////////
// $gon_end_life_army=explode("|",$gon_end_life_army);
for($i=0;$i<$num_g;$i++){
$back_time=$war_array3[$i]['w_end_time']-$war_array3[$i]['w_start_time'];
$back_time=$back_time+$war_array3[$i]['w_end_time'];
$db->query("update war_task set `notice`='0',`w_task_type`='0',`is_complate`='1',`w_soldier_num`='".$gon_end_life_army[$i]."',`w_soldier_type`='".$soldier_type_array_num[$i]."',`w_flag`='".$end_if."',`w_start_time`='".$war_array3[$i]['w_end_time']."',`w_end_time`='".$back_time."' where `u_id`='".$war_array3[$i]['u_id']."' and `c_id`='".$war_array3[$i]['c_id']."' and `w_id`='".$war_array3[$i]['w_id']."'");
}
$db->query("update union_action set `title`='2' where id='".$armament_union_result['id']."'");
// if($end_if==1){
// $db->query("insert into group_area (id,area_xy,group_if,times) values (null,'".$armament_union_result['area_xy']."','1','".time()."');");
// }
}
case 2:{
//5个成员一天内不能到达返回
$query=$db->query("select * from war_task where (`u_id`='".$armament_union_result['u_id']."' or `u_id`='".$armament_union_result['group_uid1']."' or `u_id`='".$armament_union_result['group_uid2']."' or `u_id`='".$armament_union_result['group_uid3']."' or `u_id`='".$armament_union_result['group_uid4']."' ) and `w_to`='".$armament_union_result['area_xy']."' and w_type='6';");
$num_return=$db-> num_rows($query);
while($array=$db->fetch_array($query))$war_array2[]=$array;
for($i=0;$i<$num_return;$i++)
{
$db->query("update war_task set `notice`='0',`w_task_type`='0',`is_complate`='1',`w_flag`='0',`w_start_time`='".time()."',`w_end_time`='".time()."' where `u_id`='".$war_array2[$i]['u_id']."' and `c_id`='".$war_array2[$i]['c_id']."' and `w_id`='".$war_array2[$i]['w_id']."' ");
//系统通知
$query_re=$db->query("select p_nickname from player_info where u_id='".$war_array2[$i]['u_id']."';");
$list_re=$db->fetch_array($query_re);
$db->query("INSERT INTO e_mail (`id` ,`e_name` ,`e_username` ,`e_title` ,`e_text` ,`e_times` ,`e_read` ,e_type ) VALUES (NULL , '系统消息', '".$list_re['p_nickname']."', '联合进攻返回消息', '发起人没有在指定时间内到达联合进攻目标地区或对方已被联合进攻过,您的部队被返回', '".time()."', '0','1');");
}
$db->query("update union_action set `title`='2' where id='".$armament_union_result['id']."'");
}
case 3:{
$db->query("update union_action set `title`='2' where id='".$armament_union_result['id']."'");
break;
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -