Просмотр сообщений

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


Сообщения - KingDrakonov

Страницы: [1] 2 3
1
Умно придумал, я даже сам не понял в начале как это как работает
Код: Clickermann
  1. $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
Ребят помогите с очень легкой задачей только не молчите

сначала рабочий код, чтобы было понятно что я хочу
Код: Clickermann
  1. $Reid = 0
  2. $Turnir = 0
  3. WHILE($Turnir = 0)
  4.  
  5.  
  6.   $time = $_time_t + 300
  7.   $check = 0
  8.   WHILE($check = 0)                         // =========== Поиск
  9.      G_SCR
  10.      C_MOD                            // Рейд
  11.      IF_PICTURE_IN ($var1+623,$var2+476,$var1+648,$var2+501, "A_Hroniki\J_m6.bmp", -1, 100)
  12.         $check = 1
  13.         $Reid = 1
  14.         m_lclick($_return1-1+RND(-25,25), $_return2+6+RND(-10,10))
  15.      ELSE // Рейд нету
  16.         IF_PICTURE_IN ($var1+383,$var2+479,$var1+412,$var2+508, "A_Hroniki\G_T_T_y_m6.bmp", 0, 100) // Ы
  17.            $check = 1
  18.            m_move($_return1, $_return2)                // удалить
  19.  
  20.            // =======================
  21.  
  22.            print("Начал поиск")                        // не нужно
  23.            // =========== поиск наподения
  24.            SCANPICTURE($ARR_SCAN,$var1,$var2,$var3,$var4, "A_Hroniki\G_T_T_v_m6.bmp", -1, 100)    // $ARR_SCAN  массив
  25.            print("Нашол ",ARRSIZE($ARR_SCAN))                        // не нужно
  26.  
  27.            $ARR_NUM = 0
  28.            WHILE($ARR_NUM < ARRSIZE($ARR_SCAN))
  29.               $X = $ARR_SCAN [$ARR_NUM]
  30.               INC($ARR_NUM,1)                                //Увеличивает значение переменной
  31.               $Y = $ARR_SCAN [$ARR_NUM]
  32.               INC($ARR_NUM,1)
  33.               print($ARR_NUM/2,") Нашол X,Y ",$X-$var1,",",$Y-$var2)      // не нужно
  34.               //m_move($X, $Y)   // Клик
  35.               //WAITMS(100)
  36.               print("Ищю тут ",$X-60-$var1,",",$Y-5-$var2," - ",$X-45-$var1,",",$Y+10-$var2)      // не нужно
  37.               IF_PICTURE_IN ($X+41,$Y-104,$X+56,$Y-89, "A_Hroniki\G_T_T_vv_m6.bmp", -1, 100)       //Бой был
  38.                  print("+++ 1   X=", $_return1-$var1, ", Y=", $_return2-$var2)                   // не нужно
  39.  
  40.                  IF($ARR_NUM = ARRSIZE($ARR_SCAN))
  41.                     print()
  42.                     print("Конец")
  43.                     HALT
  44.                  END_IF
  45.  
  46.               ELSE
  47.                  print("----")
  48.                  m_lclick($X+62+RND(-25,25), $Y-70+RND(-25,25))                // н
  49.                  $T_Vboi = 1
  50.                  $ARR_NUM = ARRSIZE($ARR_SCAN)    // Равно чтоб не искал
  51.               END_IF
  52.               print("Искал",$ARR_NUM/2)
  53.            END_CYC
  54.            UNDEFINE($ARR_SCAN)   // =========== поиск нападения
  55.         END_IF
  56.      ELSE
  57.         WAITMS(1000)
  58.      END_IF
  59.   END_CYC     // =========== Поиск
  60.   WAIT(1)
  61.  
  62.   WHILE($T_Vboi = 1)
  63.      // код боя
  64.   END_CYC
  65.  
  66.   WHILE($Reid = 1)
  67.      // код рейда
  68.   END_CYC
  69. END_CYC
  70.  
Логи нужны только для проверки почти все
Стоп будет изменен на переменную продолжения


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


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


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

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

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

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

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


1й снимок без корекции
2й снимок с корекцией 6      64 цвета
Снимки сохраняются в папку "screens" где лежит скрипт
Код: Clickermann
  1. GETSCREEN(175,283,1400,1050) // снимок экрана
  2. SCREENSHOTEX(175,283,1400,1050,0)    // Сохроняет снимок ,координаты, 0 - bmp; 1 - jpeg
  3. 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
  4. SCREENSHOTEX(175,283,1400,1050,0)    // Сохроняет снимок ,координаты, 0 - bmp; 1 - jpeg
  5.  
  6.  
  7. HALT // СТОП

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

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


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

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

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

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

2) Это я уже пытал
Код: Clickermann
  1. $wx = 100 // Координата положения окна
  2. $wy = 100
  3. //=============================================
  4. 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стр выкл (убрать в комментарий)
