Author Topic: Изменение команд движения мыши  (Read 41046 times)

0 Members and 2 Guests are viewing this topic.

Johnny

  • Создатель
  • Герой форума
  • *
  • Posts: 593
    • View Profile
Re: Изменение команд движения мыши
« Reply #15 on: October 27, 2012, 11:33:53 AM »
господе ты боже мой. ну нет пока пользовательских функций.
можешь сделать просто сабами и переменными. прикинуться что это типа стек.
вводишь в каждую подпрограмму переменные типа $par1, $par2 и перед вызовом gosub просто присваиваешь им значения

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #16 on: October 27, 2012, 12:03:40 PM »
1. Почти во всех играх, там нажатие не успевает зафиксироваться. Обычно там используются не слушатели устройств ввода, 
2. Внезапно хорошая идея. Хотя были бы пользовательские функции, это можно было бы запилить инклудами.
1. По  опыту ,  смею Вас заверить,  что эта примочка встречается сегодня не только в играх.
Думаю, с той стороны идет негласное противодействие кликерам.  Вероятно такое противодействие  некорректно с точки зрения морали стороны держателей сайтов онлайн-игр.
 Если они имеют право  устраивать игрокам геморрой, то  игроки имеют полное моральное  право  пользоваться таблетками от геморроя.
2. Если её можно реализовать,  то в цепочке простой вейт  нужно  бы заменить на рандомный.
 У меня везде как-то так
...
LCLICK(1272,740)
WAITMS(RND(150,250))
...
Опять же ,  судя  по  личному опыту, эта мера  приводит к более высокой работоспособности скрипта в целом.
« Last Edit: October 27, 2012, 12:21:19 PM by ЦИТРИН »
Бабочки полёт будит тихую поляну в солнечном свету...

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Изменение команд движения мыши
« Reply #17 on: October 27, 2012, 12:18:20 PM »
господе ты боже мой. ну нет пока пользовательских функций.
можешь сделать просто сабами и переменными. прикинуться что это типа стек.
вводишь в каждую подпрограмму переменные типа $par1, $par2 и перед вызовом gosub просто присваиваешь им значения
Это все неудобные костыли, все жаждут полноценных функций :D
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #18 on: October 27, 2012, 12:25:46 PM »
неудобные костыли, все жаждут полноценных функций :D
Может пока то да сё...
Вот, если  Вас не затруднит,  напишите саб , допустим  с названием не   $par1,  а  как- то по человечески $superklik что-ли.
И!
Обязательно на простом примере сопроводите его 100%  рабочим скиптом.
Бабочки полёт будит тихую поляну в солнечном свету...

Сергей

  • Активный участник
  • ***
  • Posts: 159
    • View Profile
