Author Topic: Умный кликер.  (Read 36582 times)

0 Members and 1 Guest are viewing this topic.

JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #15 on: September 09, 2013, 08:23:00 PM »
Оставил отдельный кусок который может работатаь без предидущего кода и никак с ним не связан шлавное чтобы все действия выполняемые предидущим кодом заранее выполнил пользователь.

Code: (clickermann) [Select]
// Выбор комнат
      Error:
      sub(timer)
         $TaskComplited=0
         while($TaskComplited !=5)
            gosub(Chose)
           
            wait(10)
            HINTPOPUP("Стадия 8", "Test zone")
           
           
           
            //  все сабы перенесены вниз далле только сабы и их взаимодействие.
           
            GOSUB(Chose)
            SUB(Chose)                                                                       //1 комната
               
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room1.bmp")
                     HINTPOPUP("Стадия 9", "Найдена комната 5")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 5 поиск следующей.")
                     gosub(chose1)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose1)                                                                      //2 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room2.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 4")
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 4 поиск следующей.")
                     gosub(chose2)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose2)                                                                       //3 комната
               
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room3.bmp")
                     HINTPOPUP("Стадия 9", "Найдена комната 3")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 3 поиск следующей.")
                     gosub(chose3)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose3)                                                                     // 4 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room4.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 2")
                     wait(10)
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 2 поиск следующей.")
                     gosub(chose4)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose4)                                                                     // 5 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room5.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 1")
                     wait(10)
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 1 поиск следующей.")
                     gosub(chose5)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose5)                                                                     // 6 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room6.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 6")
                     wait(10)
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 6 поиск следующей.")
                     gosub(chose6)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose6)                                                                     // 7 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room7.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 7")
                     wait(10)
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 7 поиск следующей.")
                     gosub(chose7)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            SUB(Chose7)                                                                     // 8 комната
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room8.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                     HINTPOPUP("Стадия 9", "Найдена комната 8")
                     wait(10)
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 8 поиск следующей.")
                     gosub(chose)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub
           
            wait(5)
           
        //Собирательство
            SUB(Taking)
               wait(10)
               HINTPOPUP("Стадия 9", "Ищем клавишу взять.")
               Wait(10)
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "take.bmp")
                     LCLICK($_return1+5, $_return2+5)
                     
                     HINTPOPUP("Стадия 9", "Собираем дела  Подпрограмма проверки клавиши взять")
                     wait(10)
                     gosub(chose)
                     $check1 = 1
                     wait(10)
                  Else
                     HINTPOPUP("Стадия 9", "Взять - не найдено, видимо закрыто уведомлениями. Переход к Attention")
                     gosub(ATTENTION1)
                  END_IF
               END_CYC
            END_SUB
           
      SUB(ATTENTION1)
               wait(10)
               GETSCREEN
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "sanitars.bmp") // что делать если уведомление о санитарах.
                     HINTPOPUP("Стадия 9", "Получено уведомление о санитарах")
                     wait(5)
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "hide.bmp") // в этом уведомлении должна быть клавиша - затаиться. по ней и кликаем.
                        HINTPOPUP("Стадия 9", "Найдена кнопка- затаиться."
                        LCLICK($_return1+5, $_return2+5)
                        wait(5)
                     END_IF
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "go.bmp") // далее появится клавиша "продолжить."
                        HINTPOPUP("Стадия 9", "Найдена кнопка- идти дальше."
                        LCLICK($_return1, $_return2) // клик по этой клавише.
                     END_IF
                  else
                     HINTPOPUP("Стадия 9", "Это не уведомление о санитарах, проверка по уведомлению о больном."
                  END_IF
                  $Check1 = 1
               END_CYC
               gosub(ATTENTION2)
            END_SUB
           
            SUB(ATTENTION2)
               //2 пациент.
               GETSCREEN
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "seek.bmp") // что делать если уведомление о больном.
                     HINTPOPUP("Стадия 9", "Получено уведомление о больном."
                     wait(5)
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "talk.bmp") // в этом уведомлении должна быть клавиша - "поговорить". по ней и кликаем.
                        HINTPOPUP("Стадия 9", "Найдена кнопка - поговорить."
                        wait(5)
                        LCLICK($_return1, $_return2)
                     END_IF
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "go.bmp") // далее появится клавиша "продолжить."
                        HINTPOPUP("Стадия 9", "Найдена кнопка - идти дальше."
                        wait(5)
                        LCLICK($_return1, $_return2) // клик по этой клавише.
                        wait(5)
                       
                     END_IF
                  END_IF
                  $Check1  = 1
               END_CYC
               gosub(chose)
            END_SUB
           
          //SUBs
//                                 1. Popups       Саб для закрытия уведомлений.
            SUb(popups)
               
               HINTPOPUP("Стадия 6", " Избавляемся от уведомлений")
               $check6 = 0
               $time = $_time_t + 10
               WHILE(($check6 = 0) & ($time > $_time_t))
                  GETSCREEN
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "hero.bmp")    // герой.
                     //если он найден то переход к $Moving
                     HINTPOPUP("Стадия 6", "Уведомлений нет")
                     $check6 = 1
                     WAIT(5)
                     goto(Moving)
                     
                  Else // если герой закрыт уведомлениями то ищем кнопки типа "ок" "закрыть" "продолжить" .
                     HINTPOPUP("Стадия 6", "Герой не найден. ПОиск уведомлений")
                     wait(10)
                     GETSCREEN
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "cancel.bmp")
                        HINTPOPUP("Стадия 6", "Найдена кнопка закрыть")
                        LCLICK($_return1, $_return2)  //закрываем
                     END_IF
                     IF_PICTURE_IN (0,0, $_xmax,$_ymax, "continue.bmp")
                        HINTPOPUP("Стадия 6", "Найдена кнопка продолжить")
                        LCLICK($_return1, $_return2)    // кликаем если есть
                     END_IF
                     // возвращаемся к проверки перса. и так мы будем вовращаться
                     //пока все подобные кнопки не нажмутся если все ок переходим к $moving
                     
                     WAIT(10)
                  END_IF
               END_CYC
            end_sub
           
            //                                        2.Map.   Саб для открытия карты
            SUB(MAP)
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "map.bmp")
                     LCLICK($_return1+20, $_return2+20)
                     HINTPOPUP("Стадия 8", "Идем гулять")
                     $check1 = 1
                     wait(5)
                  else
                     HINTPOPUP("Стадия 8", "Карта не найдена - возможны уведомления")
                     $check1 = 1
                     gosub(popups)
                  END_IF
               END_CYC
               
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "A.bmp")
                     LCLICK($_return1+5, $_return2+5)
                     HINTPOPUP("Стадия 8", "Можно гулять")
                     $check1 = 1
                     wait(5)
                  else
                     HINTPOPUP("Стадия 8", "Карта не найдена - возможны уведомления")
                     $check1 = 1
                  END_IF
               END_CYC
               wait(10)
            END_SUB
 // Закрытие, не работает.
           
            end:
            HINTPOPUP("Скрипт закончил работу", "Уведомление")
            WAIT(5)
         Else
            WAITMS(100)
         END_IF
      END_CYC
      WAIT(1)
      IF($check2 = 1)
         EXECUTE("taskkill","/IM firefox.exe") // если все удачно убиваем процесс браузера
         EXECUTE("taskkill", "/IM Clickermann.exe") // и кликермана
      Else
         EXECUTE("taskkill","/IM firefox.exe") // если не удачно убиваем браузер и повторяем
         WAIT(5)
      END_IF
