Sreg Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 Есть тут кто разбирается в написании скриптов? Ссылка на комментарий Поделиться на другие сайты Поделиться
Medniy Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 python ? Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 Конкретизируйте, господа) Скрипты - понятие растяжимое. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 Я на пилоте пишу скрипт, и очередной раз забываю какой скрипт, что и как работает, а справочник мне не помогает уже, там и четверти объяснений нет по скрипту....Вот такой скрипт вам знаком?left 918, 508 wait 1sleft 636, 419 wait 4sif 915, 123 16777215 wait 1s left 915, 529left 915, 529left 915, 529left 915, 529left 915, 529goto 16 end_ifelse end_ifleft 850, 380 :16if 486, 494 2529528 left 476, 516 wait 2sleft 476, 516 elseend_ifwait 2s Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 одно не ясно - что делает left и для чего 2 числа, отделенные запятой. Координаты? Кодовое имя? Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 left это нажатие левой кнопкой, и координаты, куда же без них, у программы же нет глаз Я вроде написал скрипт, коряво немного работает, но работает Вот скрипт который я делал год назад или больше, я сейчас глянул на него. и офигел, как я такое мог написать, сижу сейчас и думаю, как же он работает? )) if 1258, 438 65280kleft 1244, 524 [abs]wait 500 if_not #time > timer goto 8 end_ifelse:8 set #time timer + 15000send {F9}wait 500end_ifЯ его очень долго писал, были много ошибок, но в конце концов работает исправно, я им ботил в онлайн игре До сих пор не понимаю, что такое "else", "set" и как они работают... и еще много других функции у них есть, для меня дальше вообще темный лес.... Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 (изменено) про "иначе" я бы не подумал...Но у меня вставал такой вопрос, что написать, чтоб скрипт ждал, но не вечно, а пока не появится картинка?я написал просто if координаты и картинка, но скрипт пропустил if и перешел сразу в end_if, не дождавшись картинки, чтоб блок скрипта сработал... хотелось бы что то вроде учебного пособия, с координатами и кликами разными это я умею, а вот если возникают разные условия, то как писать скрипты, допустим такСтарт:1. проснулся, Да-Нет, если нет, то скрипт заного, если да то встаем.2. встал.3. идти в туалет, Да-Нет, если да, то работает отдельный скрипт про туалет, если нет, то 3й скрипт, про завтрак, и т.д. И вариантов могут быть разные и много.... Изменено 15 августа, 2015 пользователем Sreg Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 про "иначе" я бы не подумал... Но у меня вставал такой вопрос, что написать, чтоб скрипт ждал, но не вечно, а пока не появится картинка? я написал просто if координаты и картинка, но скрипт пропустил if и перешел сразу в end_if, не дождавшись картинки, чтоб блок скрипта сработал... немного говнокод, но вариант должен работать. :7 if картинка_появилась #я хз как на этом языке это указать do_something #тут ты пишешь что нужно сделать при смене картинки end_if else wait 2s #ждем 2 секунды goto 7 #возвращаемся к якорю-метке end_if будет работать в вечном цикле, пока не поменяется картинка Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 do_something такого скрипта я никогда не встречал, но попробую, и что он делает? и вот значек # он что то делает? очень часто его вижу в справочнике...а есть еще While знгаеш как он работает в отличии от if? Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 хотелось бы что то вроде учебного пособия, с координатами и кликами разными это я умею, а вот если возникают разные условия, то как писать скриптыконкретный пример, который ты привел, могу и попроб. описать, но для каждой ситуации нужно действовать по-разному) do_something такого скрипта я никогда не встречал, но попробую, и что он делает? и вот значек # он что то делает? очень часто его вижу в справочнике...а есть еще While знгаеш как он работает в отличии от if?do_something - это тоже самое, что если бы я написал дабуди_дабудай, т.е. нихрена не делает, но зная английский, ты поймешь, что это "сделать что-нибудь". Т.е. эту строку ты должен стереть, и вместо нее написать СВОЙ КОД, который будет исполняться, когда картинка сменилась. # я пишу для того, чтобы отделить свой комментарий от кода, на деле он также нихрена не делает, и скорее всего вызовет кучу ошибок. Хотя, как я понял, в твоем ЯП решетка - символ переменной. While работает так While Котик_мокрыйСушить феном 2секунды или While ты_голодныйсъесть_бургервыпить_колы т.е. будет выполняться до тех пор, пока условие после while - верно, истинно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 Вот как я думаю, но скрипт не работает как мне нужно...:16if 477, 500 2529528 в этом координате такой цвет, если он есть, тоleft 477, 500 нажимает левойend_if конец блокаelse срабатывает если нету цвета? но не срабытывает, goto 16 и соотвественно пропускает гото 16 end_if конец. Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 ну, честно - хз отчего не работает) Не экстрасенс) Поэксперементируй, поищи ошибку. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 Я поставил вместо else, if_not, и оно заработало, и тут сного вопрос, какой смысл тогда в "else"? Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 15 августа, 2015 Поделиться Опубликовано 15 августа, 2015 фиг его знает, я даже не понимаю, что это за язык) Попробуй найти по нему документацию, там все должно быть развернуто описано.Возможно else тут не работает в принципе. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 15 августа, 2015 Автор Поделиться Опубликовано 15 августа, 2015 да я читал документацию, там больше половина мне не понять, и и еще больше половины нету вообще того, что умеет программа.... Вот как она есть Условные обозначения:<> - обязательный параметр[] - необязательный параметр СИНТАКСИС=========== В одной строке может быть только одна команда. Первое слово в строке - команда, остальные слова - параметры. Если первое слово в строке не команда - строка считается комментарием. Слова состоят из символов 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 20set $s test string Также вы можете использовать массивы. Символ процента '%' считается идентификатором массива. Индексы массива указываются после имени в квадратных скобках '[' и ']'. Размер массива равен максимальному использованному индексу. Присваивание значений осуществляется каждому элементу индивидуально командой set. Элементы массива могут содержать как строки, так и числа. Допустимо ссылаться на массивы параллельных скриптов, указав после имени массива, через точку, номер скрипта. При указании только первого индекса в двумерном массиве, результатом будет строка из всех элементов второй размерности массива, соответствующих указанному индексу, и разделенных пробелом.Например:set %ar [4] тест // одномерный массив на 4 элементаset %arr [50 1] 544set %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 1set $s2 2set $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 7say 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_messagesay test passedend_proccall saying_messageend_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 Ссылка на комментарий Поделиться на другие сайты Поделиться
CSH Опубликовано 16 августа, 2015 Поделиться Опубликовано 16 августа, 2015 очень подробная и понятная документация, какие проблемы? Судя по ней, у нас else не работал, т.к. мы до этого написали end_if. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sreg Опубликовано 16 августа, 2015 Автор Поделиться Опубликовано 16 августа, 2015 понятно, но если будут еще какие нить сложности то вернусть с вопросами Я еще давно, хотел написать скрипт, чтоб он определял капчу в виде простого уравнения, и решал её, я так и не осилил как такой скрипт написать Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти