Что нового

Запуск скриптов Autoit

rybik

Новичок
Сообщения
84
Репутация
0
Здравствуйте, попытался сделать скрипк, который бы запускал 2 других скрипта по очереди. Оба скрипта это боты для игры. После того как один скрипт завершает свою работу, он должен закрыться и запуститься другой (при определении конкретного изображения, данный скрипт должен закрыться). После того как второй закрылся, должен запуститься первый и т.д.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: Запуск скруптов Autoit

Ну и в чём сложность?
Код:
While 1
	RunWait("script1.exe")
	Sleep(100)
	RunWait("script2.exe")
	Sleep(100)
WEnd
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Re: Запуск скруптов Autoit

alex33,

1. Я запускаю первого бота.
2. Жду пока он закончит своё дело, далее вылезет окно с ошибкой. Вот я сделал скрипт, который распознает это окно и далее он должен нажать на единственную кнопку "Ок". Пытался всяко сделать, что бы он нажимал на кнопку, но ничего не выходит. Пробовал писать send ("{Enter}"), не реагирует... Пытался через ControlClick, но не уверен что все верно вписал внутри, объясните пожалуйста что нужно вписывать в функцию "ControlClick".
Код:
WinWaitActive ("[TITLE:AutoIt Error]")
ControlClick (...)

3. После того как он закроет окно с ошибкой, нужно что бы он открыл другого бота. Я прописывал:
Код:
Run("Bot2.au3")

Не работает...
4. После того как бот2 сделает свою работу, он должен быть закрыт, а понять то что он сделал свою работу, нужно будет по изображению на экране. Вопрос, как это можно сделать?
5. Запускаем снова первого бота.
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: Запуск скруптов Autoit

rybik [?]
2. Жду пока он закончит своё дело, далее вылезет окно с ошибкой. Вот я сделал скрипт, который распознает это окно и далее он должен нажать на единственную кнопку "Ок". Пытался всяко сделать, что бы он нажимал на кнопку, но ничего не выходит. Пробовал писать send ("{Enter}"), не реагирует... Пытался через ControlClick, но не уверен что все верно вписал внутри, объясните пожалуйста что нужно вписывать в функцию "ControlClick".
Код:
ControlClick("AutoIt Error", "Line", "Button1", "main", 1)
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Re: Запуск скруптов Autoit

alex33 сказал(а):
rybik [?]
2. Жду пока он закончит своё дело, далее вылезет окно с ошибкой. Вот я сделал скрипт, который распознает это окно и далее он должен нажать на единственную кнопку "Ок". Пытался всяко сделать, что бы он нажимал на кнопку, но ничего не выходит. Пробовал писать send ("{Enter}"), не реагирует... Пытался через ControlClick, но не уверен что все верно вписал внутри, объясните пожалуйста что нужно вписывать в функцию "ControlClick".
Код:
ControlClick("AutoIt Error", "Line", "Button1", "main", 1)
Скопировал Ваш код, все равно скрипт не нажимает на кнопку "ок"...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: Запуск скруптов Autoit

rybik [?]
Скопировал Ваш код, все равно скрипт не нажимает на кнопку "ок"...
Что, правда не нажимает? :smile: Да ну... Может вы копировать неумеете? :D
Доказательство, что нажимает: видео + файлы (запускать 2.au3)
Код:
Run(@AutoItExe & " 1.au3")
Sleep(3000)
ControlClick("AutoIt Error", "Line", "Button1", "main", 1)

Ну... Нажимает или нет? :smile:
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Re: Запуск скруптов Autoit

Скачал Ваш архив... Функция "Run" работает, ваш скрипт открывает, но на кнопку не нажимает. Могу тоже сделать видео доказательство, но надеюсь Вы мне на слово поверите, что бы не терять время. И да, попробовал заменить настройки в вашем скрипте таким образом, что бы запустился мой бот и у меня это не вышло. Потом я просто переименовал бота в цифру "1" и все заработало. Теперь осталось разобраться почему не нажимает на кнопку... Может быть нужно какие то настройки аутоита поменять?
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Re: Запуск скруптов Autoit

Version 3.5.4
Mar 7 2015 14:59:39
 

dstasv

Новичок
Сообщения
45
Репутация
1
Не забывайте:
что могут быть защиты,
что надо правильно распознать окно
что возможно надо права админа
и т.п.
попробуйте через графику найти свою кнопку и мышкой тыкнуть в нужную координату.

А почему не просто не объединить 2 бота в один?
И не победить окно ошибки autoit в самом тексте
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Re: Запуск скруптов Autoit

rybik сказал(а):
Version 3.5.4
Mar 7 2015 14:59:39
Это версия "SciTE Script Editor"...