« Last Edit: September 10, 2013, 08:25:21 AM by JulianDC »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Умный кликер.
« Reply #16 on: September 09, 2013, 09:27:32 PM »
Охх


Твой код редкостная белебердень, а все потому что ты справку не дочитываешь до конца!

Во первых SUB не может быть внутри каких то условий или циклов!
Во вторых SUB не может быть внутри другого SUBа!
Во в третьих нажми в редакторе "Волшебную палочку" код выстроится, и если посмотреть у тебя в конце будет перекос. Уж не знаю виной тому SUBы где попало но скорее всего не хватает где то завершающего END_

SUBы лучше всего размещать в конце кода. Сам SUB это изолированный кусок кода вызываемый только по GOSUB после выполнения возвращается на следующую строку после GOSUB.

В общем переделывай этот бред ибо на это смотреть невозможно....

Изучи каждую функцию в скрипте отдельно, читай справку делай отдельный скрипт и смотри как это работает. А то ты ни черта не знаешь а уже сразу пытаешься сделать сложный код.
« Last Edit: September 09, 2013, 09:50:14 PM by Oraven »

JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #17 on: September 10, 2013, 07:34:09 AM »
сделаем.

JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #18 on: September 10, 2013, 08:12:42 AM »
Что значит не может быть внутри условий и циклов тоесть

