1 (изменено: Murka, 2018-08-27 00:03:54)

Тема: AHK: Рандомные клики по координатам!

Как сделать чтобы при нажатии Numpad3 скрипт кликнул в один из этих координатов рандомно ?
x856, y426
x893, y425
x930, y427
x967, y427
x1004, y423
x1041, y426


Я пытался сделать что то сам, но это бред

   #SingleInstance, Force
Numpad3::
Values = 856 426|893 425|930 427|967 427|1004 423|1041 426|
StringSplit, ValueArray, Values, |
Random, rand, 1, 6
Sleep, 50
MouseGetPos, %x%, %y%
return

2

Re: AHK: Рандомные клики по координатам!

Я прочитал, мне это не помогло.

3

Re: AHK: Рандомные клики по координатам!

Увы, не судьба.

4

Re: AHK: Рандомные клики по координатам!

var=
(
856, 426
893, 425
930, 427
967, 427
1004, 423
1041, 426
)
Sort, var, Random
Click % var

5

Re: AHK: Рандомные клики по координатам!

Не, так не работает:

CoordMode, Mouse
var=
(
856, 426
893, 425
930, 427
967, 427
1004, 423
1041, 426
)
Return

$!x::
Sort, var, Random
Click % var
MouseGetPos, X, Y
ToolTip % X . ", " . Y . "`n`n" . var

https://i.imgur.com/5uWZb3G.png

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Рандомные клики по координатам!

teadrinker
У меня работает, спасибо большое!

7

Re: AHK: Рандомные клики по координатам!

Ну, работает, так работает, наверно я чего-то не понял.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: Рандомные клики по координатам!

Да, действительно, "y" берет по последней запятой.
Murka, замените:

Click % var

на:

Click % substr(var, 1, instr(var, "`n") -1) 

9

Re: AHK: Рандомные клики по координатам!

Злые вы...
Человек только х(к)одить учится!
Stealzy хотя бы пояснил, где ему науку искать, чтобы как все нормальные люди научился уметь х(к)од свой правильно организовывать, а вы - следом его в землю закопали, как мёртвого, а дальше выкопали, вручили костыли и по миру пустили, мол - х(к)одить можно, ступай... Нет, чтобы экскурс по "Серому форуму" провести, да показать, где тут примеры годные имеются, с демонстрациями и прочими очевидными ништяками!

Хотя, со стороны, забавно выглядит. Так прямо и рисует воображение, как на следующий вопрос организуемый в циклах, например, вы ему подарите "GoTo"!

10

Re: AHK: Рандомные клики по координатам!

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

11

Re: AHK: Рандомные клики по координатам!

Считаю, что рассматривая объект, суть которого неизвестна, нет ни какой разницы в том, какие знания нужны, чтобы его постичь если последнее - цель. В этом кроется отсутствие приоритетов над любым из предполагаемых способов, которые станут актуальными лишь тогда, когда вы овладеете хотя бы некоторыми из них. Как например, Вы, сейчас и рассматривая их с этим багажом мудрости, Вы предполагаете - ЧТО было бы лучше. Но со стороны наблюдателя, внимающего советам, суть этого одинаково неизвестна, как неизвестно Вам, место, с которого он смотрит на свою задачу и горизонт, до которого простираются его амбиции. В этой связи и с тем, что самое простое, что приходит на ум, не всегда сможет быть объективным, равно как и сложное, втрое - выше задирает планку, а раз "Всё, что меня не убивает - делает сильнее!" (с), это предоставляет шанс значительно больше охватить необъятное.

Да и учитывая, что это справочный материал, его изучение обещает быть чрезвычайно интересным занятием, а открытия - захватывающими! Иначе, зачем вообще изучать подобное? Просто так, без получения удовольствия, решать задачи программированием - извращение. Не находите?

12

Re: AHK: Рандомные клики по координатам!

KusochekDobra пишет:

Вы предполагаете - ЧТО было бы лучше

Не лучше, а проще (исходя из того, что прочтение про массивы топикстартеру не помогло).

13

Re: AHK: Рандомные клики по координатам!

При всём уважении: проще - не есть ли лучше? И если нет, значит - хуже?
И, Вы описали решение. Простота использования рабочего примера, довольно спорна, если вся её сложность заключается в том, чтобы этот пример запустить. Скажем, если бы stealzy, не указал на справку, а потрудился изобразить это на примере массивов, использование этого примера не оказалось бы сложнее Вашего. Но если бы Вы следом указали ему на другой справочный материал, механику которого воспроизвели - это могло бы послужить соревнованию контекстов, раз ни одно, ни другое, ТС, не известно.

14 (изменено: powercat, 2018-08-29 02:40:01)

Re: AHK: Рандомные клики по координатам!

x := ["856", "893", "930", "967", "1004", "1041"]
y := ["426", "425", "427", "427", "423" ,  "426"]

Numpad3::
Random, value, 1, 6
MouseClick, Left, x[value], y[value], 1, 0

15

Re: AHK: Рандомные клики по координатам!

KusochekDobra пишет:

проще - не есть ли лучше? И если нет, значит - хуже?

Думаю, это дело индивидуальное.
Например, простая запись может быть хуже в плане понимания или быстродействия или удобства пользования.
Насчёт остального согласен с вами, можно было дать ссылку на sort, а там уже автор вопроса сам бы мог попытаться додумать.

16 (изменено: stealzy, 2018-08-29 22:02:52)

Re: AHK: Рандомные клики по координатам!

powercat тогда уж так:

a := [[856, 426], [893, 425], [930, 427], [967, 427], [1004, 423], [1041, 426]]
Random r, 1, 6
MouseClick,, a[r, 1], a[r, 2]

Хотя если данные часто меняются и их много, то хардкодить может быть неудобно:

values := "856 426|893 425|930 427|967 427|1004 423|1041 426"
a := StrSplit(values, "|", "`n`r")
for k, v in a  ; "x y"
	a[k] := StrSplit(v, " ") ; [x, y]
Random r, 1, k
MouseClick,, a[r, 1], a[r, 2]

17

Re: AHK: Рандомные клики по координатам!

Спасибо всем! На этих примерах я могу дальше сам!

18

Re: AHK: Рандомные клики по координатам!

Для всеядности лучше в последнем примере заменить:

Random r, 1, 6

на

Random r, 1, k