Перейти к содержанию

Рекомендуемые сообщения

Я на пилоте пишу скрипт, и очередной раз забываю какой скрипт, что и как работает, а справочник мне не помогает уже, там и четверти объяснений нет по скрипту....

Вот такой скрипт вам знаком?

left 918, 508 
wait 1s
left 636, 419 
wait 4s
if 915, 123 16777215 
wait 1s 
left 915, 529
left 915, 529
left 915, 529
left 915, 529
left 915, 529
goto 16 
end_if
else 
end_if
left 850, 380 
:16
if 486, 494 2529528 
left 476, 516 
wait 2s
left 476, 516 
else
end_if
wait 2s
Ссылка на комментарий
Поделиться на другие сайты

left это нажатие левой кнопкой, и координаты, куда же без них, у программы же нет глаз :)

Я вроде написал скрипт, коряво немного работает, но работает :)

Вот скрипт который я делал год назад или больше, я сейчас глянул на него. и офигел, как я такое мог написать, сижу сейчас и думаю, как же он работает? :)))

 

if 1258, 438 65280
kleft 1244, 524 [abs]
wait 500 
if_not #time > timer     
     goto 8
     end_if
else
:8
 set #time timer + 15000
send {F9}
wait 500
end_if
Я его очень долго писал, были много ошибок, но в конце концов работает исправно, я им ботил в онлайн игре :D
 
До сих пор не понимаю, что такое "else", "set" и как они работают... и еще много других функции у них есть, для меня дальше вообще темный лес....
Ссылка на комментарий
Поделиться на другие сайты

left 918, 508 #нажатие на кнопку left с координатами.

wait 1s #ждем 1 секунду

left 636, 419 #нажатие на кнопку left с координатами.

wait 4s #ждем 3 секунды

if 915, 123 16777215 #если в координатах что-то, то

wait 1s #ждем 1 секунду

left 915, 529 #нажатие на кнопку left с координатами.

left 915, 529 #нажатие на кнопку left с координатами.

left 915, 529 #нажатие на кнопку left с координатами.

left 915, 529 #нажатие на кнопку left с координатами.

left 915, 529 #нажатие на кнопку left с координатами.

goto 16 #переходим на строчку, которая начинается с ":16"

end_if #конец блока "если"

else #начала блока "иначе", т.е. если условие блока "если", выше, не сработало, то это работает

end_if #но блок пуст, значит ничего не поисходит

left 850, 380 #нажатие на кнопку left с координатами.

:16 #якорь-метка для оператора "гото"

if 486, 494 2529528 #если в координатах что-то, то

left 476, 516 #нажатие на кнопку left с координатами.

wait 2s #ждем 2 секунды

left 476, 516 #нажатие на кнопку left с координатами.

else #начала блока "иначе", т.е. если условие блока "если", выше, не сработало, то это работает

end_if #но блок пуст, значит ничего не поисходит

wait 2s #ждем 2 секунды

----------------------

if 1258, 438 65280 #если в координатах что-то, то

kleft 1244, 524 [abs] #какая-то команда, координаты, и функция округления

wait 500 #ждем пол секунды

if_not #time > timer #если какое-то #время меньше или равно таймеру

goto 8 #переходим на строчку, которая начинается с ":16"

end_if #конец блока "если"

else #начала блока "иначе", т.е. если условие блока "если", выше, не сработало, то это работает

:8 #якорь-метка для оператора "гото"

set #time timer + 15000 #присвоение, как я понял, некоей переменной #таймер числа, равное числу таймера и + 15000

send {F9} #нажатие клавиши Ф9

wait 500 #ждем полсекунды.

end_if

Ссылка на комментарий
Поделиться на другие сайты

про "иначе" я бы не подумал...

Но у меня вставал такой вопрос, 

что написать, чтоб скрипт ждал, но не вечно, а пока не появится картинка?

я написал просто if координаты и картинка, но скрипт пропустил if и перешел сразу в end_if, не дождавшись картинки, чтоб блок скрипта сработал... 

 

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

Старт:

1. проснулся, Да-Нет, если нет, то скрипт заного, если да то встаем.

2. встал.

3. идти в туалет, Да-Нет, если да, то работает отдельный скрипт про туалет, если нет, то 3й скрипт, про завтрак, и т.д. 

И вариантов могут быть разные и много....

Изменено пользователем Sreg
Ссылка на комментарий
Поделиться на другие сайты

про "иначе" я бы не подумал...

Но у меня вставал такой вопрос, 

что написать, чтоб скрипт ждал, но не вечно, а пока не появится картинка?

я написал просто if координаты и картинка, но скрипт пропустил if и перешел сразу в end_if, не дождавшись картинки, чтоб блок скрипта сработал...

немного говнокод, но вариант должен работать.

 

:7

if картинка_появилась #я хз как на этом языке это указать

do_something #тут ты пишешь что нужно сделать при смене картинки

end_if

else

wait 2s #ждем 2 секунды

goto 7 #возвращаемся к якорю-метке

end_if

 

будет работать в вечном цикле, пока не поменяется картинка

Ссылка на комментарий
Поделиться на другие сайты

do_something такого скрипта я никогда не встречал, но попробую, и что он делает? :) 

и вот значек # он что то делает? очень часто его вижу в справочнике...

а есть еще While знгаеш как он работает в отличии от if?

Ссылка на комментарий
Поделиться на другие сайты

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

конкретный пример, который ты привел, могу и попроб. описать, но для каждой ситуации нужно действовать по-разному)

 

do_something такого скрипта я никогда не встречал, но попробую, и что он делает? :) 

и вот значек # он что то делает? очень часто его вижу в справочнике...

а есть еще While знгаеш как он работает в отличии от if?

do_something - это тоже самое, что если бы я написал дабуди_дабудай, т.е. нихрена не делает, но зная английский, ты поймешь, что это "сделать что-нибудь". Т.е. эту строку ты должен стереть, и вместо нее написать СВОЙ КОД, который будет исполняться, когда картинка сменилась.

 

# я пишу для того, чтобы отделить свой комментарий от кода, на деле он также нихрена не делает, и скорее всего вызовет кучу ошибок. Хотя, как я понял, в твоем ЯП решетка - символ переменной.

 

While работает так

 

While Котик_мокрый

Сушить феном 2секунды

 

или

 

While ты_голодный

съесть_бургер

выпить_колы

 

т.е. будет выполняться до тех пор, пока условие после while - верно, истинно.

Ссылка на комментарий
Поделиться на другие сайты

Вот как я думаю, но скрипт не работает как мне нужно...

:16

if 477, 500 2529528 в этом координате такой цвет, если он есть, то

left 477, 500                                                               нажимает левой

end_if                                                                         конец блока

else                                                              срабатывает если нету цвета? но не срабытывает, 

goto 16                                                         и соотвественно пропускает гото 16 

end_if                                                            конец.

Ссылка на комментарий
Поделиться на другие сайты

фиг его знает, я даже не понимаю, что это за язык) Попробуй найти по нему документацию, там все должно быть развернуто описано.

Возможно else тут не работает в принципе.

Ссылка на комментарий
Поделиться на другие сайты

да я читал документацию, там больше половина мне не понять, и и еще больше половины нету вообще того, что умеет программа....

 

Вот как она есть :)

Условные обозначения:
<> - обязательный параметр
[] - необязательный параметр
 
 
СИНТАКСИС
===========
 
В одной строке может быть только одна команда. Первое слово в строке - команда, остальные слова - параметры. Если первое слово в строке не команда - строка считается комментарием.
 
Слова состоят из символов 0-9, А-z, А-я.
 
Символы #, $, %, +, -, *, /, >, <, =, :, ., (, ), [, ] являются служебными, остальные разделители.
# признак числовой переменой
$ признак строковой переменной
% признак массива
+, -, *, /, >, <, = знаки операций
. используется в ссылках на переменные и массивы в парралельных скриптах.
() в некоторых командах в них заключают некоторые параметры (хэндлы окон например)
: признак метки
[] используются в массивах
 
Можно писать комментарии после всех параметров. Также таковыми считается все, что идет после двойного слеша '//'. Крайне рекомендуется использовать именно такой метод.
 
