|
|
|
Полезные Советы, Практическое применение. Настройка запуска. |
|
|
Zeleax |
3.8.2012, 10:56
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Вопрос: Цитата(JohnyLee @ 3.8.2012, 10:48) Здравствуйте. Мне необходимо средствами UO Pilot реализовать следующий процесс. 1) Я в игре нажимаю клавишу, например f1, пилот запускает скрипт который отправляет в игру нажатия уже трех других клавиш, например f2, f3, f4, и переходит в режим ожидания, пока я снова не нажму f1. Ответ:Пишем скрипт, который жмет всё что нужно. Затем для запуска скрипта назначаем "горячую" клавишу. В конце скрипта не забудьте добавить команду end_script Сообщение отредактировал Zeleax - 3.8.2012, 10:57
--------------------
|
|
|
|
Zeleax |
4.11.2012, 17:47
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Вопрос:Прошу подсказать мне, или разобраться.. Задаю условие Код if_not (x1 y1 color1) and (x2 y2 color2) // условие такого вида не хочет работать правильно bla bla bla end_if Однако если реализовать следующим образом Код if_not (x1 y1 color1) if_not (x2 y2 color2) bla bla bla end_if end_if // то все прекрасно выполняется
Собственно вопрос. Это баг или я что-то неправильно делаю? Ответ:Обобщим ситуацию: т.е. вам нужно, чтобы скрипт проверил цвет в нескольких точках, и если ВО ВСЕХ этих точках цвет НЕ СОВПАДАЕТ с заданным, то выполнить какие-то действия. Действительно, с условием if_not у людей часто возникают некоторые недоразумения. (IMG: style_emoticons/default/smile.gif) Решение простое, хоть и не совсем понятное сразу. Поэтому отвечу и кратко, и развернуто. Нужно делать так: Код if_not (x1 y1 color1) OR (x2 y2 color2) что-то делаем end_if
Почему OR ? Всё довольно просто. Условие if_not срабатывает только в случае if_not ЛОЖЬ(в отличие от оператора if ИСТИНА) Мы имеем следуюшие логические выражения: ЛОЖЬ or ЛОЖЬ = ЛОЖЬЛОЖЬ or ИСТИНА = ИСТИНА ИСТИНА or ЛОЖЬ = ИСТИНА ИСТИНА or ИСТИНА = ИСТИНА ЛОЖЬ and ЛОЖЬ = ЛОЖЬ ЛОЖЬ and ИСТИНА = ЛОЖЬ ИСТИНА and ЛОЖЬ = ЛОЖЬ ИСТИНА and ИСТИНА = ИСТИНА Для нашего же случая условие должно срабатывать (должно быть равно ЛОЖЬ), только если все условия проверок ложны (т.е. во всех точках цвет не совпадает с заданным). А для этого подходит именно логический оператор OR, как и видно выше. Если бы мы использовали оператор AND, то он бы срабатывал, даже если бы в одной из точек цвет совпал с заданным (что нам не подходит). Сообщение отредактировал Zeleax - 5.11.2012, 0:02
--------------------
|
|
|
|
Zeleax |
10.11.2012, 13:33
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
RAM-дискЧасто приходится в скриптах активно использовать работу с файлами на жестком диске компьютера. Например, команда пилота FindImage использует файлы на жестком диске для поиска соответствующих картинок на экране. Или команды для чтения/записи массивов (load_array/save_array). Чтобы зря не гонять винт и для ускорения работы можно в памяти компьютера создать дополнительный виртуальный логический диск, т.н. RAMDisk. И уже на этом диске размещать файлы для вывода результатов работы, картинки и т.п. Вот примеры подобных программ: Dataram RAMDisk (freeware/shareware) ImDisk Virtual Disk Driver (freeware) Primo Ramdisk (VSuite Ramdisk II) (shareware) Сообщение отредактировал Zeleax - 10.11.2012, 13:48
--------------------
|
|
|
|
Zeleax |
25.11.2012, 20:49
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Дополнение Fastest Search к Mozilla FireFox может искать регулярные выражения на текстовой странице браузера и выделять найденный текст. Т.е. текст соответствующий заданному шаблону поиска, а не указанный точно! В сочетании с командами пилота для работы с клавиатурой и буфером обмена это позволит получать почти любой требуемый текст со страницы браузера. Единственное требование- возможность выделения текста на странице, т.е. из флеша достать текст таким образом не получится. После установки дополнения необходимо перезапустить браузер (хотя пишут, что и без перезапуска работает). Вызов поиска- комбинация Ctrl+Shift+F. А вообще есть видеообучение и документация к этому дополнению ) Например, если на странице есть текст "У вас осталось 12 жизней", то можно сделать небольшой скрипт, который будет получать со страницы именно число "12". Нижеприведенный скрипт находит в данном посте число жизней и отображает его. Перед его запуском в FireFox уже должно быть установлено дополнение Fastest Search и в окне поиска (Ctrl+Shift+F) обязательно должна быть включена опция RegEx (остальные опции нужно выключить или оставить на ваше усмотрение). Окно поиска должно отсутствовать на экране. Пилот должен быть привязан к окну браузера (Ctrl+A). Код showwindow // отображаем рабочее окно браузера на передний план wait 200 // небольшая задержка set $reg осталось \d{1,3} жизн // искомое регулярное выражение... set clipboard $reg // ...записываем в буфер обмена sendex ^~f // Ctrl+Shift+F - вызов окна поиска Fastest Search (на RegEx должна быть установлена "птичка") wait 100 sendex ~{Insert} // вставляем из буфера искомое выражение в окно поиска wait 100 sendex {Enter} // ищем wait 500 // задержка, чтоб найти и выделить текст в окне sendex ^{Insert} // копируем выделенный текст в буфер обмена get clipboard $s // забираем его в переменную $s get word $w 2 $s // выковыриваем второе слово в строке = числу жизней if is_real ($w) = 1 // проверяем было ли найдено именно число msg Число жизней = $w else msg Не удалось получить число жизней! end_if end_script Сообщение отредактировал Zeleax - 25.2.2013, 21:49
--------------------
|
|
|
|
DarkMaster |
16.2.2013, 2:16
|
Модератор UOPilot
Сообщений: 9.468
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 27738
Пользователь №: 11.279
|
Цитата(EL-GReeN @ 15.2.2013, 22:04) Как пилот высчитывает откуда читать статы в уо? просто пробовал найти адрес и считывать хп мп стамину и тд, но у другого человека с таким же клиентом по тому же адресу не то что нужно, вывод: как то по смещениям пилот добирается, как и по каким адресам можете открыть секрет? (client 1,26,4а)
Артмани, пункт 10 справки. Сообщение отредактировал Zeleax - 17.2.2013, 14:42
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
Zeleax |
2.3.2013, 15:50
|
ex-Moderator UOPilot
Сообщений: 2.440
Регистрация: 8.10.2010 Группа: Пользователи Наличность: 0 Из: Киев
Пользователь №: 13.093
|
Отправка из скрипта сообщения на E-mailКачаем бесплатную прогу sendEmail Сайт программы: http://caspian.dotconf.net/menu/Software/SendEmail/Прямая ссылка на скачивание: ссылкаСкачать с форума:
sendEmail_v156.zip ( 1,39 мегабайт )
Кол-во скачиваний: 986Распаковываем архив в нужную папку. Всё, пользуемся! Пример использования в скрипте (одной строкой!): Код exec d:\TEMP\sendEmail -t EMail_Получателя -f LOGIN@yandex.ru -xu LOGIN@yandex.ru -xp PASSWORD -s smtp.yandex.ru -u Tema soobschenia -m Text soobschenia 1. Вспоминаем имя (LOGIN) и пароль (PASSWORD) от почтового ящика на yandex.ru (если страшно- заводим "левый" ящик :-) Если еще нет почтового ящика - заводим. 2. Заменяем в примере LOGIN@yandex.ru на свой E-mail на Яндексе, PASSWORD - на свой пароль от указанного почтового ящика на Яндексе. Эти данные нужны для ОТПРАВКИ E-mail через SMTP-сервер Яндекса. 3. EMail_Получателя заменяем на нужный E-mail (куда слать письма) 4. Tema soobschenia - заменяем на нужный текст темы письма (НА АНГЛИЙСКОМ) 5. Text soobschenia - заменяем на нужный текст сообщения письма (НА АНГЛИЙСКОМ) Можно настроить отправку письма и на русском через доп.опции - почитайте хелп к проге. Сообщение отредактировал Zeleax - 8.7.2013, 23:30
--------------------
|
|
|
|
esqado |
25.3.2013, 0:15
|
Journeyman
Сообщений: 357
Регистрация: 5.11.2011 Группа: Пользователи Наличность: 0
Пользователь №: 14.217
|
Для тех людей, кто не любит ставить лишний софт в систему (мой выбор) и считает, что в системе уже достаточно того, что нужно для работы. Отправка писемPowershell предустановлен на OS windows начиная с VistaСоздаём сценарий для " powershell" с именем " mail.ps1". У меня этот файл лежит тут: C:\Users\Sergey\Desktop\UOPilot\Сценарий отправки писем для powershell
Код $EmailFrom = "адрес@отправителя" $EmailTo = "адрес@получателя" $Subject = "Заголовок письма" $Body = "Тело письма" $SMTPServer = "смтп адрес сервера (для gmail = smtp.gmail.com)" $SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) $SMTPClient.EnableSsl = $true $SMTPClient.Credentials = New-Object System.Net.NetworkCredential("имя", "пароль"); $SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body) В пилоте выполняем команду Код exec powershell -executionpolicy unrestricted -file C:\Users\Sergey\Desktop\UOPilot\mail.ps1
end_script
Более подробную информацию можно прочитать в теме "почта - это просто!"
--------------------
В обычном программировании: любое значение может быть преобразовано в тип string В программировании Pilot: любое значение должно быть типа имейдж.
|
|
|
|
|
|
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|