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

Pages: 1 2 [3] 4 5 ... 246
31
Ты издеваешься что ль...? Ты в своем отредактированном посте, в скрипте видишь строку - "PUSH($FIRSTBUTTONX[$SELECTEDSCOUNT])"...?

PUSH - это вызов подпрограммы, к сведению... Просто в ошибке пишется команда вызова за место имени подпрограммы.

Теперь по ошибкам в скрипте.
Недостаточно скобок в условии
Code: (clickermann) [Select]
WHILE($isScoutAvailable[0] = 0 & $isScoutAvailable[1] = 0 & $isScoutAvailable[2] = 0)
правильно так
Code: (clickermann) [Select]
WHILE(($isScoutAvailable[0] = 0) & ($isScoutAvailable[1] = 0) & ($isScoutAvailable[2] = 0))
Ошибка в том что массив $firstButtonX состоит из одной ячейки, поэтому здесь clickButton($firstButtonX[$selectedScout], $firstButtonY[$selectedScout]) если $selectedScout больше 0 будет ошибка.
Code: (clickermann) [Select]
$campX = 1170
$campY = 595

$firstButtonX[0] = 1500
$firstButtonY[0] = 435
$firstButtonY[1] = 635
$firstButtonY[2] = 835

$secondButtonX[1] = 1820
$secondButtonY[0] = 135
$secondButtonY[1] = 325
$secondButtonY[2] = 515

$thirdButtonX[2] = 1510
$thirdButtonY[0] = 240
$thirdButtonY[1] = 435
$thirdButtonY[2] = 630

$isScoutAvailable[0] = 0
$isScoutAvailable[1] = 0
$isScoutAvailable[2] = 0

SUB(checkScout, $i, $x, $y)
   GETSCREEN
   IF(PXL($x,$y) = 48895)
      $isScoutAvailable[$i] = 1
   ELSE
      $isScoutAvailable[$i] = 0
   END_IF
END_SUB

SUB(clickButton, $x, $y)
//   LCLICK($x,$y)
   WAIT(2)
END_SUB

clickButton($campX, $campY)
clickButton($campX+200, $campY+160)

WHILE(($isScoutAvailable[0] = 0) & ($isScoutAvailable[1] = 0) & ($isScoutAvailable[2] = 0))
   checkScout(0, $firstButtonX[0], $firstButtonY[0])
   checkScout(1, $firstButtonX[0], $firstButtonY[1])
   checkScout(2, $firstButtonX[0], $firstButtonY[2])
END_CYC

$selectedScout = 0

FOR($i=0, $i < ARRSIZE($isScoutAvailable))
   IF($isScoutAvailable[$i] = 1)
      $selectedScout = $i
   END_IF
END_CYC

clickButton($firstButtonX[$selectedScout], $firstButtonY[$selectedScout])

