Author Topic: Город мертвых  (Read 10514 times)

0 Members and 3 Guests are viewing this topic.

vindizzell

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Город мертвых
« on: August 22, 2014, 08:22:14 PM »
Доброго времени суток! Помогите написать скрипта для игры Город Мертвых. Функции скрипта:
1)Когда игра запускается есть два варианта.
    A)Откроется смартфон который нужно закрыть и переходим к шагу 2
    В)ничего не откроется сразу шаг 2
2)Игра занимает большую область экрана и выходит вниз за границы окна, поэтому нужно осуществить прокрутку страницы, пока не появится смартфон слева в углу и верхняя граница игры станет вплотную к панели браузера.
3)В смартфоне перейдем на вкладку Кадавры. появится панель со всеми кадаврами, осуществить поиск нужного если он есть нажать на него, если его нет пролистать панель на страницу вперед и снова искать нужного кадавра.
4)После того как нашли нужного кадавра наживаем на его аватаре и нажимаем на появившейся кнопке напасть, после чего мы перенесемся на локацию кадавра.
5)В правом верхнем углу будет шкала жизни кадавра. если она полная осуществить щелчек по ней, если пустая дождаться окна с поздравлением и закрыть его. после чего снова открыть смартфон и продолжить с пункта 3.
6) После 9-10 боев обновить браузер и снова к пункту 1.
Я написал сам кое-что, но оно полноценно не работает т.е. я писал по кускам и по кускам оно работает, но когда соединяю в одну программу кликер намертво застывает после запуска(Может это связано с тем что у меня Win 7 х64???). Если не трудно покажите где ошибка, или напишите свой вариант.
Картинки:
[spoiler]







[/spoiler]
Мой код:
[spoiler]
Часть 1
Code: (clickermann) [Select]
WHILE($var < 1)
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "mokr.bmp", -1, 100) //если открыт смарт то закрываю и иду дальше
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("закрыл и прошел")
   ELSE  //если не открыт сразу иду дальше
      LOGWRITE ("иду к шагу 2")
   END_IF
END_CYC
Часть 2:
Code: (clickermann) [Select]
While($var < 1)
   GETSCREEN
   IF_PICTURE_IN (0,0, 1363, 735, "mob.bmp", -1, 100)  //если смартфон видно нажимаю на него
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("нажал на смарт")
   ELSE
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "cru.bmp", -1, 100)    //если смартфон не видно делаю прокрутку кликом по ползунку             
         DBLCLICK($_return1, $_return2)
         WAITMS(100)
      END_IF
   END_IF
END_CYC
Часть 3:
Code: (clickermann) [Select]
While($var < 1)                                                               
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kad.bmp", -1, 100) //ищем кнопку кадавры и жмем
      LCLICK($_return1, $_return2)
      goto(djam)
   END_IF
END_CYC

djam:
WHILE($var < 1)                                                                 
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "djam.bmp", -1, 100)  //если есть нужный кадавр жмем на него
      LCLICK($_return1, $_return2)
      WAITMS(100)
      LOGWRITE ("кадавр Джамшид")
   END_IF
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "next.bmp", -1, 100) //если нет нажимаем пролистать и снова ищем
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
END_CYC
Часть 4.1:
Code: (clickermann) [Select]
While($var < 1)                                                                 
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "nap.bmp", -1, 100) // нажимаем на кнопку напасть
      LCLICK($_return1, $_return2)
      WAITMS(100)
      goto(novbo)
   END_IF
END_CYC
Часть 4.2:
Code: (clickermann) [Select]
WHILE($var < 1)                                                                 
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "novbo.bmp", -1, 100) //жмем на кнопке новый бой
      LCLICK($_return1, $_return2)
      WAITMS(100)
      MOVER(20,80)
      goto(kuji)
   END_IF
END_CYC
Часть 5:
Code: (clickermann) [Select]
WHILE($var < 1)                                                                 
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kuji.bmp", -1, 100)// ищем кусок жизни и кликаем по нему
      LCLICK($_return1, $_return2)
      MOVER(20,80)
      WAITMS(100)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kujia.bmp", -1, 100)// ищем кусок жизни при активном окне
      LCLICK($_return1, $_return2)
      MOVER(20,20)
      WAITMS(100)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kujim.bmp", -1, 100)//ищем маленький кусок жизни
      LCLICK($_return1, $_return2)
      MOVER(20,80)
      WAITMS(100)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kujima.bmp", -1, 100)//ищем маленький кусок жизни при активном окне
      LCLICK($_return1, $_return2)
      MOVER(20,80)
      WAITMS(100)
   END_IF
   
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "pobkr.bmp", -1, 100)//если победили ищем крестик и выходим
      LCLICK($_return1, $_return2)
      MOVER(20,80)
      WAITMS(100)
      goto(nach)
   END_IF
END_CYC
[/spoiler]

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Город мертвых
« Reply #1 on: August 22, 2014, 10:50:55 PM »
Зачем все блоки вложены в циклы While? Где надо и где не надо. Вот в самом начале... Да ещё и без выхода. Естественно он будет вечно крутить первый блок.
Дальше. Не выпрыгивай из цикла по goto он потом не понимает где конец. Делай условие в цикле ложным, это и будет выход.


