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 - KingDrakonov

Pages: [1] 2 3
1
Умно придумал, я даже сам не понял в начале как это как работает
Code: (clickermann) [Select]
$X = $ARR_SCAN[$ARR[$ARR_NUM]]


2
СПС завтра буду внедрять а в понедельник пробовать. с понедельника по пятницу эта война

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

Ну тут реально легкая задача у меня аш мозгов не хватает и кипят

4
снимок и корекция я упростил да и легче читается код

#define  G_SCR:GETSCREEN($var1,$var2,$var3,$var4)       // снимок экрана
#define  C_MOD:COLORMODE(6,$var1,$var2,$var3,$var4)     // цветокоррекция; 8-2 7-8 6-64 5-512 4-4,096 3-32,768 2-262,144 1-2,097,152 0-16,777,216

5
Ребят помогите с очень легкой задачей только не молчите

сначала рабочий код, чтобы было понятно что я хочу
Code: (clickermann) [Select]
$Reid = 0
$Turnir = 0
WHILE($Turnir = 0)
   
   
   $time = $_time_t + 300
   $check = 0
   WHILE($check = 0)                         // =========== Поиск
      G_SCR
      C_MOD                            // Рейд
      IF_PICTURE_IN ($var1+623,$var2+476,$var1+648,$var2+501, "A_Hroniki\J_m6.bmp", -1, 100)
         $check = 1
         $Reid = 1
         m_lclick($_return1-1+RND(-25,25), $_return2+6+RND(-10,10))
      ELSE // Рейд нету
         IF_PICTURE_IN ($var1+383,$var2+479,$var1+412,$var2+508, "A_Hroniki\G_T_T_y_m6.bmp", 0, 100) // Ы
            $check = 1
            m_move($_return1, $_return2)                // удалить
           
            // =======================
                       
            print("Начал поиск")                        // не нужно
            // =========== поиск наподения
            SCANPICTURE($ARR_SCAN,$var1,$var2,$var3,$var4, "A_Hroniki\G_T_T_v_m6.bmp", -1, 100)    // $ARR_SCAN  массив
            print("Нашол ",ARRSIZE($ARR_SCAN))                        // не нужно
           
            $ARR_NUM = 0
            WHILE($ARR_NUM < ARRSIZE($ARR_SCAN))
               $X = $ARR_SCAN [$ARR_NUM]
               INC($ARR_NUM,1)                                //Увеличивает значение переменной
               $Y = $ARR_SCAN [$ARR_NUM]
               INC($ARR_NUM,1)
               print($ARR_NUM/2,") Нашол X,Y ",$X-$var1,",",$Y-$var2)      // не нужно
               //m_move($X, $Y)   // Клик
               //WAITMS(100)
               print("Ищю тут ",$X-60-$var1,",",$Y-5-$var2," - ",$X-45-$var1,",",$Y+10-$var2)      // не нужно
               IF_PICTURE_IN ($X+41,$Y-104,$X+56,$Y-89, "A_Hroniki\G_T_T_vv_m6.bmp", -1, 100)       //Бой был
                  print("+++ 1   X=", $_return1-$var1, ", Y=", $_return2-$var2)                   // не нужно
                 
                  IF($ARR_NUM = ARRSIZE($ARR_SCAN))
                     print()
                     print("Конец")
                     HALT
                  END_IF
                 
               ELSE
                  print("----")
                  m_lclick($X+62+RND(-25,25), $Y-70+RND(-25,25))                // н
                  $T_Vboi = 1
                  $ARR_NUM = ARRSIZE($ARR_SCAN)    // Равно чтоб не искал
               END_IF
               print("Искал",$ARR_NUM/2)
            END_CYC
            UNDEFINE($ARR_SCAN)   // =========== поиск нападения
         END_IF
      ELSE
         WAITMS(1000)
      END_IF
   END_CYC     // =========== Поиск
   WAIT(1)
     
   WHILE($T_Vboi = 1)
      // код боя
   END_CYC
   
   WHILE($Reid = 1)
      // код рейда
   END_CYC
END_CYC
Логи нужны только для проверки почти все
Стоп будет изменен на переменную продолжения


