Author Topic: Написание скрипта с нуля  (Read 10157 times)

0 Members and 1 Guest are viewing this topic.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Написание скрипта с нуля
« on: April 03, 2014, 07:22:19 AM »
Многие новички генерируют большое количество глупых вопросов даже не пытаясь напрячь свое серое вещество и попытатся найти решение своими силами, требуя сделать за них другим.
Вот небольшое руководство как создать скрипт с нуля самому и как правильно подойти к этому увлекательному занятию.

1. Четко определить функционал скрипта, какие действия должен осуществлять скрипт(нажатия кнопок, поиск каких то картинок на экране, реагирование на какие то действия или изменения на экране)

2.После того как мы имеем кусочки пазла начинаем составлять алгоритм работы скрипта. Можно нарисовать блок схему или просто расписать по пунктам последовательность действий, что за чем должно выполняться.
Пример блок схемы
[spoiler][/spoiler]
Теперь мы имеем четко сформулированый алгоритм скрипта, это сильно облегчит задачу при его написании и вы никогда не запутаетесь.

3. Теперь можно приступать к написанию скрипта сначала по отдельности каждое действие, потом связать переходами или выложить это в нужной последовательности.


При написании скрипта старайтесь соблюдать некотрые негласные правила:
1) Коментировать большие и/или сложные куски кода
2) Снести к минимуму неожиданные переходы выполнения скрипта, в частности не стоит злоупотреблять goto()
3) Структурировать код соответственно его вложенности.
4) Использовать вывод сообщений в лог print() или logwrite() для отладки скрипта


ps. если что забыл подсказывайте дополню.

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Написание скрипта с нуля
« Reply #1 on: April 04, 2014, 05:14:22 PM »
Я бы посоветовал пихать каждый чих в отдельную функцию. Потом просто жонглировать в блоках функциями, а потом ворочать блоками. По крайней мере я убедился в удобстве такого подхода. А с новой версией 4.9 вызываемые функции еще и с аргументами. Хотя это уже концепция Си, нежели кликера))

Laa911

  • Освоившийся
  • **
  • Posts: 61
    • View Profile
Re: Написание скрипта с нуля
« Reply #2 on: April 06, 2014, 10:43:57 PM »
Еще бы понятные алгоритмы, и примеры с возвратами из функций.. может программерам и легко догонять, а вот обычным юзерам.. это как аддд :-(((
Для примера можно было бы сделать базовые скрипиты кликеры для вКонтакте, для FaceBook
Переход на другие страницы по условию..

Думаю это бы сняло 90% "тупых" вопросов новичков :-)))

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Написание скрипта с нуля
« Reply #3 on: April 07, 2014, 07:56:50 AM »
Еще бы понятные алгоритмы, и примеры с возвратами из функций.. может программерам и легко догонять, а вот обычным юзерам.. это как аддд :-(((
Для примера можно было бы сделать базовые скрипиты кликеры для вКонтакте, для FaceBook
Переход на другие страницы по условию..

Думаю это бы сняло 90% "тупых" вопросов новичков :-)))

А можно пример про возврат из функции? а то боюсь это и для "программеров" аддд))
Скрипты чего?
90% тупых вопросов, не только новичков, от банального нежелания 20 минут почитать справку.

aden

  • Оплот сообщества
  • ****
  • Posts: 363
    • View Profile
Re: Написание скрипта с нуля
« Reply #4 on: April 07, 2014, 08:24:24 AM »
90% тупых вопросов, не только новичков, от банального нежелания 20 минут почитать справку.
и нежелания включать мозг чтобы осознать какой именно функционал необходим в скрипте.

правильно сформулированый вопрос содержит половину ответа на него.

Laa911

  • Освоившийся
  • **
  • Posts: 61
    • View Profile
Re: Написание скрипта с нуля
« Reply #5 on: April 10, 2014, 02:29:49 AM »
Функция же выполняет
1. проверку
2. найдена картика - клик
3. не найдена ищем дальше

Вот пытаюсь сделать клик в хитрых добавлялках в Гугл кругаз

1. ищем слово Добавить
2. кликаем
3. всплывает окно.
4. и второй раз не кликаем...

может тупой, но как правильно организовать цикл? :-(
Очень нужна помощь человека с головой -)

:-((((

LCLICK(97,694)  // 15066597

WAIT(1)
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // ??????? ?????????? ?????
WAITMS(50)
 
KEYSTRING("Добавить", 20) // ?????? ????? ??? ??????
WAITMS(500)
 
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3315455) // ???? ????
   LCLICK($_return1+2, $_return2+2) // ??????? ??
   WAITMS(100)
 
KEYDOWN (#CTRL) // Ctrl+F
WAITMS (60)
KEYDOWN (#F)
WAITMS (60)
KEYUP (#F)
KEYUP (#CTRL)
WAITMS(50)
KEYPRESS(#DELETE) // ??????? ?????????? ?????
WAITMS(50)

 
KEYSTRING("Друзья", 20)
WAITMS(500)
 
GETSCREEN
IF_PIXEL_IN(0,0, $_xmax,$_ymax, 3315455) // ???? ????
   LCLICK($_return1+2, $_return2+2) // ??????? ??
   WAITMS(100)
END_IF

WAIT(5)

Zets

  • Освоившийся
  • **
  • Posts: 66
    • View Profile
    • vk.com
Re: Написание скрипта с нуля
« Reply #6 on: April 10, 2014, 11:56:57 AM »
Функция же выполняет
Как я понимаю, топик создан с целью сбора рекомендаций по созданию скриптов для новичков.
Для решения конкретной задачи создайте отдельную тему.

Laa911

  • Освоившийся
  • **
  • Posts: 61
    • View Profile
Re: Написание скрипта с нуля
« Reply #7 on: April 10, 2014, 01:17:02 PM »
я и привел пример скрипта для создания примера, на конкретном примере.
что то не может осилить мозг скриптовые конструкции :(((