32
Общие вопросы / Re: Скрипт для рыбалки
« on: February 28, 2020, 04:43:08 PM »
Вот  добился  наконецто  вот  рабочая  версия   только  теперь  надо  придумать  кнопки  когда подсекать   то вытаскывает  автоматом  а вот  надо  рукой  подсечь )
Code: (clickermann) [Select]
GETSCREEN
(PXL(844,643) = 8958677)
    IF(PXL(910,398) ! 8872765)
        KEYUP(#SPACE)
        $sp = 0
    ELSE
        IF(PXL(910,398) = 8872765)
            KEYDOWN(#SPACE)
            $sp = 1
        END_IF
    END_IF
    WAITMS(30)
    GETSCREEN

Ничего се рабочая. Это что? (PXL(844,643) = 8958677)

Вот без ошибок
Code: (clickermann) [Select]
GETSCREEN(910,398,910,398)
IF(PXL(910,398) = 8872765)
   KEYDOWN(#SPACE)
ELSE
   KEYUP(#SPACE)
END_IF
WAITMS(30)


33
Общие вопросы / Re: Поток
« on: February 27, 2020, 05:47:20 PM »
Кликер единовременно может быть привязан только к одному окну. То есть нельзя создать поток который отдельно будет работать с окном. Режим привязки это глобальная смена режима работы кликера.

У меня на 10ке режим привязки к Excel 2016 работает. Только нужно привязывать к окну таблицы (к самим ячейкам).

Ну и совсем не ясно что это за "основной" скрипт и что он там будет делать одновременно с вводом значений в эксель.

34
а тоесть последующий картинки будут $_return3, return4 я правильно понял этот код?

В этом коде нет никаких $_return. Координаты собираются в массив под импровизированным именем $ARR_SCAN
Массив это таблица в одну колонку. Первая координата XY будет в $ARR_SCAN[0] и $ARR_SCAN[1], вторая $ARR_SCAN[2] и $ARR_SCAN[3] и тд.

35
Для этого есть SCANPICTURE собирающая все совпадения в массив координат.
Code: (clickermann) [Select]
GETSCREEN
SCANPICTURE($ARR_SCAN, 0,0, $_xmax,$_ymax, "picture.bmp", -1, 100)
FOR($i=0,$i<ARRSIZE($ARR_SCAN),2)
   LCLICK($ARR_SCAN[$i], $ARR_SCAN[$i+1])
   WAITMS(100)
END_CYC
UNDEFINE($ARR_SCAN)

36
Общие вопросы / Re: Провести
« on: February 19, 2020, 05:15:10 PM »
1
Code: (clickermann) [Select]
UNDEFINE($fio)
STRSEPARATE($f, " ", $fio)
$sz = ARRSIZE($fio)
IF($sz > 2)
   $io = STRCONCAT($fio[$sz-2], " ", $fio[$sz-1])
END_IF
TOCLIP(STRCONCAT($io, ", хорошего дня. Отправляю вам во вложении информацию о нашем заводе и продукции. Прошу ответным письмом дать обратную связь."))

2
Code: (clickermann) [Select]
$cena = STRREPLACE(FROMCLIP(),",",".") // Число
$procent = INT(INPUTBOX("Сколько % отнять?", "10", 999))
$cena = $cena-(($cena/100)*$procent) // Операция с числом. $procent - это тот %, который будет отниматься.
IF(STRPOS($cena, ".") > 0)
   $cena = INT($cena)+1
END_IF
$cena = STRCONCAT($cena, ",00")
TOCLIP($cena)

37
Code: (clickermann) [Select]
$str = "... через 1 мин. 11 с."
$count = STRPOS($str, "через")
IF($count > 0)
   $str2 = STRFILTER(STRCUT2($str, $count+6, STRLEN($str)), " ", 0)
   $count2 = STRPOS($str2, "мин.")
   IF($count2 > 0)
      $m = STRCUT2($str2, 1, $count2-1)
      $str2 = STRCUT2($str2, $count2+4, STRLEN($str2))
      $count2 = STRPOS($str2, "с.")
      $s = 0
      IF($count2 > 0)
         $s = STRCUT2($str2, 1, $count2-1)
      END_IF
      $str = STRCONCAT(STRCUT2($str, 1, $count+5), ($m*60)+$s, " с.")
   END_IF
END_IF

LOGWRITE ($str)

38
Общие вопросы / Re: Переключатели
« on: February 07, 2020, 07:01:53 PM »
Все просто
Code: (clickermann) [Select]
thread(pereklu6)    // Поток
   if (iskeydown(#y)=1) //Условие при нажатии
      $var = $var^1
      wait(10) //Время в секундах сколько кнопка не будет отвечать после нажатия
   end_if
   waitms(50)
end_thread  //Конец потока

$var^1 - это битовая операция, если $var = 0 то вернет за место себя 1, если $var = 1 то вернет 0

39
Code: (clickermann) [Select]
//Начало скрипта

$check = 0
WHILE($check = 0)
   IF(ISKEYDOWN(#CTRL)=1)
      WHILE(ISKEYDOWN(#CTRL)=1)
      END_CYC
      $check = 1
   ELSE
      IF(ISKEYDOWN(#ALT)=1)
         WHILE(ISKEYDOWN(#ALT)=1)
         END_CYC
         $check = 2
      ELSE
         WAITMS(20)
      END_IF
   END_IF
END_CYC

IF($check = 1) // Продолжение скрипта (вариант 1)
   // body
END_IF

IF($check = 2) // Продолжение скрипта (вариант 2)
   // body
END_IF

40
Не проще ли это сделать так? Зачем заморачиваться с массивом?
Code: (clickermann) [Select]
$a = 10
$b = 13
$c = 14
$d = 46
$e = 69

LOGWRITE ($d)
HALT

Тут самое важное что у массива одно имя и множество ячеек памяти с которыми легко работать в цикле.
Например считываем все строки файла в массив, в цикле добавляем каждой строке слово, и снова записываем массив в файл.
Code: (clickermann) [Select]
TFREADARR("file.txt", $arr)
FOR($a=0,$a<ARRSIZE($arr))
   $arr[$a] = STRCONCAT("ТЕКСТ= ", $arr[$a])
END_CYC
TFWRITEARR("file.txt", $arr)
HALT

В цикле я могу считать все значения массива
Code: (clickermann) [Select]
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

FOR($a=0,$a<ARRSIZE($test))
   LOGWRITE ($test[$a])
END_CYC
HALT

Что если этих значений не 5 а 100000? Будешь плодить 100000 переменных?

41
Массив это таблица в один столбик. В отличии от переменной которая хранит одно значение, массив может хранить множество значений. Обращаться к ним нужно указывая номер индекса в квадратных скобках после имени массива.

Например создаем массив
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

Выглядит он так


Теперь прочитаем значение из ячейки под номером 3
Code: (clickermann) [Select]
ARRPUSH($test, 10)
ARRPUSH($test, 13)
ARRPUSH($test, 14)
ARRPUSH($test, 46)
ARRPUSH($test, 69)

LOGWRITE ($test[3])
HALT

В логе видим значение 46
Code: [Select]
12:33:41 46
Важный момент, обращение в несуществующей ячейке массива приведет к ошибке!

42
Чтобы keystring правильно работала раскладки кликера и целевого окна должны совпадать и быть на языке ввода.

Проще вставить путь через буфер обмена.
Code: (clickermann) [Select]
TOCLIP("G:\_DO\TMP\001.bmp")
WAITMS(50)
KEYDOWN (#CTRL)
WAITMS (50)
KEYPRESS (#V)
KEYUP (#CTRL)
WAITMS(50)

44
Общие вопросы / Re: поиск пикселя от-до
« on: January 20, 2020, 09:18:42 PM »
Разумнее всего применить цветокоррекцию. Потому что цвет не меряется от и до, там в промежутке может быть какие угодно цвета.

Pages: 1 2 [3] 4 5 ... 246