Есть одно гигантское но и 2е
1) Если бой был, и очков не заработал то заначек не появляется. цель 1 раз напал и забыл про него
2) нужно суда добавить рандом на нападения


Мысль была такая
1) Выполнить поиск войн не начатых занести в массив. (это понял как сделать вроде)
2) Выбирать их рандомно (это доже вроде понял как сделать)
3) Кликнул и удалил элемент из массива  (хз как)
4) повтор пункта 2-3.  Когда небудет элементов в массиве выполнил еще другое действие (у меня пака стоит стоп на том месте)


Хотя была еще одна мысль
(Коротко) занес в массив. перемешал. вынул последний элемент кликнул и удалил

6
Спасибо за ответы. Воскресенье сам разобрался, как только на азы разобрал несколько примеров

7
еще 1 вопрос пустое значение чему ровняется 0 или меньше всего
если судить по математике, то пусто значит 0

и ответьте на прошлый вопросик и желательно поиск с лева на право
Code: [Select]
На карте от1 до 15(пака макс видел) сражений расположение неизвестно, хотя раз напал появляется значок
Цель;  найти картинку у которой  нет 2й картинки и кликнуть (выше она примерно на 30пх)
это ладно вроде знаю как в строить
Code: [Select]
если не находит  пусть поищет еще раз 5 + задержка сек 10, если все же не нашел спустя 5 раз пусть выполнит последние действие.

8
А пользуюсь этим, почти так записан и что тут не понятного читай справку хотя некоторые вещи не понятно написано
и верно подметил
вам  не верно кажется, и вторично вы не правы в том что скрин не выходит,  он выходит именно таким каким должен быть в данном случае.
Привязка не для новичков, учитесь использовать Clickermann без этого непростого режима.
меньше самодеятельности - больше используйте готовые шаблоны и примеры из справки.


1й снимок без корекции
2й снимок с корекцией 6      64 цвета
Снимки сохраняются в папку "screens" где лежит скрипт
Code: (clickermann) [Select]
GETSCREEN(175,283,1400,1050) // снимок экрана
SCREENSHOTEX(175,283,1400,1050,0)    // Сохроняет снимок ,координаты, 0 - bmp; 1 - jpeg
COLORMODE(6,175,283,1400,1050)     // цветокоррекция ; 8-2 7-8 6-64 5-512 4-4,096 3-32,768 2-262,144 1-2,097,152 0-16,777,216
SCREENSHOTEX(175,283,1400,1050,0)    // Сохроняет снимок ,координаты, 0 - bmp; 1 - jpeg


HALT // СТОП

забыл это без привязки, с привязкой другие правила лучше пака забудь

9
Заключи функцию в условие.
Это я не увидел в притык спс


Помогите еще с одним, или я что то не понял как это сделать

На карте от1 до 15(пака макс видел) сражений расположение неизвестно, хотя раз напал появляется значок
Цель;  найти картинку у которой  нет 2й картинки и кликнуть (выше она примерно на 30пх), если не находит  пусть поищет еще раз 5 + задержка сек 10, если все же не нашел спустя 5 раз пусть выполнит последние действие.

Как понимаю это уже делается с  помощью массива

10
СПС
1) Я как понял, если раз вызвал "THREAD ... END_THREAD" он прочитал дает проход дальше, но выполняется условие все время не зависимо что выполняется.

2) Это я уже пытал
Code: (clickermann) [Select]
$wx = 100 // Координата положения окна
$wy = 100
//=============================================
WNDPOS ($hwnd, $wx, $wy)
Если $W... ,не указывать, убрать в комментарий, пытался химикать немного. не прокатывает. Будет 0,0 или то что задал.
цель; выключить (как словно этой строчки нету) или задать координаты которые мне надо

3) ну контрольные суммы как делать знаю спс, при моей попытки я не ставил равно, вопрос не тот, условие только может быть только это. без поиска картинки все равно не обойдеся в некоторых местах
IF(PXLCRC(100,100, 100,100) = 3171075084)
И искать будет 10х10 в зоне 100х100, если будет не отвечайте проверю сегодня
Хотя где то искали по нескольким пикселям с подряд не помню что и где но, это большое увеличение кода