Поищите в "Пуск" - "Все программы" - "AutoIt****" - "Check For Updates"

OtylcVVQqEo.jpg

*** где "1" - Ваша текущая версия
*** где "2" - последний релиз

Напишите, какая версия под пунктом "1"...
Ну, или, если версия не актуальная - обновитесь до "3.3.12.0"
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Re: Запуск скруптов Autoit

---Zak--- сказал(а):
rybik сказал(а):
Version 3.5.4
Mar 7 2015 14:59:39
Это версия "SciTE Script Editor"...

Поищите в "Пуск" - "Все программы" - "AutoIt****" - "Check For Updates"

OtylcVVQqEo.jpg

*** где "1" - Ваша текущая версия
*** где "2" - последний релиз

Напишите, какая версия под пунктом "1"...
Ну, или, если версия не актуальная - обновитесь до "3.3.12.0"
Проверил, версия 3.3.12.0.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
rybik

Идеальный вариант - разобраться с ошибкой...

Ну, а если дальше рассуждать о ошибке и нажатии кнопки:
1.Запустите "AutoIt Window Info"
* PS: Поищите в "Пуск" - "Все программы" - "AutoIt****"
2. Запустите "первого бота", чтобы высветилась ошибка.
3. В программе "AutoIt Window Info" есть "Finder Tool" - там что-то вроде прицела изображено. Кликните и зажмите ЛКМ на прицеле и перенесите его на окно с ошибкой - на саму кнопку "ОК"
4. Далее ниже будут вкладки ("Windows", "Cotrol", "***") - Вам нужна вкладка "Summary" (она самая правая)

В этом окне имеется текст - выделите его и опубликуйте его на форуме (желательно использовать "spoiler"/"Вставить спойлер")...
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
>>>> Window <<<<
Title: AutoIt Error
Class: #32770
Position: 437, 134
Size: 480, 265
Style: 0x94C80347
ExStyle: 0x00010108
Handle: 0x00000000000D0426

>>>> Control <<<<
Class: Button
Instance: 1
ClassnameNN: Button1
Name:
Advanced (Class): [CLASS:Button; INSTANCE:1]
ID: 2
Text: ОК
Position: 378, 199
Size: 88, 26
ControlClick Coords: 61, 17
Style: 0x50030000
ExStyle: 0x00000004
Handle: 0x00000000001B06F8

>>>> Mouse <<<<
Position: 879, 376
Cursor ID: 0
Color: 0xE8E8E8

>>>> StatusBar <<<<

>>>> ToolsBar <<<<

>>>> Visible Text <<<<
ОК
Line 6849 (File "C:\Users\Rybik\Desktop\kurzick bot\Kurzick Farming.au3"):

DllCall($mhandle[0], "int", "ReadProcessMemory", "int", $mhandle[1], "int", $litemextraptr, "ptr", $litemextrastructptr, "int", $litemextrastructsize, "int", "")
DllCall(^ ERROR

Error: Variable used without being declared.


>>>> Hidden Text <<<<
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
rybik, Вы пробовали мой код? Ответ #3


Добавлено:
Сообщение автоматически объединено:

Должно же работать...


Добавлено:
Сообщение автоматически объединено:

А у вас функцией Run или RunWait запускается скрипт? Если RunWait, то он и не будет нажимать.


Добавлено:
Сообщение автоматически объединено:

Полезный совет: Напишите в начале скрипта
Код:
Opt("TrayIconDebug",1)
и смотрите в трее, что сейчас происходит в скрипте. Всё сразу станет понятно. :smile:
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
rybik

Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Модератор.






Добавлено:
Сообщение автоматически объединено:

Вставляй в цитату только то, что цитируешь, а не всю портянку сообщения
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
А дальше?
alex33 сказал(а):
А у вас функцией Run или RunWait запускается скрипт? Если RunWait, то он и не будет нажимать.


Добавлено:
Сообщение автоматически объединено:

Полезный совет: Напишите в начале скрипта
Код:
Opt("TrayIconDebug",1)
и смотрите в трее, что сейчас происходит в скрипте. Всё сразу станет понятно. :smile:
 
Автор
R

rybik

Новичок
Сообщения
84
Репутация
0
Код:
Opt("TrayIconDebug",1)
Run(@AutoItExe & " 1.au3")
sleep (3000)
WinWaitActive("AutoIt Error")
sleep (5000)
ControlClick("AutoIt Error", "Line", "Button1", "main", 100)
send ("{Enter}")

Вот мой код, он полностью заканчивает свой цикл. Но на кнопку "ОК" так и не нажимает.
 
Верх