Паузы в командах указываются по умолчанию в миллисекундах (1/1000 секунды), но возможно указание времени и явно, в часах, минутах, секундах:
wait 500   // ждать 0.5 секунды
wait 5s    // ждать 5 секунд
wait 1m    // ждать 1 минуту
wait 1h    // ждать 1 час
 
 
Переменные
===========
 
В имени переменной допустимы символы - ['0'..'9','A'..'z','А'..'я'], регистр не учитывается. Максимальная длина имени переменной 255 символов.
 
Переменные могут быть числовыми и строковыми. Синтаксис числовой переменной '#name', где name - имя переменной. Синтаксис строковой переменной '$name', где name - имя переменной.
Например:
set #i 20
set $s test string
 
Также вы можете использовать массивы. Символ процента '%' считается идентификатором массива. Индексы массива указываются после имени в квадратных скобках '[' и ']'. Размер массива равен максимальному использованному индексу. Присваивание значений осуществляется каждому элементу индивидуально командой set. Элементы массива могут содержать как строки, так и числа. Допустимо ссылаться на массивы параллельных скриптов, указав после имени массива, через точку, номер скрипта. При указании только первого индекса в двумерном массиве, результатом будет строка из всех элементов второй размерности массива, соответствующих указанному индексу, и разделенных пробелом.
Например:
set %ar [4] тест // одномерный массив на 4 элемента
set %arr [50 1] 544
set %arr [50 2] 800 // двумерный массив на 50 раз по 2 элемента
set %ar.2 [5] // одномерный массив в параллельном скрипте
left %arr [50] // клик левой кнопкой по координатам 544 800
 
Учтите, что элементы массивов нельзя напрямую использовать в условных операторах:
if charposx <> %arr [50 1]
 
Перед использованием переменной в скрипте вы должны определить ее при помощи команды set. Переменные изменяются только при участии set и for, команда repeat использует значение, не изменяя его.
Например:
set #i #i + 1
 
Синтаксис команды Set:
-----------------------------------------
set $<имя> <значение> или
set #<имя> <знач1> [<зн. оп.> <знач2>]
set %<имя> [элемент] <значение>
между знаком операции и значениями должен быть разделитель. Поддерживаются следующие операции: +, -, *, /, также вы можете использовать скобки для изменения приоритетов выполнения математических операций. При делении результат округляется к меньшему целому.
Например:
set #q ((5+4)/(3+-2)* #e )-(2-(-5+9))*3
 
Со строковыми переменными возможны некоторые математические операции:
set $s1 1
set $s2 2
set $s $s1 + $s2
Результатом будет $s = '1 + 2', т.е. при присваивании чего-либо строковой переменной, ей присваивается все до конца строки, с соответствующими заменами
set #n $s1 + $s2
Результатом будет #n = 3, т.е. если строковая переменная, содержит строковое представление целого числа, то ее можно использовать в качестве числовой переменной.
 
В команде set вы можете использовать генератор случайных чисел: random (number) возвращает число в диапазоне от 0 до number-1
Например:
set #a random (2)
 
При двух или более запущенных скриптах вы можете обращаться к переменным, определенным в других скриптах пилота. Синтаксис указания таких переменных следующий:
#i.2 - обращаемся к переменной #i из скрипта, находящегося в окне номер 2.
 
Переменные в процессе выполнения скрипта могут быть изменены при помощи таблицы отображения переменных. Изменение переменных происходит синхронно с набором символов.
 
 
Зарезервированные переменные
=============================
 
Примечание 1: [W] означает, что вы можете изменять значение этой переменной
в скрипте через команду set, все остальные переменные только для чтения.
 
Примечание 2: Для корректного определения Пилотом большинства параметров чара у вас на экране ультимы должно быть раскрыто окно статов (Character Status).
 
 
hour - текущее время (час)
 
min - текущее время (минуты)
 
sec - текущее время (секунды)
Например:
say current time is hour : min . sec
 
timer - считает количество миллисекунд от начала выполнения скрипта может использоваться практически в любых операторах и сочетаниях.
set timer // устанавливает значение timer в 0
 
name - имя чара
 
str - сила чара
 
int - интеллект чара
 
dex - ловкость чара
 
hits - здоровье чара
 
mana - мана
 
stam - стамина
 
gold - количество денег у чара
 
wght - текущий вес
 
armor - класс армора
 
