Author Topic: Типовые алгоритмы, вводные статьи (Новички, читайте!)  (Read 293116 times)

0 Members and 2 Guests are viewing this topic.

Werest

  • Зашел в гости
  • *
  • Posts: 3
    • View Profile
Туплю. ))) Только взялся изучать прогу. ))) Примного благодарен.

Reyhs

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Ггг... итак, скачал, воткнул, наскриптил в виде левый клац туда, туда, туда и т.д., даже работает ! Однако вопросы остались, вот у меня одинаковые циклы, то есть разумно было бы написать клацни туда то, потом выполни цикл и вернись, клацни еще куда то, выполни цикл и т.д., а вот хрен там был, команды цикла, не for-while, а goto-return, этой супер проге незнакомы, итак ЧТО ЗА ЯЗЫК ПРОГРАММИРОВАНИЯ в этом боту ???

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Ггг... итак, скачал, воткнул, наскриптил в виде левый клац туда, туда, туда и т.д., даже работает ! Однако вопросы остались, вот у меня одинаковые циклы, то есть разумно было бы написать клацни туда то, потом выполни цикл и вернись, клацни еще куда то, выполни цикл и т.д., а вот хрен там был, команды цикла, не for-while, а goto-return, этой супер проге незнакомы, итак ЧТО ЗА ЯЗЫК ПРОГРАММИРОВАНИЯ в этом боту ???

Видимо тебе нужны подпрограммы

Code: (clickermann) [Select]
SUB(подпрограмма)

// здесь цикл

END_SUB


LCLICK(100,100)
подпрограмма()

LCLICK(200,200)
подпрограмма()

LCLICK(300,300)
подпрограмма()

LCLICK(400,400)
подпрограмма()

Reyhs

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Ггг... итак, скачал, воткнул, наскриптил в виде левый клац туда, туда, туда и т.д., даже работает ! Однако вопросы остались, вот у меня одинаковые циклы, то есть разумно было бы написать клацни туда то, потом выполни цикл и вернись, клацни еще куда то, выполни цикл и т.д., а вот хрен там был, команды цикла, не for-while, а goto-return, этой супер проге незнакомы, итак ЧТО ЗА ЯЗЫК ПРОГРАММИРОВАНИЯ в этом боту ???

Видимо тебе нужны подпрограммы

Code: (clickermann) [Select]
SUB(подпрограмма)

// здесь цикл

END_SUB


LCLICK(100,100)
подпрограмма()

LCLICK(200,200)
подпрограмма()

LCLICK(300,300)
подпрограмма()

LCLICK(400,400)
подпрограмма()

Не осилил... именно в коду можно ? Не по русски, а именно кодом с русскими комментариями, сорри за тупизну ! И главное - как из подпрограммы вернуться к продолжению выполнения скрипта и еще момент есть команда goto (прям бейсик), а return нету ???

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
А это и есть код. Да назвать твою подпрограмму можно прямо по русски, например назовем её Моя_прога. И да, когда дойдет до вызова Моя_прога() выполнение скаканет в подпрограмму SUB(Моя_прога), выполнит все что там написано и вернется на следующую строку после Моя_прога() и тд.

Code: (clickermann) [Select]
SUB(Моя_прога) // эта часть кода отрабатывает ТОЛЬКО ПО ВЫЗОВУ
 
// здесь часто повторяемый код
 
END_SUB // конец подпрограммы
 
 
LCLICK(100,100)
Моя_прога() // вызов подпрограммы
 
LCLICK(200,200)
Моя_прога()
« Last Edit: July 11, 2014, 05:28:38 PM by Oraven »

Полуночник

  • Активный участник
  • ***
  • Posts: 157
  • Умный не пошлёт на... он скажет -вы далеко пойдёте
    • View Profile
Ещё раз привет) Извините конечно, но мозги мои совсем закостенели уже(((( Читал справку, облазил весь форум, но так и не врубился как написать скрипт.
Знатоки, будьте так любезны нарисуйте тут образец со следующими пояснениями:
1)запуск скрипта с привязкой к окну(видел описание, но для кучи ещё разок)
2) определение размеров окна ($_xmax,$_ymax)
3) вывод инфы размеров ($_xmax,$_ymax) в лог или трей
Разжуйте пожалуйста, а то пока мои мозги расшевелятся и впитают в себя то что написано в справке пройдёт года полтора)))

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Нет в кликере функций определения размера окна.

Полуночник

  • Активный участник
  • ***
  • Posts: 157
  • Умный не пошлёт на... он скажет -вы далеко пойдёте
    • View Profile
