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

Pages: 1 ... 3 4 [5] 6 7 ... 263
61
Общие вопросы / Re: Действия на время
« on: February 28, 2023, 09:53:07 AM »
Если при отсутствии нужного цвета, каждые 3 минуты выполнять доп. действия, то
Code: (clickermann) [Select]
$per = 180  // 3 минуты

$time = $_time_t + $per
GETSCREEN(848, 569, 848, 569)
WHILE(PXL(848, 569) ! 16777215)
    IF($time < $_time_t)
        // сделать несколько действий
        $time = $_time_t + $per
    END_IF
   
    WAITMS(100)
    GETSCREEN(848, 569, 848, 569)
END_CYC
WAIT(1)
LCLICK(634, 570)

Если выполнить только один раз через 3 минуты и больше минуты не считать, а только проверять цвет пиксела, то стр. 8 заменить на
Code: (clickermann) [Select]
$time = $_time_t + 2000000000

62
Общие вопросы / Re: Действия на время
« on: February 28, 2023, 09:20:27 AM »
и крутить до победного
Т.е. больше нет ограничения в 3 минуты? Это разовая акция?

63
можно ли узнать на каком окне фокус в терминале не анализом цвета.
Кликером нельзя. По крайней мере не напрямую, возможно можно через сторонние программы.

можно ли кликать не двигая мышь.
Отправлять POSTMESSAGE окну с определённым номером, если это настоящее окно в понятиях Windows. Если это просто нарисованное нечто, похожее на окно, то нельзя. Если это не окно, а элемент окна (Control) - можно другими прогами.
POSTMESSAGE не везде сработает, зависит от "Есть прога".

64
Code: (clickermann) [Select]
#name "Случайные элементы без повторений"
// Author: Vint
// Version: 0.1 (19.01.2021)
// Скрипт для Clickermann v4.13.014

STRSEPARATE("1,три,четыреста четыре,8,9,15", ",", $data) // список значений для выбора
WHILE(ARRSIZE($data) > 0)
    $ind = RND(0, ARRSIZE($data)-1)
    $result = $data[$ind]
    LOGWRITE("Выбранный элемент: ", $result)
    // делаешь с элементом $result то, что тебе нужно
    $data[$ind] = $data[ARRSIZE($data) - 1]
    $temp = ARRPOP($data)
END_CYC

Подстраивай под свои соунды.

65
Значит там ничего нет. Или при сбое произошло или после сбоя пытались пересохранить файл.
Код 20 это пробел. Вот всё заполнено пробелами, потому и выделяется.

"Люди делятся на две категории: кто еще не делает бэкапы, и кто их уже делает"©

66
Места на сервере нет.
Можно выложить на яндекс диск или любое облачное хранилище и скинуть ссылку.

Файл нужно смотреть в 16-ричном режиме. Может там нет инфы и всё забито нулями. Или просто некорректное завершение файла, поэтому не может отобразить. UTF-8 многобайтная кодировка, если оставить от символа из 2-3-4 байт только часть, корректно редакторы не откроют.

67
А че пропал-то?  ;D Вкурил - для чего все это?  ;D ;D ;D Я только с утра вкурил...  ;D На сколько редко ошибается? Сколько поинтов максимально собирал? ))
Я уже уходя с работы тему увидел. Набросал скрипт, потестил, сделал ещё 3 варианта и свалил домой. А дома у меня выходные  :D поэтому такие конкурсы не для меня. Нафиг это олимпиадное программирование на время.

68

Изучи вот это: (правда примечание тут ошибочное)


Code: (clickermann) [Select]
if (FExists($path)=0) // Тут у нас по сути получается - if (FExists("screens\Цех")=0). Это условие "звучит" так - "Если этих папок нет"
Жаль, что когда тут просят помощи, в итоге приходится тратить время, на ссылки в справку кликера, которую вы похоже даже не открываете. Я в свое время хоть и ставил на уши этот форум своими вопросами, эту справку читал и перечитывал раз 300 и потом уже доставал своими вопросами о том, что я никак не мог понять...