Eсли только это условие то как написать покороче
1я   PXLCRC(10,10, 30,30) = $01
2я   PXLCRC(50,10, 80,30) = $02
3я   PXLCRC(100,10, 130,30) = $03
искал все 3 при находке любой выдавал какую нашел и где

Думаю все объяснил что мне надо.
Пака писал эту либуду вроде дошло как сделать одно выполнение.

11
Для начало вот правильно, может быть ошибка
+ Сказали бы вы мне какова Х**** ты пытаеся привязаться (Брать координаты итд) к самой игре тоесть флашплаеру. До меня дошло пока пытал тот код "работает то нет ..."

Если 10стр включена то 11-12стр выкл (убрать в комментарий)
Code: (clickermann) [Select]
$check = 0
WHILE($check = 0)
   GETSCREEN
   LOGWRITE ("2")      //-
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "0_Firefox.bmp", -1, 100)  // ищем картинку приложения, только не FlashPlayerP [32-bit mode] Процесс
      $check = 1
      LOGWRITE ("игра обнаружена")
      $hwnd = HGET($_return1,$_return2)  // определение номера окна
      //HSET($hwnd,1)   //+      привязка 1, 0 отвезать
      // WNDSETINFO($hwnd, 0, 0, 1037, 730) //установка окна  вписать нужные координаты и размер, минимальный размер окна
      WNDSIZE ($hwnd, 1037, 851)    //+ Задает размер окна
      //WNDPOS ($hwnd, 655, 0)   //+ Помещает окно на экране в указанные координаты   Правый угол комп + на половина полоса прокрутки
      WNDPOS ($hwnd, 0, 0)   //+ Помещает окно на экране в указанные координаты
      WNDGETINFO($hwnd, $var1, $var2, $var3, $var4) //+ определение существующих размеров и координат их можно и вписать в установку, тогда не придётся переписывать существующий скрипт
      LOGWRITE ("hwnd ",$hwnd," стали координаты ",$var1,",", $var2," размер ", $var3,",", $var4)    //+
      WNDBUMP ($hwnd)  //+Помещает окно на передний план
      WAITMS(1000) // время на обновление
      GETSCREEN
      LOGWRITE ("3")
      //      IF(PXL($X, $Y) = 1653112)   // Доделать проверка что вся область которая нужна видна //+ будете проверять лучше заместо ($X, $Y) пишите ( $var1+"координаторы Х", $var2+"координаторы Y") без ковычек
      LOGWRITE ("игра установлена ")
      WAITMS(100)
   ELSE
      LOGWRITE ("измените браузер или его панели")
      //      END_IF
   END_IF
END_CYC
//END_IF   // вроде должно быть выше  END_CYC

Вопросы (пака не дошло как сделать)
1) Как записать 12ст)  WNDPOS ($hwnd, 655, 0)  виде переменной чтобы вынести в начало. Цель, вк\выкл, и запись координат

2) нужен таймер аварийного завершения. предупреждаю есть прыжки и под программы.
Цель, переменная вначале, установка времени пусть будет 5мин. выполнения любого задания не больше 5мин, при превышения времени остановить скрипт, и неплохо бы было;
вконец добавить лог о общем выполнения.
когда аварийное завершение выдало сообщение и проиграл звук (думаю пойму как).

3) Объясните мне как выполнять искать итд при помощи контрольной суммы пикселей и цветов, с разными условиями, и хотя 1 пример как выносить переменную

КОНЕЦ  Для меня переменные и условия пока почти как темный лес

Может кому то пригодиться
Мая мука + настройка вчера муучился было 200+ строк, почти чистыми, осталось это
Ладно поехали


Постарался описать как можно подробней
Легко переделать на поиск картинок
Цель: надо было по купать с самого дорогого. высота одинаковая, расстояние между предметами и кнопками покупки одинаковые
Искомый пиксель находится на высоте "Y 540" самый дальний их тут 3 покупки "X 710".
Скрипт покупает самое дорогое расточение  X710 покупает 1е и отнимает 199 и покупает на X511 уже 2й предмет, 1й на  Х 312
Клик дублируется (копируется) только по высоте Х 650