Re: Изменение команд движения мыши
« Reply #19 on: October 27, 2012, 12:41:08 PM »
Ну элементарно же:
Code: [Select]
$SLC_X = 0
$SLC_Y = 0
$SLC_W = 60
SUB(SUPERLCLICK)
   MOVE($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LDOWN($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LUP($SLC_X, $SLC_Y) 
END_SUB


$SLC_X = 639//Координата x
$SLC_Y = 639//Координата y
GOSUB(SUPERLCLICK)//Вызываем подпрограмму

HALT
Отсутствую.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #20 on: October 27, 2012, 01:06:06 PM »
Ну элементарно же:
Извините за настойчивость , но получилось ещё более непонятно.
Где брать  этот самый суперклик?
В какое место писать подпрограмму?   Как она должна выглядеть?
И вообще.
 Что такое подпрограмма  на  языке чайника?
Тем меньше будет вопросов у нубов,  чем больше будет  коментов в 100% работающем и цельном  скрипте.
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Изменение команд движения мыши
« Reply #21 on: October 27, 2012, 01:26:51 PM »
Где брать  этот самый суперклик?
В какое место писать подпрограмму?   Как она должна выглядеть?
И вообще.
 Что такое подпрограмма  на  языке чайника?
Тем меньше будет вопросов у нубов,  чем больше будет  коментов в 100% работающем и цельном  скрипте.

Вот 3 клика с разными параметрами.
Для чего после клика нужно убирать курсор? Для того чтобы он не мешался на экране когда делается GETSCREEN


Code: [Select]
$SLC_X = 100//Координата x
$SLC_Y = 200//Координата y
$SLC_W = 50 // Задержка в 50 мс
GOSUB(SUPERLCLICK)

$SLC_X = 300//Координата x
$SLC_Y = 456//Координата y
$SLC_W = 100 // Задержка в 100 мс
GOSUB(SUPERLCLICK)

$SLC_X = 500//Координата x
$SLC_Y = 600//Координата y
$SLC_W = 300 // Задержка в 300 мс
GOSUB(SUPERLCLICK)



// где то в конце скрипта
SUB(SUPERLCLICK) // Клик
   MOVE($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LDOWN($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LUP($SLC_X, $SLC_Y) 
   MOVE(1, 1) // Убираем курсор
END_SUB

HALT

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #22 on: October 27, 2012, 02:06:06 PM »
Где брать  этот самый суперклик?
В какое место писать подпрограмму?   Как она должна выглядеть?
И вообще.
 Что такое подпрограмма  на  языке чайника?
Тем меньше будет вопросов у нубов,  чем больше будет  коментов в 100% работающем и цельном  скрипте.

Вот 3 клика с разными параметрами.
 
Хмм.. отличное решение.
Но вопрос так и не снят.
Куда эту выдержку   ставить в реальном 100% работающем скрипте чтобы уйти от простого клика к супер_клику?
Дайте хотя бы одни простенький ( рабочий ) пример  с  простым блокнотиком,  чтоб  нуб мог сделать элементарный  копипаст в 4.7 и  тихо прибалдеть.
 п.с.
И коменты по строкам опять пропущены после
" // где то в конце скрипта
SUB(SUPERLCLICK) "
Пардон , но такие примеры  скорее вгоняют  в ступор, чем  объясняют.
( если речь идет о широкой аудитории, а не о корифеях разумеется )
Бабочки полёт будит тихую поляну в солнечном свету...

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Изменение команд движения мыши
« Reply #23 on: October 27, 2012, 02:57:36 PM »
Цитрину, нашему  :)
1.
// где то в конце скрипта
SUB(SUPERLCLICK) // Клик
   MOVE($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LDOWN($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LUP($SLC_X, $SLC_Y) 
   MOVE(1, 1) // Убираем курсор
END_SUB
вот это поставь в самый конец скрипта. и сохранись )
Это "функция" или "команда", к которой ты будешь обращаться так же как и к обычному LCLICK.

2. Теперь пример.
Тебе нужно кликнуть по координатам. Обычно это так:

LCLICK(138,410)

Предположим ты хочешь сделать суперлклик.
Тогда пишешь:

$SLC_X = 138//Координата x
$SLC_Y = 410//Координата y
$SLC_W = 1000 // Задержка в 1000 мс
GOSUB(SUPERLCLICK)

Да! Эти 4 строки тебе надо писать каждый раз когда ты хочешь сделать супер клик вместо обычного!

3. Запусти пример Oraven и внимательно смотри.

Что нибудь прояснилось, Цитрин?
добрый смех равняет всех

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #24 on: October 27, 2012, 06:30:33 PM »

1. Цитрину, нашему  :)
2.  Да! Эти 4 строки тебе надо писать каждый раз когда ты хочешь сделать супер клик вместо обычного!
1. Я Вас умоляю)
 Только без эмоций.
 Вопросы такого типа задаю не от себя,  а от виртуального и тупого чайника.
 Речь   шла о том, что корифеи пишут прекрасные скрипты, но скупятся на комментарии, полагая что нечто само собой разумеется.
 Вот эти три последних слова  обычно и губят отличные решения.
2.  Ожидание рандомного типа сделать можно?
Например так?
Code: [Select]
SUB(SUPERLCLICK) // Клик
   MOVE($SLC_X, $SLC_Y)
   WAITMS(RND( $SLC_W, $SLC_Z) )
   LDOWN($SLC_X, $SLC_Y)
  WAITMS(RND( $SLC_W, $SLC_Z) )
   LUP($SLC_X, $SLC_Y) 
   MOVE(1, 1) // Убираем курсор
END_SUB

 И вот ещё вопрос возник.
Такой мгновенный  мув в далекую точку  MOVE(1, 1) не вызовет ли вопросы о админов игры?
Может как то приблизить процесс к реальному? 
Бабочки полёт будит тихую поляну в солнечном свету...

СлавьЯнИнъ

  • Активный участник
  • ***
  • Posts: 179
    • View Profile
Re: Изменение команд движения мыши
« Reply #25 on: October 27, 2012, 07:45:12 PM »
1. Пойми меня правильно )) Как я тебя сейчас ))