Code: (clickermann) [Select]
SUB(Chose)                                                                       //1 комната
               
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room1.bmp")
                     HINTPOPUP("Стадия 9", "Найдена комната 5")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 5 поиск следующей.")
                     gosub(chose1)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub


так нельзя?

Конекретно таких конструкций как


SUB1

SUB2

END_SUB
END_SUB
нет и не было.... если вы об этом то явно что то упустили....


Но внутри других сабов у меня  есть только указатели на другие при выполнении условий цикла, иуказатели еще на другие при невыполнении условий.... неужели так нельзя?????????????/


ВНИМАНИе - ПЕРЕДЕЛАЛ предыдущий пост с кодом бота, по правилам что вы указали.... вроде смотреть можно
« Last Edit: September 10, 2013, 08:27:18 AM by JulianDC »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Умный кликер.
« Reply #19 on: September 10, 2013, 09:43:33 AM »
Что значит не может быть внутри условий и циклов тоесть

Code: (clickermann) [Select]
SUB(Chose)                                                                       //1 комната
               
               $check1 = 0
               $time = $_time_t + 120 // 2 минуты
               WHILE(($check1 = 0) & ($time > $_time_t))
                  IF_PICTURE_IN (0,0, $_xmax,$_ymax, "room1.bmp")
                     HINTPOPUP("Стадия 9", "Найдена комната 5")
                     LCLICK($_return1+20, $_return2+20)
                     wait(10)
                     $check1 = 1
                  else
                     HINTPOPUP("Стадия 9", " Не найдена комната 5 поиск следующей.")
                     gosub(chose1)
                  end_if
               end_cyc
               gosub(Taking)
            end_sub


так нельзя?

Конекретно таких конструкций как


SUB1

SUB2

END_SUB
END_SUB
нет и не было.... если вы об этом то явно что то упустили....


Но внутри других сабов у меня  есть только указатели на другие при выполнении условий цикла, иуказатели еще на другие при невыполнении условий.... неужели так нельзя?????????????/

Как не было??? Строка 3 и сразу смотри строка 16.
И там же SUB строки 16 внутри цикла while строка 5
(номера строк из большого кода)
« Last Edit: September 10, 2013, 09:47:52 AM by Vint »


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Умный кликер.
« Reply #20 on: September 10, 2013, 10:12:25 AM »
Попытался вникнуть в то, что ты наворотил. Это кошмар. Если когда-то и будет отрабатывать, то это будет чудо.
Сейчас не берём в учёт вложенные сабы.

SUB(Chose) вызывает gosub(Taking) который сам вызывает SUB(Chose). Это что за рекурсия? Ты сам не запутался что куда должно попадать на каком этапе?
Туда же: SUB(Chose) при не нахождении картинки вызывает SUB(Chose1), который при не нахождении картинки вызывает SUB(Chose2).... последний вызывает SUB(Chose). Я себе представляю как это всё будет возвращаться назад, если ничего не найдётся во всех комнатах раз эдак 100.
Причём на все эти последовательные Сабы у тебя одна ОБЩАЯ переменная $check1 на выход из цикла. Не знаю, может так и задумано, но как минимум при нахождении не в первой комнате gosub(Taking) будет вызываться 2 раза подряд. А на самом деле столько, во сколько комнат ты "нырнёшь". Найдёшь в восьмой, при обратном откате из всех подпрограмм gosub(Taking) вызовется 8 раз подряд.

Подпрограммы это не GOTO! Не используй их так. Чуть понятней распиши порядок я покажу как сделать. Пока ясной картины порядка действий не вижу.


JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #21 on: September 10, 2013, 12:34:35 PM »
Спасибо Винт я 2 дня в программировании на скриптах,

если интересно зайди в Вк гейм безумие))) я там шариться не люблю вот и пишу бота чтобы на все готовенькое щас все со скринами поясню , постараюсь как можно подробнее , начну с того участка, до которого все работает отлично всегда, и не вызввает , нареканий, хорошо?  поехали.


Итак после открытия карты что мы видим...   это основная карта, на ней расположены значки в виде денег, окруженных красными точками,


Если мы загрузим карту еще раз, (зайдем в магазин или кумнату, и вернемся на карту) то расположение значков поменяется,

 
и так оно будет менять каждый раз при перезагрузке игры\карты\перезаходе кароч каждый раз разная,

