Author Topic: Доработать скрипт  (Read 3157 times)

0 Members and 1 Guest are viewing this topic.

Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Доработать скрипт
« on: May 16, 2017, 02:13:31 PM »
Здравствуйте! Подскажите пожалуйста , как сделать так чтобы в начале скрипта исполнялась одна функции и дальше она не фигурировала .Скрипт уже написан и нужно немного доработать
« Last Edit: May 18, 2017, 02:41:17 PM by Gorishniy »

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Доработать скрипт
« Reply #1 on: May 16, 2017, 02:28:53 PM »
Вариант 1
Code: (clickermann) [Select]
IF($first = 0)
    $first = 1
    // код выполняющийся в начале 1 раз
END_IF
// остальной код

Вариант 2
Code: (clickermann) [Select]
// код выполняющийся в начале 1 раз
WHILE(1)
    // остальной код
END_CYC


Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #2 on: May 17, 2017, 11:05:34 PM »
Еще один вопрос. Подскажите пожалуйста как можно сделать рандомный клик по двум заданным координатам после того как на экране появиться определенное изображение ?

 
Code: [Select]
a:
wait(rnd(5,10))
getscreen
if_picture_in(0,0,$_xmax,$_ymax,"111.bmp",-1,90)
setthread(thr4,0)
wait(5)
lclick($_return1,$_return2)
wait(3)
lclick($_return1-119,$_return2+243)      / / / как можно сделать так чтобы эта операция была рандомной ?
else
goto(a)
end_if

Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #3 on: May 17, 2017, 11:13:30 PM »
Вариант 1
Code: (clickermann) [Select]
IF($first = 0)
    $first = 1
    // код выполняющийся в начале 1 раз
END_IF
// остальной код


При выборе первого варианта кликер все равно циклично выполняет заданное задание в самом начале которое должно выполняться лишь один раз

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Доработать скрипт
« Reply #4 on: May 18, 2017, 08:36:17 AM »
Значит неправильно переписал три строки.
Или где-то используешь переменную $first и она становится 0.



Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #5 on: May 18, 2017, 12:19:06 PM »
Значит неправильно переписал три строки.
Или где-то используешь переменную $first и она становится 0.

Можно что-то сделать если у меня код написан стадиями a/s/d/f/g...- тот код который должен прогоняться лишь раз. А дальше уже идет сам скрип с несколькими потоками 

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Доработать скрипт
« Reply #6 on: May 18, 2017, 12:29:28 PM »
Можно что-то сделать если у меня код написан стадиями a/s/d/f/g...
Совсем не понял, что за шифрограмма.

Всегда можно что-то сделать, нужно только знать "что".


Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #7 on: May 18, 2017, 07:11:08 PM »
Можно что-то сделать если у меня код написан стадиями a/s/d/f/g...
Совсем не понял, что за шифрограмма.

Всегда можно что-то сделать, нужно только знать "что".



Спасибо ! Всё получилось !) 

Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #8 on: May 18, 2017, 07:14:46 PM »
Еще один вопрос. Подскажите пожалуйста как можно сделать рандомный клик по двум заданным координатам после того как на экране появиться определенное изображение ?

 
Code: [Select]
a:
wait(rnd(5,10))
getscreen
if_picture_in(0,0,$_xmax,$_ymax,"111.bmp",-1,90)
setthread(thr4,0)
wait(5)
lclick($_return1,$_return2)
wait(3)
lclick($_return1-119,$_return2+243)      / / / как можно сделать так чтобы эта операция была рандомной ?
else
goto(a)
end_if

Подскажите, можно ли реализовать рандомный клик по двум  заданым кординатам ? Например lclick($_return1-119,$_return2+243) и lclick($_return +132,$_return2+20)

Атеист

  • Guest