charposx - позиция чара по горизонтали
 
charposy - позиция чара по вертикали
 
charposz - координата z чара (высота)
 
chardir - направление взгляда чара (куда чар повернут)
0 - чар смотрит на север, каждые 45 градусов поворота чара по часовой стрелке добавляют единичку, т.е. 7 - чар смотрит на северо-запад
 
lastmsg - последнее сообщение сервера
 
lastobjectid - идентификатор последнего использованного объекта [W]
 
lastobjecttype - тип последнего использованного объекта [W]
 
lasttargetid - идентификатор последней цели [W]
 
lasttargetx - координаты последней цели [W]
 
lasttargety -  - " - [W]
 
lasttargetz -  - " - [W]
 
lasttargetkind - класс последней цели (1 - предмет; 2 - земля; 3 - статика или вода) (т.е. если вам нужно лопатой/киркой кликнуть на поверхность пещеры в заданные координаты, то необходимо указать '3'; если необходимо кликнуть через ласт таргет на предмет, то необходимо указать '1' и 'Id' предмета; ловя рыбку указываем координаты точки и класс '2'). [W]
 
lastliftedid - идентификатор вещи, которая последней была тронута с места (передвинута, побывала в 'руке'). [W]
 
lastskill - номер последнего скила который был использован через меню Skills [W]
 
lastspell - номер последнего заклинания которое было прокастовано через книгу [W]
 
laststatictype - тип последней статичной цели (дерево...) [W]
 
target - вид курсора (0 - рука; 1 - прицел) [W]
 
При двух или более запущенных скриптах вы можете обращаться к переменным, определенным в других скриптах пилота для других чаров, добавив к имени переменной номер скрипта через точку. Например:
set lasttargetid.1 7
say hits.1
 
 
Условные операторы, циклы, переходы
==================================
 
В условных операторах и циклах вы можете использовать следующие операции: >, <, =, <>, а также логические операции (and, or, xor). Приоритетов нет, обрабатывается последовательно.
Например:
if hour = 23 and min = 45 or #count = 100
 
Для изменения приоритетов используйте круглые скобки:
while (#a > 1 and #a < 3) or ((#a = 1 and 130, 9 7295) or #a = 5)
 
В условных операторах вы можете использовать генератор случайных чисел: random (number) возвращает число в диапазоне от 0 до number-1
Например:
while (#a = #b) or (random (5) > 3)
 
Для прерывания действия операторов while, for и repeat вы можете использовать команду Break. Синтаксис:
Break [уровень]
Если уровень больше 1, то прерывается заданное кол-во родительских циклов.
 
Оператор Continue переводит исполнение цикла на следующий шаг. Может быть использован в циклах repeat, for, while.
 
При использовании последнего сообщения от сервера в условных операторах, существует некоторое правило синтаксиса:
if lastmsg текст последнего сообщения или его часть
или
if lastmsg = $a [or lastmsg = $b ...]
Т.е. если в условии напрямую указан текст сообщения, то не должно быть больше ничего, включая знаки каких-либо операций.
 
 
Оператор IF
--------------------
Синтаксис:
if <условие>
...
end_if
 
или
 
if <условие>
...
else
...
end_if
 
или
 
if_not <условие>
...
end_if
 
или
 
if_not <условие>
...
else
...
end_if
 
Возможны три варианта условий:
 
1) Проверка какой-то переменной, синтаксис:
if <значение> <знак операции> <значение>
Примечание: между знаком операции и значениями должен быть разделитель.
Например:
if hits < 45
 
2) Проверка последнего сообщения от сервера:
If lastmsg <последнее сообщение>
если в последнем сообщении от сервера есть указанная строка
Например:
if lastmsg too heavy
 
3) Проверка цвета в определенных координатах:
if <коорд> <цвет> [цвет2]
Если цвет в точке <коорд> равен <цвет>
Примечание: если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2. Учтите, что проверка цвета в определенных координатах корректно работает только при развернутом окне ультимы.
 
 
Оператор WHILE
----------------------------
Синтакис:
While <условие>
...
end_while
 
или
 
While_not <условие>
...
end_while
 
Возможны три варианта условий:
 