Почему я сдела чтобы сhose выбирал chose1 все просто, поскольку комбинации всегда разные то надо искать все комбинации, (я просто не дописал скрипт на все комнаты, поэтому замкнул сhose5 на chose и действительно происходило зацикливание, сделал я это потому что не знал куда отправить интерпритатор после того как все комнаты проверятся, что по поводу check то я плохо разбираюсь в циклах вот и сделал так... надо сделать так как вы скажете. продолжаем,


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

1 саб поиска комнаты
Вот она ищет
 а) находит - тогда клик, по значку, и герой отправится путешевствовать до него.
     передача управление Taking почему? все просто , если все прошло успешно , и герой дошел без уведомлений о нападении, то появится кнопка "Собрать"  (Б ищите после закрытой скобки)
как на этой картинке.
( Тогда  Taking
а) найдет кнопку и нажмет ее, и передаст управление обратно в Chose чтобы искать новую комнату. следите?


Б) не найдет кнопку "Взять" почему может не найти?
вот почему -


тогда сработает ELSE программы Taking и управление передастся в ATTENTION1 которая проверит, если ли это избражение на экране,
а) да. Тогда клик по клавише - и закрытие уведомление, передача управления обратно в Chose для поиска комнаты,
б) не находит (другое уведомление (всего их 2 на всю игру) тогда передача управления в ATTENTION2 которая закрое  его, и передаст управление в choose. ВОООТ.

)
Б) (choose) не ходит кнопку комнаты, тогда gosub(CHOOSE1) тоесть поиск новой комнаты.
 тоесть в той "клетке" нет значка денег или нахолится другой значек, ок?

Играть мне не интересно, мне интресно смогу ли я сломать систему - в этом азарт, игра чушь послная, столько времени люди удивают, а я хочу все и сразу, поэтому я тут, ))))))))))))))))))) :) :) :) :) :) :) :) :) :) ;D ;D

тоесть ,
идеальная ситуация,
а) все проходит хорошо
Choose - нашла картинку комнаты, - передала управление в Taking , та кликнула собрать и передала управление в CHoose обратно , соотвествено  choose2 уже будет искать вторую комнату, (как вот это сделать чтобы в choose1 не передавалось управление, если она прошла уже и все хорошо, чтобы снова ее не искало потому что 2 раза собрать не получится)

« Last Edit: September 10, 2013, 12:43:25 PM by JulianDC »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Умный кликер.
« Reply #22 on: September 10, 2013, 02:01:35 PM »
Ды забей ты на это безумие! Эта игра уже полный тухляк, и я переметнулся на город мертвых. Там та же система но все как у людей. И с балансом все норм и кланы встроенные в игру и тд. А от этой игры уже ниче нормального не жду.

Говорю тебе зааабей...

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Умный кликер.
« Reply #23 on: September 10, 2013, 02:21:07 PM »
Как забей? я тут перебор комнат пишу...  :)  :)  :)

JulianDC вот то, что касается перебора и работы комнат:
Code: (clickermann) [Select]
// перебор комнат
$room = 0
FOR($room, $room<8) // восемь комнат
   GETSCREEN
   IF_PICTURE_IN (0,0,$_xmax,$_ymax,STRCONCAT("room",$room,".bmp"))
      LOGWRITE ("Стадия 9", "Найдена комната ",$room)
      HINTPOPUP("Стадия 9", "Найдена комната ",$room)
      LCLICK($_return1+20, $_return2+20)
      wait(10)
      GOSUB(Taking)
   ELSE
      LOGWRITE ("Стадия 9", "Не найдена комната ",$room," поиск следующей.")
      HINTPOPUP ("Стадия 9", "Не найдена комната ",$room," поиск следующей.")
      WAITMS(300)
   END_IF
END_CYC


