0)break; } //**********************ДЕЙСТВИЯ В map.php if(!check_text(1,'map.php')){ loged('переходим на карту'); //переходим на карту if(!$element->click_on_element_by_inner_text(trans_lang('Карта')))close_modul(6,'Карта',1); elseif(!go('map.php') || !check_text(1,'map.php')){close_modul(6,'при заходе на карту, перешли на другую страницу');break;} } rand_sleep(1,3); //осматриваем производства if(!in_array(3,$m_noacces) and !close_modul(3) and $emul_map_neytral==1 and $game_neytral_propusk!=0)include($dir.'/functions/moduls/map_neytral.php'); //подключение модуля пропуска нейтралов $waittime=time(); //подсчет сколько тратится на поиск работы $work_type_map=1; //сбрасываем инфу на тип карты где больше зарплата //поиск производства и последующий переход while($game_work_search_time>(time()-$waittime)){ $tp=0; if($game_server=='ru'){ $arr_html1=explode('Тип',$webpage->get_source()); $arr_html2=explode('Статистика',$arr_html1[1]); } else{ $arr_html1=explode('Type ',$webpage->get_source()); $arr_html2=explode('Statistics
',$arr_html1[1]); } if($arr_html2[0]==''){close_modul(6,'изменилась навигация для объектов карты');break;} //берем все предприятия (где >>>) на которые можно перейти if($game_work_search_object==0 || check_text(0,''.$ar_map_type[2].''))preg_match_all('/([0-9]{3,4})<\/b> <\/td> »»»<\/a> <\/td><\/tr>/',$arr_html2[0],$array_url_oject); $object_good=''; //сбрасываем инфу //смотрим предприятия по фильтру, отбрасываем все что: в массиве $error_object_bad, по конфигу с маленьким зарплатой, не имеет имени по которой можно нажать if(count($array_url_oject[2])>0)foreach($array_url_oject[2] as $row)if(!in_array($row,$error_object_bad) and $array_url_oject[1][0]>=$game_work_zarplata_min and preg_match('/ (.*?)<\/a> <\/td>/',$arr_html2[0],$array_name_oject)){$object_good=$row;break;} if($object_good==''){ if($game_work_search_object==0 || check_text(0,''.$ar_map_type[2].''))loged('нет свободных для работы объектов'); else loged('такие объекты для работы пока не подходят'); //переход на другой тип карты if(($game_work_search_object==0 and rand(0,4)!=1) || (($game_work_search_object==1 || $game_work_search_object==2) and !check_text(0,''.$ar_map_type[2].''))){ rand_sleep(2,4); //ожидаем if ($game_work_search_object==1)$work_type_map=0; if(($game_work_search_object==1 and ($game_work_search_time*0.7)>(time()-$waittime)))$work_type_map=1; if(($game_work_search_object==1 and ($game_work_search_time*0.4)>(time()-$waittime)) ||$game_work_search_object==2)$work_type_map=2; loged('меняем тип карты на '.$ar_map_type[$work_type_map]); $anchor->click_by_inner_text($ar_map_type[$work_type_map],'true'); //переходим на другой тип карты go('map.php'); } elseif($anchor->click_by_inner_text($ar_map_type[$work_type_map],'true') and go('map.php')){rand_sleep(4,11);loged('обновили объекты');} //нажимаем на текущий тип карты, для обновления } elseif(!$anchor->click_by_inner_text($array_name_oject[2],true)){++$error_object_go;loged('не смогли перейти на объект '.$array_name_oject[2]);} elseif(go('object-info.php') and check_text(1,'object-info.php')){$tp=1;loged('перешли на объект '.$array_name_oject[2]);break;} else{++$error_object_go;loged('не смогли зайти на объект '.$array_name_oject[2]);} if($error_object_go==2){close_modul(6,'постоянные ошибки при переходах на объекты');break;} elseif((time()-$waittime)>=$game_work_search_time){loged('поиск объектов для работы закончился неудачей');rand_sleep(5,12);} //если достигли конца цикла } if(close_modul(6))break; //если в предыдущем цикле был заблокирован модуль, отключаем //**********************ДЕЙСТВИЯ В object-info.php if($tp==1){ for($i4=0;$i4<3;$i4++){ if(preg_match('/([.0-9]{3}) '.trans_lang('штраф трудоголика').'/',$webpage->get_source(),$array_shtraf_trudogolik) and $game_work_close_shtraf_trugogolik>$array_shtraf_trudogolik[1]){$x6=2;if($game_work_close_shtraf_trugogolik_stop==1)stop_bot('штраф трудоголика превысил допустимое');else close_modul(6,'штраф трудоголика превысил допустимое');break;} elseif(check_text(0,trans_lang('Прошло меньше часа с последнего устройства на работу. Ждите.')) || check_text(0,trans_lang('Вы уже устроены.'))){ loged('трудоустройство уже было'); if(!in_array(2,$m_noacces) and !close_modul(2))include($dir.'/functions/moduls/home.php'); //подключение модуля личная страница else {put_tempfile('data/modul_work_'.$game_server.'_indate.txt',time()+300);} $x6=2;break; } elseif(check_text(0,trans_lang('Нет рабочих мест.'))){$error_object_bad[]=$object_good;$x6=0;loged('нет мест для работы');rand_sleep(2,5);break;} elseif(check_text(0,trans_lang('На объекте недостаточно золота.'))){$error_object_bad[]=$object_good;$x6=0;loged('у предприятия не хватает золота для работы');rand_sleep(1,2);break;} elseif(check_text(0,trans_lang('На объекте недостаточно ресурсов для производства.'))){$error_object_bad[]=$object_good;$x6=0;loged('не хватает ресурсов у предприятия');rand_sleep(1,3);break;} elseif(!check_text(0,'work_codes/')){$x6=2;close_modul(6,'нет подпапки на картинку');break;} else{ $waittime=time(); //подсчет за сколько разгадала капча код if(strlen($captcha_kod)==6)loged('взяли недавно разгаданный код капчи'); else{ $captcha_name='work_'.time().'_'.rand(99,10000).'.jpg'; //создаем имя картинке капчи if(!$image->save_to_file_by_url('work_codes/',$dir.'/temp/captcha/'.$captcha_name,'false')){$captcha_kod='';close_modul(6,'не получилось сохранить картинку');$x6=2;break;} else{ loged('взяли картинку для разгадывания'); //разгадывание по антикапче if($game_vvod_kapcha==1 and $anticaptcha_key!=''){ if(rand(0,2)==1)$captcha_kod=anticaptcha_v2_search($dir.'/temp/captcha/'.$captcha_name,6,$object_good); else $captcha_kod=anticaptcha_v1_sleep($dir.'/temp/captcha/'.$captcha_name,6); } elseif($game_vvod_kapcha==2 and $captchabot_key!=''){ $oc=new OCR(); $captcha_kod = $oc->Recognize($dir.'/temp/captcha/'.$captcha_name,$captchabot_key); } //разгадывание по капчаботу else{$keyboard->set_current_language('en');$captcha_kod=$app->dlg_captcha_from_url_exactly('work_codes/',false);} //ручное разгадывание $captcha_kod=trim($captcha_kod); //убираем лишнее из кода капчи loged('код '.$captcha_kod.' разгадан за '.(time()-$waittime).' сек.'); }} if((time()-$waittime)>85 || $captcha_kod=='' || $error_captcha_kod_bad==3){ $x6=2; if((time()-$waittime)>85)loged('при разгадывании прошло много времени'); elseif($error_captcha_kod_bad==3)loged('при разгадывании прошло много попыток разгадываний'); else loged('код капчи не был разгадан'); loged('блокируем модуль на '.($rand=rand(100,350)).' сек.'); put_tempfile('data/modul_work_'.$game_server.'_indate.txt',(time()+$rand)); //временно блокируем модуль бота из за недоступности сервиса break; } elseif(strlen($captcha_kod)!=6){loged('у кода "'.$captcha_kod.'" неправильное кол-во символов');++$error_captcha_kod_bad;$captcha_kod='';} elseif(!check_text(0,'work_codes/')){loged('капчи уже нет');break;} else{ click_work_flash($captcha_kod); //вводим код капчи и нажимаем на флеш кнопку if($game_minimize_to_tray==1)$app->minimize_to_tray(); //сворачиваем в трей, если в настроках прописано if(!go('object_do.php') || !check_text(1,'object_do.php')){ ++$error_object_flash; loged('не смогли нажать на кнопку отправки'); if($error_object_flash==3){ put_tempfile('data/modul_work_'.$game_server.'_indate.txt',(time()+rand(50,300))); //блокируем запуск модуля на 30-40 минут $error_object_flash=0; $x6=2; break; } } elseif(check_text(0,trans_lang('Вы устроены на работу'))){ ++$num_all_trud; loged($num_all_trud.' трудоустройство успешно произведено'); put_tempfile('data/modul_work_'.$game_server.'_indate.txt',(time()+rand(1800,2200))); //блокируем запуск модуля на 30-40 минут @rename($dir.'/temp/captcha/'.$captcha_name,$dir.'/temp/captcha/'.$captcha_kod.'.jpg'); //переименовываем имя картинки капчи на имя с кодом капчи $error_object_flash=0;$error_captcha_kod_bad=0;$captcha_kod=''; //сбрасываем инфу $x6=2; //делаем выходит из общего цикла if(rand(0,5)!=1 and !in_array(2,$m_noacces) and !close_modul(2)){ rand_sleep(1,4); include($dir.'/functions/moduls/home.php'); } break; } else{ if(check_text(0,trans_lang('Введен неправильный код'))){loged('введен неправильный код');++$error_captcha_kod_bad;$captcha_kod='';} else loged('выведенa неизвестная информация'); if($i4!=1 and rand(0,2)==1)break; //выходим по рандому rand_sleep(0,3); if($anchor->click_by_inner_text(trans_lang('Назад'),'true') and go('object-info.php'))loged('перешли назад на производство'); } if(file_exists($dir.'/temp/captcha/'.$captcha_name))unlink($dir.'/temp/captcha/'.$captcha_name); //удяляем старую капчу }}} } //если модуль временно не блокирован и уже пошел выход из общего цикла, то временно блокируем модуль работы if((time()-read_tempfile('data/modul_work_'.$game_server.'_indate.txt'))>=0 and ($x6==1 || $error_captcha_kod_bad==3)){ $error_captcha_kod_bad==0; //сбрасываем инфу loged('блокируем модуль на '.($rand=rand(40,210)).' сек.'); put_tempfile('data/modul_work_'.$game_server.'_indate.txt',(time()+$rand)); //блокируем запуск модуля break; } } ?>