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

Pages: [1]
1
Да, спасибо это помогло, у меня стояла упрощенная тема, после переключения на стандартную с прозрачностью элементов все заработало. Изменить темы можно в меню Панель управления->Оформление и персонализация->Персонализация

2
Здравствуйте друзья, помогите разобраться все таки с привязкой к окну через (Alt+W по умолчанию) на одном ноуте она у меня работает, а на другом показывает черный экран, сразу скажу использование виртуальных машин не советуйте, ноут не потянет.
______________________________________________________
Входные данные:

Использую версию кликера 4.13.014

Работает на Win 8.1 x64 ГП 710m

Не работает на Win 7 x64 ГП 820m

Папки с игрой и CM копировал с ноута на котором все работает.
______________________________________________________

Порылся на форуме, проверил следующие способы устранения:
  • Исключил защиту игры (так как на другом ноуте работает)
  • Проверил аппаратное ускорение (оно не активно, полагаю отключено)
  • Проверил масштаб в винде (стоит по умолчанию 100%)
  • Окно не сворачиваю, а перекрываю другим
  • Пробовал переустанавливать дрова NVIDIA
  • Игра работает в оконном режиме без рамки, пробовал с рамкой, тоже не помогло

Конечно можно сказать "установи Win 8.1", "используй кликер без привязки" и тому подобное, но все таки интересно разобраться в чем причина.

3
Общие вопросы / Re: Нужна помощь!!!
« on: October 24, 2018, 09:42:24 AM »
Легко  ;D
Code: (clickermann) [Select]
PRINT("Сценарий")
WAIT(1)

4
Code: (clickermann) [Select]
stroka15:    //Так обозначается метка к которой можно обратиться

IF_PIXEL_IN(228,1337,322,666,1234567)
   WAIT(1)
   LCLICK(1337,228)
ELSE
   GOTO(stroka15)  //Переход к метке
END_IF

5
В приложении архив со всеми картинками, можете попробовать у себя запустить, посмотреть сколько будет искать на картинке для анализа(ее я открывал стандартным просмоторщиком изображений и ставил "реальный размер", еще надо в скрипте закоментить COLORMODE, хотя и так срабатывало).
1. Монитор у меня один с разрешением 1366*768 :)
2. Размеры образцов следующие
39x18
35x17
39x17
53x12
Код тоже подправил:
Code: (clickermann) [Select]
#name "Поиск окон"
SUB(InitWindows)
   GETSCREEN(33,$_ymin,1143,150)
   COLORMODE(6,33,$_ymin,1143,150)
   IF_PICTURE_IN(33,$_ymin,1143,150,"Drons.bmp",4144959,99)
      PRINT("Дроны X=",$_return1," Y=",$_return2)
   ELSE
      PRINT("Дроны не найдены")
   END_IF
   IF_PICTURE_IN(33,$_ymin,1143,150,"Object.bmp",4144959,98)
      PRINT("Объект X=",$_return1," Y=",$_return2)
   ELSE
      PRINT("Объекты не найдены")
   END_IF
   IF_PICTURE_IN(33,$_ymin,1143,150,"Overview.bmp",4144959,99)
      PRINT("Обзорная X=",$_return1," Y=",$_return2)
   ELSE
      PRINT("Обзорная не найдена")
   END_IF
END_SUB 
SUB(SearchSanshaHaven)
   GETSCREEN(33,$_ymin,600,517)
   COLORMODE(6,33,$_ymin,600,517)
   IF_PICTURE_IN(33,$_ymin,600,517,"SanshaHaven.bmp",4144959,100)
      PRINT("Гавань X=",$_return1," Y=",$_return2)
   ELSE
      PRINT("Гавань не найдена")
   END_IF
END_SUB
InitWindows()
SearchSanshaHaven()
HALT


6
Уменьшил области поиска(хотя разрешение и так не большое как мне кажется 1280*720), повысил параметры [currency] до 99-100, 100% не всегда срабатывает, если окно выделено оно немного меняет обрамление,  попробовал уменьшить искомые изображения, как то стало хуже искать, вернул обратно. В итоге удалось сократить время выполнения(подвисания) скрипта до 10 сек, если не одно изображение не найдено. Еще вопрос можно ли исключить два цвета с помощью параметра  [bgcolor]?
Пробовал писать так:
Code: (clickermann) [Select]
IF_PICTURE_IN($_xmin,$_ymin,$_xmax,$_ymax,"Object.bmp",(4144959 OR 255),95)