Причина очень простая. Ты не указал версию кликера под которую писал скрипт. Нужно всегда указывать версии ПО, особенно если используешь не релизные версии.
FExists появилась только в 4.14 (и FCREATE там же), а версия 4.14 с бэты так и не вылезла. Человек наверняка использует версию 4.13.

69
Там эти грёбанные, медленно летящие брёвна всё портят. Подлазят под руку.
И немного - белые числа.

P.S. добавил ещё один цвет. Сейчас хорошо работает, но не быстро. Ошибается очень-очень редко.

70
Там в указанном месте бывает ещё один цвет если место х3. Но это всё равно не поможет от сбоев.
Указанный цвет искать плохо ещё по причине, что иногда из-за вылетающих брёвен, они перекрывают конец ветки


Сначала добавил цветов от сероватого наконечника и светлых полос, стало реже, но совсем не пропало.

Code: (clickermann) [Select]
GETSCREEN(930, 740, 950, 885)
IF_PIXEL_IN(930, 740, 950, 885, 1446469, 1446725)
    KEYDOWN(#RIGHT)
    WAITMS(100)
    KEYUP(#RIGHT)
ELSE
    KEYDOWN(#LEFT)
    WAITMS(100)
    KEYUP(#LEFT)
END_IF

WAITMS(500)

Вот в этом месте поиск


Задержка великовата, т.к. страница нереально подтормаживает и после удара не успевает ветка опуститься. Нужно пробовать у вас конкретно какую задержку ставить.

71
Общие вопросы / Re: Помогите разобраться
« on: January 19, 2023, 01:57:00 PM »
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
    // нашли первый
    IF_PIXEL_IN($_return1-40,$_return2-30, $_return1+40,$_return2+30, 16777215)
        RCLICK($_return1, $_return2)
        WAITMS(100)
    END_IF
END_IF

Это если однократно.
Если там повторения и есть ещё куча промежуточного кода, лучше найденные координаты запомнить в новых переменных и делать ещё GETSCREEN. Примерно так
Code: (clickermann) [Select]
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 255)
    // нашли первый
    $wx = $_return1
    $wy = $_return2
   
    ...
   
    GETSCREEN($wx-40,$wy-30, $wx+40,$wy+30)
    IF_PIXEL_IN($wx-40,$wy-30, $wx+40,$wy+30, 16777215)
        RCLICK($_return1, $_return2)
        WAITMS(100)
    END_IF
   
    ...
   
END_IF

72
Общие вопросы / Re: Переименовать окно
« on: January 17, 2023, 08:44:00 AM »
Справка в кликере видимо для того, чтобы она просто была...

$_hwnd_self - Собственный hwnd кликера
Это же был эксперимент, просто на окне кликера. Поэтому делалось способом используемым на любых окнах.

73
Общие вопросы / Re: Переименовать окно
« on: January 16, 2023, 09:03:32 AM »
Нужен пример на всем доступном приложении. Вместе с используемым кодом.

74
Это не загогулины. Зачем читать в массив весь файл. Нам ни к чему массив на ~5000 элементов ради пары чисел.
А то, что учитывается 2 байта на размер (из 4) это для универсальности. Твой ограничен размером 255px. Я бывает использую больше, например 1x600

Вот компактней
Code: (clickermann) [Select]
FREADDATA("test.bmp", $wh, 18, 6)
$w = $wh[0] + $wh[1] * 256
$h = $wh[4] + $wh[5] * 256

75
Когда-то давно нужно было, обходился костылём с AvtoIt.
Сейчас то можно кликером, но только на версии 4.14, а я ей не пользуюсь, там вывод лога тормозной.

Code: (clickermann) [Select]
#name "Размер картинки BMP"
// Author: Vint
// Version: 0.1 (09.01.2023)
// Скрипт для Clickermann v4.14.003b

FREADDATA("test.bmp", $warr, 18, 2)
FREADDATA("test.bmp", $harr, 22, 2)
$w = $warr[0] + $warr[1] * 256
$h = $harr[0] + $harr[1] * 256

LOGWRITE("Размер изображения: ", $w, " x ", $h)

HALT

Pages: 1 ... 3 4 [5] 6 7 ... 263