2. ... о пора ехать )
добрый смех равняет всех

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Изменение команд движения мыши
« Reply #26 on: October 27, 2012, 08:24:55 PM »
2.  Ожидание рандомного типа сделать можно?

Вот тебе рандом
Code: [Select]
$SLC_X = 300+RND(-50,50)//Координата x +- 50 пикс
$SLC_Y = 456+RND(-50,50)//Координата y +- 50 пикс
$SLC_W = 100+RND(-50,50) // Задержка от 50 до 150 мс
GOSUB(SUPERLCLICK)

SUB(SUPERLCLICK) // Клик
   MOVE($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LDOWN($SLC_X, $SLC_Y)
   WAITMS($SLC_W)
   LUP($SLC_X, $SLC_Y) 
   MOVE(1, 1) // Убираем курсор
END_SUB

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #27 on: October 27, 2012, 08:51:52 PM »
Code: [Select]
[quote author=Oraven link=topic=8.msg316#msg316 date=1351358695]
Вот тебе рандом
[/quote]
1. Мой вариант рандомного времени  для пауз нерабочий , или неизящен?
2. Нужно понимать так , отрывок из рабочего скрипта  , в котором будет  возможен супер_клик  должен выглядеть  , как написали Вы. И размещать его ( этот  отрывок)  нужно в самом конце тех, или иных скриптов юзеров.
А пользователю останется  в  том  месте  , где нужен супер_клик , поставить 4 простых  строки
так , как советовал СлавьЯнИнъ
 $SLC_X = 138    // Координата допустим если   x =138
$SLC_Y = 410      //  Координата допустим если  y = 410
$SLC_W = 1000   // Задержка  допустим в 1000 мс
GOSUB(SUPERLCLICK)
Бабочки полёт будит тихую поляну в солнечном свету...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Изменение команд движения мыши
« Reply #28 on: October 27, 2012, 09:21:49 PM »
1. Мой вариант рандомного времени  для пауз нерабочий , или неизящен?

В моем случае скрипт имеет гибкие настройки. Рандом нужен не всегда.

ЦИТРИН

  • Супермодератор
  • Оплот сообщества
  • *
  • Posts: 484
  • Марафон опавших листьев, коктейль из дыма и мыслей
    • View Profile
Re: Изменение команд движения мыши
« Reply #29 on: October 28, 2012, 12:03:03 AM »
  Рандом нужен не всегда.
Думаю, что на 3 вопроса неопытным пользователям таки нужно дать вразумительный ответ.
1) Когда нужен , или не нужен колормод ( гетскин)? Описать пару характерных случаев.
2) После каких команд в скрипте  задержку  ставить не имеет смысла , а где она очень желательна?
3) В каком случае  задержка рандомного типа имеет смысл?
 Лично мой опыт показывает,  что рандомная задержка мышковых и клавишных  команд ( от 200 до 300 мс) придает скрипту гораздо большую устойчивость  в работе.
 Поправьте меня , если я ошибаюсь.
Бабочки полёт будит тихую поляну в солнечном свету...