7
Здравствуйте, отлаживаю модуль инициализации координат окон в Еve онлайн, но вот столкнулся с таким моментом, когда все 4 картинки находятся на экране, выполнение скрипта занимает 1-2 сек, а если этих изображений нет, то программа  Clickermann подвисает(не отвечает) где то на минуту что бы выполнить скрипт.
У меня Win7, i-5 1.7GHz, 4Gb ОЗУ
Это из за того что у меня слабый ноут или что то со скриптом не так?
Может необходимо увеличить/уменьшить искомые изображения? обозначение bgcolor увеличивает скорость выполнения?
 
Code: (clickermann) [Select]
#name "Поиск окон"
GETSCREEN($_xmin,$_ymin,$_xmax,456)
COLORMODE(6,$_xmin,$_ymin,$_xmax,456)
IF_PICTURE_IN($_xmin,$_ymin,$_xmax,456,"Drons.bmp",4144959,95)
   PRINT("X ",$_return1," Y ",$_return2)
ELSE
   PRINT("Drons nf")
END_IF
IF_PICTURE_IN($_xmin,$_ymin,$_xmax,456,"Object.bmp",4144959,95)
   PRINT("X ",$_return1," Y ",$_return2)
ELSE
   PRINT("Object nf")
END_IF
IF_PICTURE_IN($_xmin,$_ymin,$_xmax,456,"Overview.bmp",4144959,95)
   PRINT("X ",$_return1," Y ",$_return2)
ELSE
   PRINT("Overview nf")
END_IF
IF_PICTURE_IN($_xmin,$_ymin,$_xmax,456,"SanshaHaven.bmp",4144959,100)
   PRINT("X ",$_return1," Y ",$_return2)
ELSE
   PRINT("SanshaHaven nf")
END_IF
HALT

8
Попробуйте так:
Code: (clickermann) [Select]
$check1=1 //флаг
WHILE($check1=1)
GETSCREEN
IF(pxl(100,100) = 14548221)   //свои координаты
LCLICK(100,100)      //клик
$check1=2 //помогает выйти из цикла если найден цвет
ELSE
BEEP(500,500)       //иначе бип
                WAIT(10)
END_IF

END_CYC
HALT //остановка скрипта после нахождения цвета(убрать если у вас далее идут строки скрипта)

9
Большое спасибо за помощь, стало намного красивее и грамотнее. SUBы я начал использовать как задел на будущие функции, хотел разбить различные действия(запуск дронов, полет на станцию и т.д.) на подпрограммы, а потом вызывать их при необходимости. kiril следуя вашему совету убрал проверку цветов под курсором, когда начинал писать этот скрипт все цвета смотрел в редакторе через лупу, и там когда наводишь на какой нибудь элемент он начинает подсвечиваться, я думал что и цвет тоже будет меняться, поэтому перед GETSCREEN переводил туда курсор, но потом наделал скринов с коррекцией цвета и понял что необходимый цвет не менялся. Текущая версия:
Code: (clickermann) [Select]
// 26.09.2018
#name "Ева онлайн"
 
//===============Объявление констант=======================
$XFirsttarget = 1065  //  Х координаты первой цели
$YFirsttarget = 80    //  Y координаты первой цели
$XLock = 885          //  X координаты кнопки лока
$YLock = 85           //  Y координаты кнопки лока
$XDron = 620          //  X координаты первого дрона
$YDron = 122          //  Y координаты первого дрона
$Red   = 4145151      //  Красный цвет лока
$Green = 4194111     //  Зеленый цвет дронов
 
//===============  избавление от лишней математики =====================
$XLock1 = $XLock-2    //  1X координата поиска кнопки лока
$YLock1 = $YLock-2    //   1Y координата поиска кнопки лока
$XLock2 = $XLock+2    //  2X координата поиска кнопки лока
$YLock2 = $YLock+2    // 2Y координата поиска кнопки лока
$XDron1 = $XDron-2    //  1X координата поиска первого дрона
$YDron1 = $YDron-2    //   1Y координата поиска первого дрона
$XDron2 = $XDron+2    //  1X координата поиска первого дрона
$YDron2 = $YDron+2    // 1Y координата поиска первого дрона
 