1) Проверка какой-то переменной, синтаксис:
While <значение> <знак операции> <значение>
Примечание: между знаком операции и значениями должен быть разделитель.
Например:
While hits > 45
 
2) Проверка последнего сообщения от сервера:
While lastmsg <последнее сообщение>
делать пока в последнем сообщении от сервера есть указанная строка
Например:
while lastmsg too heavy
 
3) Проверка цвета в определенных координатах:
While <коорд> <цвет> [цвет2]
Пока цвет в точке <коорд> равен <цвет>
Примечание: если задан цвет2, то цвет точки проверяется на принадлежность диапазону от цвет до цвет2
Например:
While 320 240 1489121
 
 
Оператор FOR
------------------------
 
Синтаксис:
For #<имя> <начало> <конец> [шаг]
...
End_for
Цикл, с инкрементом переменной. Если переменная #<имя> существовала, то она заменяется, иначе добавляется. После завершения цикла переменная равна <конец>. Если шаг не указан, он равен 1.
Например:
For #i 0 10 2
 
Учтите, что если вы задаете граничные условия цикла через переменные, пилот считывает значения этих переменных при входе в цикл и больше значения этих переменных не проверяет. Поэтому изменение границ цикла внутри цикла невозможно.
 
 
Оператор REPEAT
-------------------------------
 
Повтор действий указанное количество раз
Синтаксис:
Repeat <число>
...
End_Repeat
 
 
Оператор GOTO
---------------------------
 
Переход на указанную метку
Синтаксис:
Goto <метка>
 
Метка должна быть указана в скрипте в следующем синтаксисе:
:<метка>
 
Например:
Goto end
:end
 
 
Вызов подпрограмм
-----------------------------------
 
Синтаксис вызова подпрограммы:
gosub <метка>
 
Подпрограмма начинается с
:<метка>
и заканчивается
return
 
Подпрограммы рекомендуется располагать в конце скрипта и перед ними поставить либо end_script, либо goto на начало скрипта.
 
 
Вызов процедуры
------------------------------
 
Синтаксис вызова процедуры:
call <имя>
Процедура с указанным именем ищется сначала в текущем скрипте, а затем, если не найдена, в "файле процедур" - скрипт с номером 99. Загрузить туда что-либо можно с помощью соответствующего пункта меню. Поддерживается вложенный вызов процедур.
 
Процедуры можно располагать в любом месте программы. При обнаружении начала процедуры, автоматически ищется ее конец, и выполнение продолжается со следующей строки. Вложенное описание не поддерживается.
 
Процесс выполнения процедуры не отображается, параметры пока не передаются.
 
Процедура начинается с
proc <имя>
и заканчивается
end_proc
 
Например:
proc saying_message
say test passed
end_proc
call saying_message
end_script
 
 
Управления работой скрипта
=========================
 
 
Окончание работы скрипта
----------------------------------------------
 
Скрипт в окне выполняется пошагово, от первой строки к последней, за исключением случаев переходов по условным операторам, циклам, меткам, и подпрограммам. После выполнения последней строки скрипт будет автоматически повторяться сначала.
 
Для прекращения выполнения скрипта используйте команду:
End_Script
Параметров нет.
 
Или команду:
stop_script
без указания каких-либо параметров.
 
 
Паузы
-----------
 
Wait <число> - ждать.
Параметр <число> можно задать в различных единицах измерения:
wait 1  // 1 миллисекунда
wait 1s // 1 секунда
wait 1m // 1 минута
wait 1h // 1 час
 
WaitForTarget [wait time] - ждать "прицела" (в миллисекундах).
Приостанавливает выполнение скрипта, пока курсор в ультиме не примет форму таргета, или пока не истечет интервал времени, указанный в качестве параметра в мс. Значение по умолчанию для 'wait time' составляет 10000 (то есть 10 секунд).
 
pause_script
Команда pause_script без указания параметров приостанавливает выполнение текущего скрипта. Чтобы запустить его вновь, вы должны будете задать команду resume_script В ДРУГОМ СКРИПТЕ c ссылкой на номер текущего (см. следующий подраздел)
 
 
Управление работой других скриптов
================================
 
