Author Topic: Скрипт гонит  (Read 2562 times)

0 Members and 1 Guest are viewing this topic.

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Скрипт гонит
« on: February 02, 2017, 07:55:49 PM »
Написал небольшой скрипт, но он почему-то жестко гонит, If работает нормально, но если объект отсутствует, то он и вовсе ничего не пишет, в чем дело? Даже текст вот этот не пишет: logwrite("3 gooddd!", $_return1)  и   logwrite("4 gooddd!", $_return1)

Code: [Select]
GETSCREEN
IF_PICTURE_IN (2127,407, 2200, 421, "\bot\screens\shot0002.bmp")
IF( $_return1 & $_return2 ) > 0)
  logwrite("1 gooddd!" )
                else
  logwrite("2 gooddd!" )
END_IF

logwrite("3 gooddd!", $_return1)
logwrite("4 gooddd!", $_return2)

END_IF

Когда условие работает:


Когда условие не работает в лог ничего не идет.

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Скрипт гонит
« Reply #1 on: February 02, 2017, 07:58:07 PM »
И еще вопросик, как можно создать функцию в коде, как в php, а то не очень удобно 1 и тот же код в 10 условиях писать, хотелось бы 1 раз написать и просто сделать вывод функции. Может быть это можно как-нибудь по другому тут реализовать. Спасибо.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт гонит
« Reply #2 on: February 02, 2017, 08:01:42 PM »
Не верный скрипт. Это функция условие, там не надо еще городить условий. И ретурны тоже нужно использовать только в нутри функции так как эти системные переменные не сбрасывают значение даже после остановки кликера. Они служат только для вывода значений.

Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (2127,407, 2200, 421, "bot\screens\shot0002.bmp")
   logwrite($_return1, ",",$_return2)
   logwrite("gooddd!" )
else
   logwrite("НЕ gooddd" )
END_IF

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт гонит
« Reply #3 on: February 02, 2017, 08:05:09 PM »
И еще вопросик, как можно создать функцию в коде, как в php, а то не очень удобно 1 и тот же код в 10 условиях писать, хотелось бы 1 раз написать и просто сделать вывод функции. Может быть это можно как-нибудь по другому тут реализовать. Спасибо.

В кликере это называется подпрограммами. Отличие в том что вызов можно писать только отдельной строкой и подпрограмма ничего не возвращает. Используется только как оптимизация повторяющегося кода

Code: (clickermann) [Select]
SUB(search, $x1,$y1, $x2,$y2, $pic)
   GETSCREEN
   IF_PICTURE_IN ($x1,$y1, $x2,$y2, $pic, -1, 100)
      logwrite($_return1, ",",$_return2)
      logwrite("gooddd!" )
   else
      logwrite("НЕ gooddd" )
   END_IF
END_SUB

search(2127,407, 2200, 421, "bot\screens\shot0002.bmp") // вызов подпрограммы (обязательно ниже подпрограммы)

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Скрипт гонит
« Reply #4 on: February 02, 2017, 08:05:30 PM »
Спасибо за ответ, а если допустим в else мне так же надо проверить условие на картинку?

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт гонит
« Reply #5 on: February 02, 2017, 08:09:07 PM »
Спасибо за ответ, а если допустим в else мне так же надо проверить условие на картинку?

Вкладывай, только так
Code: (clickermann) [Select]
GETSCREEN
IF_PICTURE_IN (0,0, $_xmax,$_ymax, "1.bmp", -1, 100)
   LCLICK($_return1, $_return2)
   WAITMS(100)
ELSE
   IF_PICTURE_IN (0,0, $_xmax,$_ymax, "2.bmp", -1, 100)
      LCLICK($_return1, $_return2)
      WAITMS(100)
   END_IF
END_IF

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Скрипт гонит
« Reply #6 on: February 02, 2017, 08:11:29 PM »
Огромное спасибо.

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Скрипт гонит
« Reply #7 on: February 02, 2017, 08:28:21 PM »
Еще вопросик. Не совсем понял как работает SUB. Надо сделать так, что бы если ELSE сработал, то нажималась кнопка и потом переходило в середину кода( то есть пропускалась какая-то часть), как это реализовать? В случае с функциями, о которых я упоминал ранее это делалось бы 1 минуту. Спасибо.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт гонит
« Reply #8 on: February 02, 2017, 09:46:15 PM »
не видя всего кода сложно что то советовать.
Например можно использовать переменную которой в случаи ELSE задается значение 1, в следствии чего сработает условие после вызова в котором герез GOTO можно будет перейти в нужную часть скрипта.
Code: (clickermann) [Select]
SUB(search, $x1,$y1, $x2,$y2, $pic)
   GETSCREEN
   IF_PICTURE_IN ($x1,$y1, $x2,$y2, $pic, -1, 100)
      logwrite($_return1, ",",$_return2)
      logwrite("gooddd!" )
   else
      logwrite("НЕ gooddd" )
      $check = 1
   END_IF
END_SUB

$check = 0
search(2127,407, 2200, 421, "bot\screens\shot0002.bmp")
IF($check = 1)
   GOTO(next)
END_IF

// ===========



next:

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Скрипт гонит
« Reply #9 on: February 02, 2017, 09:47:28 PM »
Также стоит помнить что выпрыгивание через GOTO из подпрограмм и циклов приводит к ошибкам.

Graff

  • Зашел в гости
  • *
  • Posts: 6
    • View Profile
Re: Скрипт гонит
« Reply #10 on: February 03, 2017, 12:11:28 AM »
не видя всего кода сложно что то советовать.
Например можно использовать переменную которой в случаи ELSE задается значение 1, в следствии чего сработает условие после вызова в котором герез GOTO можно будет перейти в нужную часть скрипта.
Code: (clickermann) [Select]
SUB(search, $x1,$y1, $x2,$y2, $pic)
   GETSCREEN
   IF_PICTURE_IN ($x1,$y1, $x2,$y2, $pic, -1, 100)
      logwrite($_return1, ",",$_return2)
      logwrite("gooddd!" )
   else
      logwrite("НЕ gooddd" )
      $check = 1
   END_IF
END_SUB

$check = 0
search(2127,407, 2200, 421, "bot\screens\shot0002.bmp")
IF($check = 1)
   GOTO(next)
END_IF

// ===========



next:

Спасибо.

Столкнулся еще с 1 проблемой, Кликерман не нажимает на кнопки приложения, не может переносить по рабочему столу, программа называется Wise memory optimizer, даже пытался записать свои действия, он при повторе он не может работать с программой, просто водит мышью и все. Объясните в чем дело и как бороться с этим. Благодарю.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Скрипт гонит
« Reply #11 on: February 03, 2017, 09:50:17 AM »
1. Запускать от имени администратора.
2. Приструнить UAC.