Code: (clickermann) [Select]
// m_move   не з наеш что это удали просто  обе строчки
m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))
LCLICK($_xmouse,$_ymouse)   // если только это строчка будет кликнет где нашел
//  и заспеши это
LCLICK($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))   // клик в у казаном месте с ран домом


// куда угодно пишем выше выполнения а в самое начало чтобы удобно было изменить , цифры  это цвет пикселя
// Или так пишите в Выполнении  IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,138309,9962336,15786964)
$BUUB = 15786964   // Усиление брони
$BUUA = 138309      // Усиление атаки
$BUZM = 9962336    // Защита от магии
$BUPE = 8257         // -Повышение энергии
$BUL = 7536382       // -Лечение
$BUPEV = 9286    //+- Повышение энергии всем
$BUV = 660242   //- Воскрешение

// Выполнение
$U321 = 0           // обнуление
FOR ($Kup,$U321 < 400)                // FOR (просто Счетчик, подсчет меньше заданного)
   print ("Делаю"," Счет ",$U321)  // а удали, просто для наблюдения начал выполнение и  сколько подсчет
   $check = 0
   WHILE($check = 0)
      GETSCREEN
      IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,$BUUA,$BUZM,$BUUB) // "$var1+700-$U321" координаты поиска  $var...+  не знаете значит вам пока не нужен удалить; 700 длина; $U321 отнемает то что нащитал; $BUUA,$BUZM,$BUUB  цвет пикселя
         $check = 1
         print ("КУПИЛ ",$U321) // а удали, просто для наблюдения что купил и сколько подсчитал
         WAITMS(RND(300,1000))    // просто пауза 0,3-1сек
         m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))   // описание в самом верху
         LCLICK($_xmouse,$_ymouse)                                   
         $U321 =  $U321 + 199  // пересчитывает подсчет чтобы $U321 была больше на 199
         WAITMS(100)
      ELSE
         
         
         IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,$BUPE,$BUL,$BUV,$BUPEV)
            $check = 1
            $U321 =  $U321 + 199
            print ("не нужно ",$U321)    // а удали, просто для наблюдения что не купил и сколько подсчитал
            WAITMS(100)
         ELSE
            LOGWRITE ("Не нашел")   // а удали, просто  если хочешь что что то не находит
            WAIT(2)
         END_IF
      END_IF
   END_CYC
   WAITMS(rnd(300,1000))
   
   
   GETSCREEN  // 6 строк для проверки выскочило окно о не хватки денег, ен нужно удали
   IF_PICTURE_IN ($var1+500,$var2+520, $var1+530,$var2+550, "Башня_\N_Ch_OK.bmp", -1, 100)
      WAITMS(rnd(1000,1500))
      m_move($_return1+3+RND(-30,30),$_return2+4+RND(-11,11))
      LCLICK($_xmouse,$_ymouse)
   END_IF
   
   
   print ("счет ",$U321)       // а удали, просто для наблюдения сколько подсчет
END_CYC


LOGWRITE ("Закончил ",$Kup)   // это можно в конец скрипта чтобы видел сколько раз купил и пропустил, одна общая цифра

12
включена эта опция похоже по умолчанию. да винде рывки по хлеще но шаг примерно такой же. поэтому и не оброщал внимание

13
Справку не читал среди обычных выполнений плавной прокрутки не замечал а так 52.9 вроде последния версия которая поддерживает мои дополнения

14
На ноутах с высотой экрана 768 лучше использовать полноэкранный режим нажав F11
Скролить окно туда сюда на пару строк не вариант. Ну и в любом случае делать это не колесом, а стрелками на клавиатуре.
Для мозилы есть плагин плавного скрола "SmoothWhell".
да плангина твоего на оф саите не вижу
есть программа для винды но она на все влияет
к стате особенно на ноуте мене нужно пустое место хоч этих 250-300пх удобней с левой стороны для мониторинга
если не надо не чего кроме игры, использую полный экранный режим игры использую. это уже другой скрипт

15
спасибо кирил почти то что надо попробую.
все равно прокрутка нужна плавная вертикальная на ноуте не вписывается, колесом и стрелками не катит крутить

Pages: [1] 2 3