Вы можете управлять работой других скриптов, запущенных в других окнах ЭТОГО ЖЕ UoPilot-а при помощи нижеследующих команд. При этом в качестве параметра <number> вы указываете номер окна соответствующего скрипта в UoPilot-е.
 
start_script <number>
Если скрипт с таким номером существует, то он будет запущен
 
stop_script [number | all]
Если скрипт с таким номером существует, то он будет остановлен
 
pause_script [number | all]
Если скрипт с таким номером существует, то он будет приостановлен
 
resume_script <number | all>
Если скрипт с таким номером существует, то его выполнение будет продолжено
 
В во всех этих командах, за исключением первой, вместо номера скрипта вы можете задать параметр 'all' - тогда действие данной команды будет распространено на все скрипты, загруженные во все существующие окна UoPilot-а.
 
По поводу использования команд pause_script и stop_script без параметров - смотрите предыдущий подраздел.
 
 
Команды интерфейса и вызова внешних программ
============================================
 
Alarm [файл .wav]
Издает звуковой сигнал, содержащийся в файле [файл .wav]. При ошибке воспроизведения файла (неверный формат), или если параметр [файл .wav] не указан  - воспроизводится стандартный звуковой сигнал, ранее содержащийся в файле msg.wav. Если файл не найден, то команда игнорируется.
Например:
alarm welcome.wav
 
Msg [текст]
На экран выводится окно, содержащее указанный текст, выполнение скрипта при этом приостанавливается до закрытия окна. Окно с текстом выводится поверх всех окон.
 
Flash
Мигнуть в таскбаре. При этом в таскбаре мигает окно Пилота. Если вы хотите, чтобы мигало то окно ультимы, к которому привязан текущий скрипт, укажите команду flash с каким-либо параметром.
Например:
flash что-нибудь
 
Exec <команда> [параметры]
Запустить указанное приложение, передать ему указанные параметры. Для использования в качестве параметров зарезервированных переменных, поставьте перед ними признак переменной '#'.
Обратите внимание, что вы используете знак '#' как для числовых переменных, так и для строковых!
Например:
exec c:\test.exe #name #lastmsg
 
Terminate <заголовок окна>
Завершить указанное приложение. Следует использовать с осторожностью, иначе можно прибить совсем не то, что хотелось.
 
macro_load <имя файла>
Загрузить ранее записанный и сохраненный в файл макрос. Если не указан путь, то ищется в каталоге UoPilot'а.
 
macro_play [число]
Запустить загруженный макрос [число] раз, и дождаться окончания его выполнения. Если [число]=0 - макрос будет выполняться бесконечно, по умолчанию один раз. Остановить\запустить вручную можно стандартными горячими клавишами.
 
 
Команды работы с мышью
=======================
 
Все команды работы с мышью, а также некоторые другие требуют указания координат. Пилот поддерживает два способа указания координат: абсолютные координаты (координаты точки от левого верхнего угла экрана) и относительные координаты (координаты точки от левого верхнего угла экрана Ультимы. Заголовок окна Ультимы не учитывается). Задать в скрипте координаты вы можете, наведя курсор мыши на необходимую точку и нажав комбинацию Ctrl-A. При этом помните:
 
1) Окно UoPilot должно быть активно. То есть расположите окно ультимы под окном пилота, выберите окно пилота, наведите курсор мыши на нужную точку НЕ НАЖИМАЯ НА КНОПКИ МЫШИ и нажмите Ctrl-A.
 
2) В окне пилота должен быть включен один из флажков "Сразу вставлять относительные координаты в скрипт" или "Сразу вставлять абсолютные координаты в скрипт". В противном случае, координаты можно вставить в скрипт вручную, кликнув мышью на кнопке с координатами.
 
3) Если вы указываете в командах абсолютные координаты (нельзя использовать в команде drag) - вам надо после координат указать идентификатора абсолютных координат - ключевое слово "abs", являющееся последним параметром в команде.
Например:
double_left 218, 242 abs
 
На время выполнения команд работы с мышью по абсолютным координатам, происходит захват мыши.
 
Move <коорд>
Перемещает курсор в указанные координаты.
Внимание! Крайне рекомендуется задавать эту команду перед заданием любой из двух нижеследующих команд.
 
Left <коорд>
Щелкнуть левой клавишей мыши 1 раз в указанных координатах
 