Нет в кликере функций определения размера окна.
Понял :(

Demon_Ok

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Подскажите пожалуйста.
Написал скрипт, без привязки к окну пашет как часы. Но хотелось бы с привязкой и свернуть эти окна что бы не мешались.
Но дело в том что в скрипте используется функция GETSCREEN и она снимает снимок текущего окна. А мне нужно снять экран привязанного окна и использовать PXLCRC
Спасибо.

P.S. Даже не так немного. Если делать привязку к окну, то скрипт неправильно работает.

Code: [Select]
23:16:35 Hash: 800543756 //Без привязки
23:16:35 800543756 //Без привязки
23:16:37 STOP: 3851769229 //Без привязки
23:16:37 3851769229 //Без привязки
23:17:26 Hash: 0 //С привязкой
23:17:26 0 //С привязкой
23:17:28 STOP: 0 //С привязкой
« Last Edit: July 28, 2014, 09:20:21 PM by Demon_Ok »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Окно сворачивать нельзя, в свернутом окне ничего не отображается. Но окно можно например задвинуть за экран или оставить на фоне.

Demon_Ok

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Окно сворачивать нельзя, в свернутом окне ничего не отображается. Но окно можно например задвинуть за экран или оставить на фоне.

Спасибо за ответ. Но даже при активном окне скрипт неправильно срабатывает при привязке к окну.
PXLCRC всегда возвращает 0

P.S.
Извиняюсь, нашел проблему. Решения нету :(

Quote
"Касательно приложения - таки да - это эмулятор андроида и при старте приложения запущенная "apk'шка" действительно оборачивается отдельным процессом"

Всё зависит от приложения + проблема с x64.
« Last Edit: July 28, 2014, 09:46:26 PM by Demon_Ok »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
используй виртуальную машину
http://rutracker.org/forum/viewtopic.php?t=4578599
Лучше скачать портативную. Создаешь расширяемый образ диска на 7-10 гигов, выделяешь 512 мг оперативы и одно ядро процессора ставишь туда XP.

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Надеюсь, не буду сильно не в тему, если чуть-чуть попытаюсь вспомнить про оптимизацию...

Если счётчик цикла внутри него используется несколько раз, то можно сделать следующим образом:

Задан массив(например, координаты по икс и игрек)

$arr[0]=123
$arr[1]=111
.
.
.
$arr[39]=321
$arr[39]=222
For($i, $i<40)
  $new_var1=$arr[2*$i] //тут респект автору, напомнил азы программирования :)
  $new_var2=$arr[2*$i+1] //оригинал - в теме "Массивы"
  move($new_var1,$new_var2)
  ldown($new_var1,$new_var2)
  lup($new_var1,$new_var2) 
end_cyc

Таким образом процесс "поиск значения массива по индексу" каждый раз при обращении к хранящимся в нём значениям
меняется на "однократное обращение к элементу массива на каждом шаге, далее - обращение к переменной".
Если мне не изменяет память, работает чуть быстрей.

Эффективность увеличивается с ростом количества обращений к элементу массива на каждом шаге
Если честно, на работоспособность не проверял в контексте скриптов, но, надеюсь, работает
« Last Edit: August 13, 2014, 08:23:00 PM by Dampil »

Dampil

  • Освоившийся
  • **
  • Posts: 45
    • View Profile
    • @pump_upp - best crypto pumps on telegram !
Re: внимание!
« Reply #88 on: August 13, 2014, 08:42:25 PM »
раскладка должна быть одинакова и в кликере в поле ввода.
Тут непонятный баг. Изначально у меня стоит англ и печатаю от руки в блокноте англ.
Но в момент запуска кликера визуально наблюдается самопроизвольный переход на  русскую раскладку  в языковой панели.

Если не ошибаюсь, по правилам Win при запуске проги какАя бы раскладка ни была, она переключается на раскладку по умолчания

Hito

  • Герой форума
  • *****
  • Posts: 1212
    • View Profile
Re: Типовые алгоритмы
« Reply #89 on: September 15, 2014, 01:35:28 PM »
prapor, вариант цикла с WHILE можно написать куда кароче!
Code: [Select]
// если по координатам 100,100 цвет пиксела НЕ 255, то цикл будет работать

GETSCREEN // снимок в буфер кликера


// условие цикла: если функция PXL находит по координатам 100,100 пиксел любого цвета кроме 255
// цикл будет продолжаться, а как найдет цвет 255 то прервется, и скрипт продолжится дальше после END_CYC

WHILE(PXL(100, 100) ! 255)
   WAITMS(100) // задержка
   GETSCREEN // снимок в буфер кликера внутри цикла
END_CYC

У нуба возникло 3 вопроса )) 1 - первый GETSCREEN (тот, что выше "// условие цикла: если функция" находится) тоже надо прописывать? То есть - GETSCREEN 2 раза надо писать? (К слову - я попробовал и у меня это условие искало и находило пиксель ВООБЩЕ без обоих GETSCREEN...  ???) 2 - Между какими строчками нужно прописывать команды в теле условия, которые будут выполняться, если пиксель НЕ найден? Между "WAITMS(100) // задержка" и "GETSCREEN", или Между "GETSCREEN" и "END_CYC"? И 3 - Как написать такое же условие, но для IF_PICTURE_IN?
Я не ду... Потому и не бу...