Код: Clickermann
  1. $check = 0
  2. WHILE($check = 0)
  3.   GETSCREEN
  4.   LOGWRITE ("2")      //-
  5.   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "0_Firefox.bmp", -1, 100)  // ищем картинку приложения, только не FlashPlayerP [32-bit mode] Процесс
  6.      $check = 1
  7.      LOGWRITE ("игра обнаружена")
  8.      $hwnd = HGET($_return1,$_return2)  // определение номера окна
  9.      //HSET($hwnd,1)   //+      привязка 1, 0 отвезать
  10.      // WNDSETINFO($hwnd, 0, 0, 1037, 730) //установка окна  вписать нужные координаты и размер, минимальный размер окна
  11.      WNDSIZE ($hwnd, 1037, 851)    //+ Задает размер окна
  12.      //WNDPOS ($hwnd, 655, 0)   //+ Помещает окно на экране в указанные координаты   Правый угол комп + на половина полоса прокрутки
  13.      WNDPOS ($hwnd, 0, 0)   //+ Помещает окно на экране в указанные координаты
  14.      WNDGETINFO($hwnd, $var1, $var2, $var3, $var4) //+ определение существующих размеров и координат их можно и вписать в установку, тогда не придётся переписывать существующий скрипт
  15.      LOGWRITE ("hwnd ",$hwnd," стали координаты ",$var1,",", $var2," размер ", $var3,",", $var4)    //+
  16.      WNDBUMP ($hwnd)  //+Помещает окно на передний план
  17.      WAITMS(1000) // время на обновление
  18.      GETSCREEN
  19.      LOGWRITE ("3")
  20.      //      IF(PXL($X, $Y) = 1653112)   // Доделать проверка что вся область которая нужна видна //+ будете проверять лучше заместо ($X, $Y) пишите ( $var1+"координаторы Х", $var2+"координаторы Y") без ковычек
  21.      LOGWRITE ("игра установлена ")
  22.      WAITMS(100)
  23.   ELSE
  24.      LOGWRITE ("измените браузер или его панели")
  25.      //      END_IF
  26.   END_IF
  27. END_CYC
  28. //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

Код: Clickermann
  1. // m_move   не з наеш что это удали просто  обе строчки
  2. m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))
  3. LCLICK($_xmouse,$_ymouse)   // если только это строчка будет кликнет где нашел
  4. //  и заспеши это
  5. LCLICK($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))   // клик в у казаном месте с ран домом
  6.  
  7.  
  8. // куда угодно пишем выше выполнения а в самое начало чтобы удобно было изменить , цифры  это цвет пикселя
  9. // Или так пишите в Выполнении  IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,138309,9962336,15786964)
  10. $BUUB = 15786964   // Усиление брони
  11. $BUUA = 138309      // Усиление атаки
  12. $BUZM = 9962336    // Защита от магии
  13. $BUPE = 8257         // -Повышение энергии
  14. $BUL = 7536382       // -Лечение
  15. $BUPEV = 9286    //+- Повышение энергии всем
  16. $BUV = 660242   //- Воскрешение
  17.  
  18. // Выполнение
  19. $U321 = 0           // обнуление
  20. FOR ($Kup,$U321 < 400)                // FOR (просто Счетчик, подсчет меньше заданного)
  21.   print ("Делаю"," Счет ",$U321)  // а удали, просто для наблюдения начал выполнение и  сколько подсчет
  22.   $check = 0
  23.   WHILE($check = 0)
  24.      GETSCREEN
  25.      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  цвет пикселя
  26.         $check = 1
  27.         print ("КУПИЛ ",$U321) // а удали, просто для наблюдения что купил и сколько подсчитал
  28.         WAITMS(RND(300,1000))    // просто пауза 0,3-1сек
  29.         m_move($var1+700-$U321+RND(-40,40),$var2+650+RND(-11,11))   // описание в самом верху
  30.         LCLICK($_xmouse,$_ymouse)                                  
  31.         $U321 =  $U321 + 199  // пересчитывает подсчет чтобы $U321 была больше на 199
  32.         WAITMS(100)
  33.      ELSE
  34.  
  35.  
  36.         IF_PIXEL_IN($var1+700-$U321,$var2+530, $var1+720-$U321,$var2+550,$BUPE,$BUL,$BUV,$BUPEV)
  37.            $check = 1
  38.            $U321 =  $U321 + 199
  39.            print ("не нужно ",$U321)    // а удали, просто для наблюдения что не купил и сколько подсчитал
  40.            WAITMS(100)
  41.         ELSE
  42.            LOGWRITE ("Не нашел")   // а удали, просто  если хочешь что что то не находит
  43.            WAIT(2)
  44.         END_IF
  45.      END_IF
  46.   END_CYC
  47.   WAITMS(rnd(300,1000))
  48.  
  49.  
  50.   GETSCREEN  // 6 строк для проверки выскочило окно о не хватки денег, ен нужно удали
  51.   IF_PICTURE_IN ($var1+500,$var2+520, $var1+530,$var2+550, "Башня_\N_Ch_OK.bmp", -1, 100)
  52.      WAITMS(rnd(1000,1500))
  53.      m_move($_return1+3+RND(-30,30),$_return2+4+RND(-11,11))
  54.      LCLICK($_xmouse,$_ymouse)
  55.   END_IF
  56.  
  57.  
  58.   print ("счет ",$U321)       // а удали, просто для наблюдения сколько подсчет
  59. END_CYC
  60.  
  61.  
  62. LOGWRITE ("Закончил ",$Kup)   // это можно в конец скрипта чтобы видел сколько раз купил и пропустил, одна общая цифра

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

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

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

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

Страницы: [1] 2 3