vindizzell

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Город мертвых
« Reply #2 on: August 22, 2014, 11:00:53 PM »
В цикл While вложил для того чтобы он продолжал искать картинку до того пока не найдет и некуда не перескакивал. А если я сделаю условие ложным, оно может выйти из цикла до того как найдет нужную мне картинку разве не так? Как написать чтобы когда он картинку нашел и кликнул цикл завершился? Я плохо разбираюсь в этом. Если не трудно можешь примерчик кода написать как нужно?

vindizzell

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Re: Город мертвых
« Reply #3 on: August 23, 2014, 02:09:18 PM »
Огромное вам спасибо за сей подарок!

Jeb63

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Город мертвых
« Reply #4 on: September 22, 2014, 06:41:54 PM »
""WHILE($var < 1)                                                                 
   GETSCREEN
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "kuji.bmp", -1, 100)// ищем кусок жизни и кликаем по нему
      LCLICK($_return1, $_return2)
      MOVER(20,80)
      WAITMS(100)
   END_IF""

Делаю простую фармилку на кадаврах на примере вышеизложенного скрипта - и сразу возник вопрос! Кликер автоматом ищет и жмет на полоску здоровья моего перса(
Т.е. я понимаю есть два варианта: 1. Либо фиксированное смещение по координатам
                                                     2. Либо для каждого кадавра делать отдельные картинки

Фиксировать проще, но потом сложно подгонять окно(

По какому пути лучше идти?
Или есть менее трудозатратный способ?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Город мертвых
« Reply #5 on: September 22, 2014, 07:21:18 PM »
Делаю простую фармилку на кадаврах


Зачем что от делать если уже все написано?
Бот для Города мертвых "Автофарм кадавров"

Jeb63

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Город мертвых
« Reply #6 on: September 22, 2014, 10:01:21 PM »
1. я попробовал данный бот - у меня он не работает! (или руки не оттуда растут)
2. Данный бот написан для кача. Фарм серебра с него только с цитадели. (что там и как переделывать точно не разберусь пока..)

при запуске бота в оконном режиме проходит настройка - затем тишина.
при запуске в полноэкранном режиме - вообще ничего.
код курсора - 31, винда 7


p.s. где можно посмотреть библиотеку по командам? Например чем отличаются команды IF_PICTURE_IN от SCANPICTURE
« Last Edit: September 22, 2014, 10:05:06 PM by Jeb63 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Город мертвых
« Reply #7 on: September 22, 2014, 10:52:34 PM »
...или руки не оттуда растут...

при запуске бота в оконном режиме проходит настройка - затем тишина.
при запуске в полноэкранном режиме - вообще ничего.
код курсора - 31, винда 7

Там же написано, никакого оконного режима (код курсора при этом никак не определится а именно на этом построена работа бота) и на полный экран тоже растягивать нельзя, координаты в этом случае все меняются.

Тебе лишь нужно уместить игру на экране и запустить скрипт.

На счет серебра, я там заглядывал и теперь возможно выбрать низкоуровнего кадавра и мочить его до бесконечности. Потом продавать полученные предметы.

Jeb63

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Город мертвых
« Reply #8 on: September 22, 2014, 11:02:17 PM »
"и на полный экран тоже растягивать нельзя, координаты в этом случае все меняются"

т.е. выбираем "полноэкранный" режим в игре - я правильно понял? или просто окно развернуть?
для какого разрешения экрана создавался бот?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Город мертвых
« Reply #9 on: September 22, 2014, 11:44:44 PM »
"и на полный экран тоже растягивать нельзя, координаты в этом случае все меняются"

т.е. выбираем "полноэкранный" режим в игре - я правильно понял? или просто окно развернуть?
для какого разрешения экрана создавался бот?

Не трогай полный экран в игре вообще, если не умещается переведи браузер на полный экран (F11)
Скрипт универсален! Но сам находит игру и расставляет все координаты.
Также в игре должна быть пониженная графика, это уберет лишние ненужные анимации.

Jeb63

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Город мертвых
« Reply #10 on: September 23, 2014, 08:20:31 AM »
Вот как-то так. И тишина(
Разрешение экрана 1920х1080.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Город мертвых
« Reply #11 on: September 23, 2014, 08:42:23 AM »
Масштаб в браузере должен быть 100% а судя по картинке у тебя он увеличен. Нажми Ctrl+0 для сброса.

Jeb63

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Город мертвых
« Reply #12 on: September 23, 2014, 11:51:15 AM »
Все равно никак( Начинает запускать трейлер (фулл-экран, Ctrl+0), лог тот же

alex446

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Город мертвых
« Reply #13 on: September 28, 2014, 11:44:26 AM »
А у меня все нормально запустилось. Использую Firefox с последним обновлением. Спасибо автору. Хотелось бы еще вариант с вызовом цитадели и групповыми боями.... :)

Romio2517

  • Зашел в гости
  • *
  • Posts: 1
    • View Profile
Re: Город мертвых
« Reply #14 on: October 08, 2014, 04:48:35 PM »
Масштаб в браузере должен быть 100% а судя по картинке у тебя он увеличен. Нажми Ctrl+0 для сброса.
У меня с маштабом все в норме, но бот ничего не делает. В логе пишет что игра потеряна