//==============Основное тело программы=========
PRINT("Проверка активности дронов")
GETSCREEN($XDron1,$YDron1,$XDron2,$YDron2)                            // Делаем скрин
COLORMODE(6,$XDron1,$YDron1,$XDron2,$YDron2) //Упрощаем цвета в области
IF(PXL($XDron,$YDron)=$Green)  // Проверяем активность дронов(Зеленый значит простой)
   PRINT("Начинаем атаковать первую цель")
   $Zalip = 1 // Переменная счетчик, с ее помощью происходит ожидание выполнения условия (PXL($XLock,$YLock)=$Red)
   WHILE ($Zalip!9)   //Если за 8 проходов цель не навелась, возможно она исчезла, начинаем выбирать новую цель
      PRINT("Начало скрипта")
      MOVE  ($XFirsttarget,$YFirsttarget)  // Перевод мыши на первую цель
      WAITMS(500)
      LCLICK($XFirsttarget,$YFirsttarget)  // Выбор первой цели
      WAIT(1)
      MOVE($XLock,$YLock)                  // Перевод мыши на кнопку лока
      WAITMS(500)
      LCLICK($XLock,$YLock)                // Нажатие мыши на кнопку лока
      WAITMS(500)
      $Zalip = 1 // Переменная счетчик, с ее помощью происходит ожидание выполнения условия (PXL($XLock,$YLock)=$Red)
      WHILE ($Zalip<8) // Пока переменная меньше 8 переходим на метку (МеткаВзятьЦель)
         PRINT("Проверка выделения цели ", $Zalip)
         GETSCREEN ($XLock1,$YLock1,$XLock2,$YLock2)  //  НЕ Делаем скрин! обновляем мграфический буфер программы!
         COLORMODE(6,$XLock1,$YLock1,$XLock2,$YLock2) //Упрощаем цвета в области
         IF(PXL($XLock,$YLock)=$Red)  // Проверяем пиксель кнопки лока
            WAITMS(500)
            KEYPRESS(#F)       //Атака дронов
            WAITMS(500)
            PRINT("Атака")
            $Zalip=9     //выход из цикла
         ELSE
            INC($Zalip,1)
            WAIT(2)
         END_IF
      END_CYC
   END_CYC
   MOVE($XLock,$YLock)
   WAIT(1)
   GETSCREEN($XLock1,$YLock1,$XLock2,$YLock2)
   COLORMODE(6,$XLock1,$YLock1,$XLock2,$YLock2)
   WHILE(PXL($XLock,$YLock)=$Red)  // После начала атаки проверяем жива ли цель
      PRINT("Еще жив курилка")  // Пока пиксель $Red не выходим из цикла
      WAIT(2)
      GETSCREEN($XLock1,$YLock1,$XLock2,$YLock2)
      COLORMODE(6,$XLock1,$YLock1,$XLock2,$YLock2)
   END_CYC
END_IF
WAIT(2)

Но этот скрипт все же работает не оптимально, так как он ждет пока не будет простоя дронов, после чего начинает наводиться на цель(это секунд 5, в это время дроны простаивают), хотелось что бы просиходил захват всех возможных целей, но есть ограничение в количестве одновременно захваченных врагов(где то 5), так же если нажать на кнопку захват цели на уже захваченном враге, то цель сбросится, и еще цели в списке могут меняться местами. Может кто подскажет какие нибудь идеи, конечно если в эту игру не играли, тяжело все это представить, но может есть те кто играл)
https://yadi.sk/i/ofXIdNfG7D4oCQ

10
Предложения / Re: функция будильника
« on: September 26, 2018, 10:36:31 PM »
Можно попробовать вашу задачу с помощью стандартных средств Windows, это "Планировщик задач" запустить можно Win+R, далее вписываем  taskschd.msc, далее выполнить, в этом планировщике можно настроить запуск файла скрипта .CMS, только необходимо будет настроить что бы этот файл по умолчанию открывался в Clickermann, и в начале скрипта должна присутствовать строчка #autorun, для запуска выполнения после загрузки.