Re: Доработать скрипт
« Reply #9 on: May 18, 2017, 08:16:11 PM »
Подскажите, можно ли реализовать рандомный клик по двум  заданым кординатам ? Например lclick($_return1-119,$_return2+243) и lclick($_return +132,$_return2+20)
Code: (clickermann) [Select]
IF(RNDFROM(0,1))
   lclick($_return1-119,$_return2+243)
ELSE
   lclick($_return1+132,$_return2+20)
END_IF

Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #10 on: May 18, 2017, 08:50:24 PM »
Подскажите еще пожалуйста ) Какой скрипт будет меньше тянуть , тот который будет написан на пиксели или который на картинки ?

Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #11 on: May 18, 2017, 09:58:05 PM »
Подскажите, можно ли реализовать рандомный клик по двум  заданым кординатам ? Например lclick($_return1-119,$_return2+243) и lclick($_return +132,$_return2+20)
Code: (clickermann) [Select]
IF(RNDFROM(0,1))
   lclick($_return1-119,$_return2+243)
ELSE
   lclick($_return1+132,$_return2+20)
END_IF

При таком скрипте почему-то выбирает только первый вариант

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Доработать скрипт
« Reply #12 on: May 18, 2017, 10:13:05 PM »
Подскажите, можно ли реализовать рандомный клик по двум  заданым кординатам ? Например lclick($_return1-119,$_return2+243) и lclick($_return +132,$_return2+20)
Code: (clickermann) [Select]
IF(RNDFROM(0,1))
   lclick($_return1-119,$_return2+243)
ELSE
   lclick($_return1+132,$_return2+20)
END_IF

При таком скрипте почему-то выбирает только первый вариант




Gorishniy

  • Зашел в гости
  • *
  • Posts: 16
    • View Profile
Re: Доработать скрипт
« Reply #13 on: May 18, 2017, 10:29:50 PM »
Подскажите, можно ли реализовать рандомный клик по двум  заданым кординатам ? Например lclick($_return1-119,$_return2+243) и lclick($_return +132,$_return2+20)
Code: (clickermann) [Select]
IF(RNDFROM(0,1))
   lclick($_return1-119,$_return2+243)
ELSE
   lclick($_return1+132,$_return2+20)
END_IF

При таком скрипте почему-то выбирает только первый вариант




Подскажите пожалуйста как исправить проблему

Code: [Select]
thread(thr3)
a:
wait(rnd(5,10))
getscreen
if_picture_in(250,215,735,540,"1234.bmp",-1,90)
wait(5)
IF(RNDFROM(0,1))
lclick($_return1,$_return2)
else
lclick($_return1-140,$_return2)
end_if
wait(3)
lclick($_return1-119,$_return2+243)
else
goto(a)
end_if
define($var)
inc($var)
if($var = 20) 
wait(5)
halt
end_if
wait(10) 
end_thread
« Last Edit: May 18, 2017, 10:31:22 PM by Gorishniy »

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: Доработать скрипт
« Reply #14 on: May 18, 2017, 11:14:30 PM »
так а в чем проблема то?

немного подправил, избавился от гото.
Code: (clickermann) [Select]
thread(thr3)
   
   $check = 0
   WHILE($check = 0)  //цикл ожидания картинки "1234.bmp"
      wait(rnd(5,10))
      getscreen
      if_picture_in(250,215,735,540,"1234.bmp",-1,90)
         wait(5)
         IF(RNDFROM(0,1))  //если картинка есть, то жмем либо по ней, либо на 140 пикс левее.
            lclick($_return1,$_return2)
         else
            lclick($_return1-140,$_return2)
         end_if
         wait(3)
         lclick($_return1-119,$_return2+243)
         $check = 1
      end_if
   END_CYC
   
   inc($var)    //после клика по картинке, наращиваем счетчик $var
   if($var = 20)    //и если 20 раз найдена картинка, то остановка выполнения.
      wait(5)
      halt
   end_if
   wait(10)
   
end_thread

« Last Edit: May 18, 2017, 11:21:51 PM by dramster »