// обработка комнаты
SUB(Taking)
   $time_main = $_time_t + 120 // 2 минуты
   
   WHILE($time_main > $_time_t)
      GETSCREEN
     
      // ищем собрать
      IF($time_main > $_time_t)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "take.bmp")
            LCLICK($_return1+5, $_return2+5)
            $time_main = $_time_t-1
            WAIT(5)
         END_IF
      END_IF
     
      // 1 пациент
      IF($time_main > $_time_t)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "hide.bmp") // клавиша - затаиться.
            HINTPOPUP("Стадия 9", "Найдена кнопка- затаиться."
            LCLICK($_return1+5, $_return2+5)
            GOSUB(GO)
         END_IF
      END_IF
     
      // 2 пациент
      IF($time_main > $_time_t)
         IF_PICTURE_IN (0,0, $_xmax,$_ymax, "talk.bmp") // клавиша - "поговорить".
            HINTPOPUP("Стадия 9", "Найдена кнопка - поговорить."
            LCLICK($_return1, $_return2)
            GOSUB(GO)
         END_IF
      END_IF
     
      WAITMS(100)
   END_CYC
   LOGWRITE ("Назад к перебору комнат.")
END_SUB

// ждём и кликаем клавишу "продолжить"
SUB(GO)
   WAIT(1)
   $check2 = 0
   WHILE($check2 = 0)
      GETSCREEN
      IF_PICTURE_IN (0,0, $_xmax,$_ymax, "go.bmp") // клавиша "продолжить."
         HINTPOPUP("Стадия 9", "Найдена кнопка- идти дальше."
         LCLICK($_return1, $_return2) // клик по этой клавише.
         $check2 = 0
         $time_main = $_time_t-1
         WAIT(1)
      ELSE
         WAITMS(300)
      END_IF
   END_CYC
END_SUB

// перебор комнат - соответственно сам перебор, остальное сабы к нему.
Перебор сделан на разных (твоих) картинках. Хотя я бы делал по другому: искал бы одну картинку горы монет в разных областях. Но так наверно проще сделать, хоть и больше картинок готовить.

Ты не копируй тупо пример Андрея не разобравшись. У тебя при любом поиске и надо и не надо, какие-то чеки ($check), таймы ($time) ни к чему не ведущие и нигде не использующиеся... Короче, не копируй всё подряд, подумай что нужно и для чего.


JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #24 on: September 10, 2013, 05:07:05 PM »
Спасибо Oraven как я говорил дело не в игре а в принципе - сломать систему , город мертвых гляну обязательно, спасибо за совет.

Vint Сейчас буду тестить твой скрипт в игре посмотрим что получится.... я еще не до конца понимаю как он работает , рад что ты понял что нужно мне, и спасибо за помощь, сейчас отпишусь в результаты, для ускорения работы , предлагаю списаться в vk.com если можно добавлю тя в друзья, если не против....

JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #25 on: September 10, 2013, 05:11:17 PM »
я правльно понял что это скрипт для каждой отдельной картинки, всего картинок столько сколько комбанаций,

Я И САМ РАД СДЕЛАТЬ ПОИСК по одной картинке, но тут 2 но

1 как заставить программу не уликать на ту же самую картинку,
2 картинки значком похожи но отличаются ФОНОМ на котором они расположены, как исправить, задать , CURRENCY 50-40%? какой бы был код под одну картинку?

JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #26 on: September 10, 2013, 05:13:18 PM »
Что то мне подсказывает что твой скрипт под 8 картинок, но
1 картинок чуть ли не 18, да так и есть всего 18 возможных положений, , я так понял если он найдет картинку то передаст в Taking что верно , а есть не найдет ? Т как мне возвращать после Taking, ATTENTION1 или 2 интрепритатор к поиску картинок???????,
2 как воткнуть в код образцы всех 18 катринок?
« Last Edit: September 10, 2013, 05:37:18 PM by JulianDC »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Умный кликер.
« Reply #27 on: September 10, 2013, 05:39:23 PM »
Что то мне подсказывает что твой скрипт под 8 картинок, но
1 картинок чуть ли не 16, я так понял это реашется заменой цифр ,
2 как воткнуть в код образцы всех 16 катринок?
там где у меня написано про количество картинок, меняешь 8 на своё количество.
Делать под одну... Для этого скажи после действий над комнатой положение меняется? Если да, то важно ли посещать разные комнаты по возможности или достаточно первую попавшеюся?


Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Умный кликер.
« Reply #28 on: September 10, 2013, 05:50:07 PM »
Что то мне подсказывает что твой скрипт под 8 картинок, но
1 картинок чуть ли не 18, да так и есть всего 18 возможных положений, , я так понял если он найдет картинку то передаст в Taking что верно , а есть не найдет ? Т как мне возвращать после Taking, ATTENTION1 или 2 интрепритатор к поиску картинок???????,
2 как воткнуть в код образцы всех 18 катринок?
почитай как работает подпрограмма. Весь смысл в том что после отработки подпрограммы выполнение продолжается с места вызова.
картинки называй так, как и называл, меняй только номер.


JulianDC

  • Освоившийся
  • **
  • Posts: 36
    • View Profile
Re: Умный кликер.
« Reply #29 on: September 10, 2013, 05:50:43 PM »
положение комнат меняется только при перезгрузке карты, при тыканьи и переходе по комнатам, не меняестя, на комнату куда дошел герой наносится кровавый символ, означаюшьй присутствие в ней героя,

комнаты надо послетить по очереди, все 5.