Right <коорд>
Щелкнуть правой клавишей мыши 1 раз в указанных координатах
 
Double_Left <коорд>
Щелкнуть левой клавишей мыши 2 раза в указанных координатах
 
Double_Right <коорд>
Щелкнуть правой клавишей мыши 2 раза в указанных координатах
 
left_down <коорд>
Прижимает левую кнопку мыши в указанных координатах
 
left_up <коорд>
Отпускает левую кнопку мыши в указанных координатах
 
right_down <коорд>
Прижимает правую кнопку мыши в указанных координатах
 
right_up <коорд>
Отпускает правую кнопку мыши в указанных координатах
 
 
Прочие команды
==============
 
Send <клавиша [пауза]> | <текст>
"Нажать" клавишу и ждать указанное число миллисекунд. Если параметр не распознан как управляющая клавиша, то он посылается как текст. В последнем случае команда работает аналогично команде say, за исключением завершающего Enter'а.
 
Sendex <список клавиш>
"Нажать" последовательно несколько клавиш. Посылает практически все комбинации клавиш. Клавиши Ctrl, Alt, Shift кодируются символами ^, @ и ~ соответственно. Все функциональные клавиши должны быть заключены в фигурные скобки, например: {Enter}. В одной команде может быть целое предложение из клавиш:
sendex ~closing ~application @{f4}
Имеется следующее свойство: приложение примет только те клавиши (символьные), которые соответствуют установленной в нем раскладке клавиатуры.
Во время выполнения команды, приложение должно быть активно и на него должен быть направлен фокус.
 
Drag <откуда> <куда> [количество]
Перенести из точки с координатами <откуда> в точку с координатами <куда> указанное количество предметов. Координаты <откуда> и <куда> могут быть только относительные. Если не указать количество, то перенесется один некучкующийся предмет (окошко с количеством не всплывает), если указать all, то перенесутся все предметы.
Например:
Drag #x #y 320, 240
 
Say [текст]
Набрать текст и нажать Enter. Например:
say my x: coordx y: coordy and armor: ar
 
Ссылка на комментарий
Поделиться на другие сайты

понятно, но если будут еще какие нить сложности то вернусть с вопросами :)