11
Здравствуйте, прошу вашей помощи с оптимизацией скрипта, для начала хочу убрать все команды GOTO.
Этот скрипт для игры Eва онлайн. Логика следующая: Сначала проверяется статус дронов, если они простаивают, запускается подпрограмма (СабАтакаПервойЦели)
Далее производится выбор цели, нажатие кнопки захвата цели, ожидание взятия на прицел, после чего производится атака, далее ожидаем пока цель будет уничтожена.
Code: [Select]
//===============Объявление констант=======================
$XFirsttarget = 1065 //  Х координаты первой цели
$YFirsttarget = 80  //  Y координаты первой цели
$XLock = 885        //  X координаты кнопки лока
$YLock = 85          //  Y координаты кнопки лока
$XDron = 620        //  X координаты первого дрона
$YDron = 122         //  Y координаты первого дрона
$Red   = 4145151     // Красный цвет лока
$Green = 4194111     // Зеленый цвет дронов
//===============Описание подпрограмм=====================
SUB(СабАтакаПервойЦели)
   МеткаНачало:
   PRINT("Начало скрипта")
   MOVE  ($XFirsttarget,$YFirsttarget)  // Перевод мыши на первую цель
   WAITMS(500)
   LCLICK($XFirsttarget,$YFirsttarget)  // Выбор первой цели
   WAIT(1)
   MOVE($XLock,$YLock)                  // Перевод мыши на кнопку лока
   WAITMS(500)
   LCLICK($XLock,$YLock)                // Нажатие мыши на кнопку лока
   WAITMS(500)
   $Zalip = 1 // Переменная счетчик, с ее помощью происходит ожидание выполнения условия (PXL($XLock,$YLock)=$Red)
   МеткаВзятьЦель:
   MOVE($XLock,$YLock)                  // Перевод мыши на кнопку лока
   WAITMS(500)
   GETSCREEN ($XLock-2,$YLock-2,$XLock+2,$YLock+2)                           // Делаем скрин
   PRINT("Проверка выделения цели " $Zalip)
   COLORMODE(6,$XLock-2,$YLock-2,$XLock+2,$YLock+2) //Упрощаем цвета в области
   IF(PXL($XLock,$YLock)=$Red)  // Проверяем пиксель кнопки лока
      WAITMS(500)
      keypress(#F)       //Атака дронов
      WAITMS(500)
      PRINT("Атака")
   ELSE
      WHILE ($Zalip<8) // Пока переменная меньше 8 переходим на метку (МеткаВзятьЦель)
         inc($Zalip)
         WAIT(2)
         GOTO(МеткаВзятьЦель)
      END_CYC
      GOTO(МеткаНачало) //Если за 8 проходов цель не навелась, возможно она исчезла, начинаем выбирать новую цель
   END_IF
   МеткаЖив:  // После начала атаки проверяем жива ли цель
   MOVE($XLock,$YLock)
   WAIT(1)
   GETSCREEN($XLock-2,$YLock-2,$XLock+2,$YLock+2)
   COLORMODE(6,$XLock-2,$YLock-2,$XLock+2,$YLock+2)
   IF(PXL($XLock,$YLock)=$Red)
      WAIT(2)
      PRINT("Еще жив")
      GOTO(МеткаЖив) // Пока пиксель $Red не выходим из цикла
   ELSE
    GOTO(ОсновнойСценарий) // Переходим к основному сценарию и проверяем активность дронов
   END_IF
END_SUB
//==============Основное тело программы=========
ОсновнойСценарий:
MOVE($XDron,$YDron)
GETSCREEN($XDron-2,$YDron-2,$XDron+2,$YDron+2)                            // Делаем скрин
PRINT("Проверка активности дронов")
COLORMODE(6,$XDron-2,$YDron-2,$XDron+2,$YDron+2) //Упрощаем цвета в области
IF(PXL($XDron,$YDron)=$Green)  // Проверяем активность дронов(Зеленый значит простой)
PRINT("Начинаем атаковать первую цель")
СабАтакаПервойЦели()
END_IF
WAIT(2)
//=============================================

12
Здравствуйте, возможен ли такой функционал, когда открываем редактирование скрипта и запускаем его, то видим выделение строки которая выполняется в данный момент. Если есть отдельный поток, то при его активации выделяется весь выполняемый блок и в нем тоже идет отслеживание строки. Может у кого то тоже есть подобные мысли что бы развить эту тему. Еще было бы неплохо что бы в редакторе была возможность сворачивать куски кода как это реализовано в Notepad++

Pages: [1]