Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Shen_De_Lar

Pages: [1]
1
Добавь что-то вроде return для подпрограмм. Дабы через это дело можно было выскочить из нее, и не проверять потом полкилометра ненужных условий. Да и возврат значений лишним не будет - чего плодить зря переменные.

2
Обана на что я наткнулся - это же работа с браузером - закрыть, обновить вкладку - ну и с кнопками громкости, медиа плеером и т.д.   http://msdn.microsoft.com/en-us/library/windows/desktop/ms646275(v=vs.85).aspx

3
В последней версии этого в  справке нету. Забавная мелочь, не критичная.
Спасибо, за советы.
Хочу за одно спросить, а можно ли с браузером работать через команды? Интересует работа с вкладками - там  закрыть, обновить, сменить, без анализа графики.
p.s. а еще лучше по моему так:

   $download_success = 0
   $time = $_ms + $wait_download
   while($time > $_ms)
        hset($page_increase, 1)
        getscreen
        colormode(7,500, 500, 1500,1000)
        if_picture_in(700,700, 1500,1500, "Êðåñòèê.bmp", 255, 80)
        $time = $_ms
        $download_success=1
      end_if
      hset($page_increase, 0)
      wait(3)
  end_cyc
...

4
Code: (clickermann) [Select]
#name "Browser"

sub(Config, $conf_hwnd, $conf_x, $conf_y, $conf_wide, $conf_height)
   wndpos($conf_hwnd, $conf_x, $conf_y)
   wndsize($conf_hwnd, $conf_wide, $conf_height)
end_sub

sub(WaitOpen)
   while(wndfind("Increase") = 0)
      waitms(200)
   end_cyc
   $page_increase=wndfind("Increase")
   Config($page_increase, 0, 0, 1000+$yourshiftx, 650+$yourshifty)
   logwrite("открылось")
   $wait_download = 60000
   $time = $_ms + $wait_download
   while($time > $_ms)
      hset($page_increase, 1)
      getscreen
      colormode(7,500, 500, 1500,1000)
      if_picture_in(700,700, 1500,1500, "Крестик.bmp", 255, 80)
         logwrite("lol")
         $download_success=1
         goto(skip)
      end_if
      hset($page_increase, 0)
      wait(1)
   end_cyc
   $download_success=0
   skip:         
   logwrite("успех", $download_success)
end_sub

sub(WaitClose)
   while(wndfind("Increase") ! 0)
      waitms(200)
   end_cyc
   logwrite("закрылось")
end_sub

sub(Open, $Open_browser, $Open_site)
   execute($Open_browser, $Open_site)
   WaitOpen()
end_sub

sub(Close, $Close_browser)
   execute("TASKKILL",strconcat("/IM ", $browser))
   WaitClose()
end_sub

$browser="Chrome.exe"
$site="http://vk.com/increase.online?mid=21650629"
$yourshiftx=300
$yourshifty=300
Open($browser, $site)
halt // for single run

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

А причина похоже в том, что из if сваливать не хорошо, рано или поздно вернется на end_if

5
смысле примерно следующий: 
sub(...)
      while(...)
      ...
            if_picture_in(...)
                  goto(skip)
            end_if
     end_cyc         
     skip:
end_sub

Когда доходило до end_sub, то прыгало назад в цикл. Удивился, когда получил цикл, хотя картинку исправно находило=)

6
Да, я что-то не ожидал, думал синий 255, потом посмотрел - и впрямь, извиняюсь.

7
А почему ты в качестве параметра - игнорируемый фон поставил 255? Цвет вроде задается 8-ми значным числом. Ну красный выглядит типо (255, 0, 0) но откуда  просто 255.

8
Решил попользоваться функцией "if_picture_in". Вот это приложение http://vk.com/increase.online?mid=21650629
При загрузке - появляется выбор персонажей, внизу кнопка "Создать персонажа", на ней плюсик зеленый. Вот его я через screenshotex этот плюсик в картинку зафигариваю, ищу картинку через if_picture_in - все замечательно работает. Перезагружаю страничку с игрой - и о чудо, скрипт ничего найти не может, смотрю цвета - они разные - в приложении и сохраненной картинке. И так несколько раз.
Я тут увидел где-то на форуме, что при генерации цвета пикселя ему можно цвет фона подмешать, тут разработчики то же самое делают? Как с этим можно бороться?

Да, наверно можно сделать что-то вроде colormod(7), там должно сгладить это дело, а другие способы существуют?

p.s. Если бы кликерман мог сам генерировать во время работы изображение, то наверное можно было б взять какой-то контрольный пиксель, разложить его, записать все параметры, затем самому генерировать пиксель, каждый раз меняя добавочный цвет фона, пока не совпадет с тем, что на экране. И затем кусок сканируемой области перегенирировать с вычетом этого дополнительной фоновой составляющей(а лучше рисунки в проекте под это дело перегенирировать), и затем сравнивать с рисунком, но это в интерпретаторе долго наверное будет, да и функций нету подходящих.

9
Помогите разобраться. Впервые столкнулся с этим делом, попробовал http://life-prog.ru/view_zam.php?id=189&cat=2&page=3. Все сделал, работает. Оставил одну функцию только, запихнул файл .dll к проекту - ошибка интерпретации при вызове CALL. Ну видимо надо в самом проекте библиотеки настраивать как-то связь с кликером, но проектов-исходников-примеров, о которых говорилось в справке нигде не нашёл. Ну в папке с кликерманом лежат две dll библиотеки, но это уже готовые решения - не то оно. И вобще я тут на форуме что-то не нашел тем подобных, одна была - и то безответная.

p.s. Я же правильно понимаю, что основные вычисления/рассчеты лучше в библиотеке делать? Ибо в интерпретаторе все эти циклы довольно медленно работают, при решении с-мы из 3-5-ти линейных уравнений уже тормозит.
p.p.s. Как организовать передачу целочисленного массива в плагин, кроме как поэлементно? Можно как-нибудь передать адрес в плагин, чтобы он начиная с этого адреса информацию нужную считал?

10
Общие вопросы / Координаты окна.
« on: May 09, 2014, 10:10:37 AM »
Здравствуйте, подскажите, как узнать координаты окна, если известно hwnd. Интересует верхний левый угол. Думал, что подключившись через hset к окну и поместив курсор в 0,0 а потом отключившись что-нибудь получу, но не прокатило.
Перемещать окно не могу.

Если нет других способов - тогда вопрос возникает такое - как передвинуть сам курсор из оконного режима hset.

Pages: [1]