Я еще давно, хотел написать скрипт, чтоб он определял капчу в виде простого уравнения, и решал её, я так и не осилил как такой скрипт написать :D

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • JericHix
      Исчезли обнаруженные на квартире у Захарченко миллиарды. Его контрагентам удалось избежать ответственности. Напомним: когда проводилось задержание Захарченко, у него обнаружили пакеты с огромной суммой денег – 8,5 млрд.руб. Кроме того, были изъяты объекты недвижимости, а именно – 13 квартир. Также у задерженного отобрали 14 машино-мест, слитки золота и другие предметы роскоши. До сих пор неизвестно, чьи деньги хранились в квартире. Данным вопросом занимается следствие. Однако очевидно, что обнаруженная сумма принадлежала не только Захарченко, но и его коллегам. В бюджет государства было направлено не более 10% от незаконно полученного богатства. Некоторые объекты приняла в пользование Росгвардия. Башкирские связи Известно, что Захарченко тесно общался с Али Узденовым, на которого на тот момент были возложены обязанности вице-президента компании Башнефть. При переводе на счета 120 млрд.руб. он действовал совместно с Эдуардом Гасановым и Владиславом Горкавцевым из башкирской полиции. Данная операция осуществлялась через холдинг «Петон» при содействии ГУЭБиПК МВД. Возможно, именно здесь скрывается ответ на вопрос, с кем делил деньги Захарченко. Увеличение масштабов с новыми покровителями Позже произошел выход за пределы Башкирии. Чтобы продолжить свою деятельность в Москве, требовалась поддержка влиятельных лиц. Ее оказал Данчиков Евгений Александрович, возглавляющий Главное контрольное управление. Он помогал своему окружению решать вопросы, связанные с внутренними проверками. В качестве примера можно привести ситуации с его другом. Вячеслав Малышев неоднократно обращался за помощью. Таким путем генеральный директор компании «Мосотделстрой №1» получил положительный отчет от ведомства Данчикова, решил множество других задач. И это при том, что вся столица была возмущена деятельностью этого застройщика. Казалось бы, скрыть противозаконные действия Малышева невозможно. На деле все нарушения удавалось замять. Это и воровство, и вывод средств из бюджета на счета фирм-однодневок, и другие моменты. Вероятно, именно Малышев порекомендовал обратиться к Данчикову для выхода из Башкирии на Москву. Освоение нового бюджета Связи Малышева и Данчикова в ГУЭБиПК сделали возможным распил государственного бюджета. Только деньги зачислялись на счета застройщика, как сразу же их перенаправляли фирмам-пустышкам. Не смотря на многомиллиардные суды, просрочку всех поставленных сроков строительства, Мосотделстрой продолжал получать все новые и новые контракты от города, в том числе благодаря покровительству со стороны Данчикова и заключениям от его органа. Обновление номинала. Во всей этой схеме был один изъян, ответственность за сроки строительства и гигантский расход денег нес лично Малышев, он как генеральный директор должен был светить лицом перед людьми которые ждут квартиры, и его подпись была на всех документа об оплате левых счетов. Со временем не замечать объёмы выведенных денег стало уже нельзя и дабы успокоить бунтующую общественность и погастить протесты людей, ждущих свои квадратные метры от Малышева (Мосотделстрой), пришлось освободить Малышева от занимаемой должности, а также уволить часть башкиров из ГУЭБиПК, лично курирующих эту фирму. Новый покровитель. Прежде, чем снова запускать конвейер по распилу застройщика, Данчикову с башкирами нужно было заручится дополнительной поддержкой на равне с самим Данчиковым. Кто может закрывать глаза на воровство в строительном секторе Москвы, если не зам Мэра по строительству? Так и подумал Данчиков привлекая к этому конвейеру своего коллегу, заместителя мэра Москвы Андрея Бочкарева. Вероятнее всего у последнего было одно условие - назначение на должность генерального директора своего подчиненного Чучина А.С. Обновленная команда. На Малышева возбудили уголовное дело за растрату, а группа Данчикова с новым участником Бочкаревым и под флагом нового директора Чучина продолжила свою деятельность. Выводить деньги как раньше уже не получалось, большое общественное внимание приковано к этой организации, да и объекты были уже достроены и таких бюджетных дотаций ждать уже не приходилось, но аппетиты только расли. Новый источник дохода. На чем можно зарабатывать деньги с гос. застройщика, если официальный поток перекрыт? Суды! У Мосотделстроя со времен Малышева осталось большое количество активных судов, в которых МОС требовал оплату по выполненным работам, либо судился за право не платить по фиктивным счетам, таких за время распила госбюджета накопилось большое количество. После назначения Чучина, вместо конвейера по распилу включился печатный станок. Мосотделстрой начал выпускать одно соглашение за другим. И каждое соглашение шло в убыток организации. В апреле этого года Чучин подписал соглашение, согласно которому застройщик должен выплатить до 2030 года ежемесячно порядка 300 млн. руб. без выверки объемов работ. Отсутствие выверки свидетельствует о фальсификации документации, Прослеживается вывод бюджетных денежных средств АО «Мосотделстрой №1 по известному сценарию Данчикова, а также обеспечение безбедную жизнь Чучину Александру Сергеевичу. Благодарность за подписание получил Чучин и вся его вышестоящая верхушка с Данчиковым и Бочкаревым во главе, а долг остается висеть на госорганизации. P.s. На момент проведения расследования и сбора документов стало известно об отставке зам. мэра Бочкарева на почве закулисных войн, ведь когда объект интересов и дойная корова вызывает конфликт у заинтересованных сторон, спад должностей у участников — это вопрос времени.
    • LuckyCrazy
    • LuckyCrazy
    • Mayron
    • Mayron
    • Mayron
    • Mayron
      Тратить 12-летний виски на 19-летнюю Вику - плохая идея.
    • Positived
      @Positived  Нашли эти место, даже руда в наличии) Над загадкой еще будем думать, интересно =))
    • Positived
      @Positived  Прочитали историю)) Какой прекрасный кошмар, какой кошмарный прекрас =)) Размотали духов, еще и ресурсы пособирали)) 
    • Mayron
×
×
  • Создать...