Author Topic: действие по цвету  (Read 4070 times)

0 Members and 1 Guest are viewing this topic.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: действие по цвету
« Reply #15 on: October 20, 2018, 03:24:41 PM »
Вот весь скрипт. Одно понял, что я нифига не понимаю в грамматике скриптописания и чувствую что все можно сделать гораздо проще и читабельнее. Ума не приложу чем менять Гото, а подпрограммы SUB не такие глюченые как Гото? И при переходе в подпрограмму все переменные из скрипта сохраняются и как я понял обнуляются только по завершению подпрограммы?

GOTO это грубый инструмент, костыль. В кликере нужно обеспечить больше команд чтобы избавиться от гото.
Твой код вполне верен, и если он работает то менять пока ничего не нужно.

Все переменные в кликере глобальные, доступны из любого участка кода. А обнулению подвергаются только переменные участвующие в параметре подпрограммы (кстати непонятно зачем обнуляются)

Переменные $par1 и $par2 по окончанию подпрограммы будут обнулены.
Code: (clickermann) [Select]
SUB(имя, $par1, $par2) // подпрограмма с параметрами
   // тело выполняется только после вызова
END_SUB

имя(1,2) // вызов подпрограммы (обязательно ниже подпрограммы)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: действие по цвету
« Reply #16 on: October 21, 2018, 12:39:09 AM »
Они не обнулены, они уничтожены.


Azaar

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: действие по цвету
« Reply #17 on: November 02, 2018, 10:06:36 PM »
Подскажите пожалуйста как осуществить

Если в течении 30 секунд в пикселе не появился цвет
WHILE((PXL(1251,87)!5350225)&($time > $_ms))
то выполнить действие
LCLICK(121,48)  //обновить страницу
и снова проверять наличие цвета в этих координатах
а если цвет появился за это время то выполнить действие
LCLICK(154,120)  //идти дальше

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: действие по цвету
« Reply #18 on: November 02, 2018, 10:26:48 PM »
Подскажите пожалуйста как осуществить

Можно вот так:
Code: (clickermann) [Select]
$time = $_time_t + 30 //засекаем 30сек

GETSCREEN
WHILE(PXL(1251,87)!5350225)
   waitms(100)
   GETSCREEN
   
   IF($time < $_time_t)  //если время закончилось
      LCLICK(121,48)  //обновить страницу
      $time = $_time_t + 30 //обновляем таймер
   END_IF
   
END_CYC

//как только появился пиксель, идем дальше
LCLICK(154,120)  //идти дальше

Azaar

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: действие по цвету
« Reply #19 on: November 02, 2018, 11:05:05 PM »
не помогло, постоянно обновляет страницу, дальше не идет

dramster

  • Герой форума
  • *****
  • Posts: 1134
    • View Profile
Re: действие по цвету
« Reply #20 on: November 02, 2018, 11:16:08 PM »
Значит пиксель твой не равен цвету 5350225.

Попробуй проверять в логе что там у тебя:
Code: (clickermann) [Select]
$time = $_time_t + 30 //засекаем 30сек

GETSCREEN
WHILE(PXL(1251,87)!5350225)
   waitms(100)
   GETSCREEN
   
   IF($time < $_time_t)  //если время закончилось
      print("30 сек прошло, обновляем страницу")
      print("цвет искомого пикселя равен ", PXL(1251,87))
      LCLICK(121,48)  //обновить страницу
      $time = $_time_t + 30 //обновляем таймер
   END_IF
   
END_CYC

//как только появился пиксель, идем дальше
LCLICK(154,120)  //идти дальше

Azaar

  • Зашел в гости
  • *
  • Posts: 11
    • View Profile
Re: действие по цвету
« Reply #21 on: November 03, 2018, 09:02:41 AM »
принт выводит не искомый цвет на пикселе, а белый, тоесть который был до того который нужно искать