Что нового

[Автоматизация] Завершение выполнения скрипта при выводе сообщения в окне

Fallen

Новичок
Сообщения
39
Репутация
0
Здравствуйте, извините, что отнимаю время и заранее спасибо за помощь, работать с программой начал вчера, перечитав хелп смог написать небольшой скрипт, который облегчает мне кое-какие действия в игре, но скрипт получился совсем не красивый и объемный.

Код:
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
MouseClick("left", 1110, 572)
MouseClickDrag( "left" ,666,490,666,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,455,666,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,420,666,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,385,666,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,490,700,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,455,700,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,420,700,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,385,700,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,490,375,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,455,735,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,420,740,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,385,740,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,490,770,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,455,770,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,420,770,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,385,770,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,490,810,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,455,810,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,420,810,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,385,810,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,490,845,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,455,845,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,420,845,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,385,845,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,350,666,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,350,700,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,350,735,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,350,810,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,350,770,350)
MouseClick("left", 850, 370)


Вопрос собственно в том, как сделать повторение
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000) до тех пор пока в окне клиента не появится надпись - Извините, вы не можете этого сделать.. Поискал в хелпе, не нашел как сделать такое условие..
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Re: [Автоматизация] Do... Until

Fallen
В каком окне, где и как именно появляется эта надпись?
И поправь пост в соответствии с правилами пока не отшлепали.
 
Автор
F

Fallen

Новичок
Сообщения
39
Репутация
0
Re: [Автоматизация] Do... Until

WinWaitActive("SWC") - в этом окне

П.С. А что не так с темой? Что поправить?
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Re: [Автоматизация] Do... Until

Fallen,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.




Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[Автоматизация] Do... Until" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

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

Fallen

Новичок
Сообщения
39
Репутация
0
Спасибо за замечания. Сделал все как сказали. А название темы ставил таким, потому что думал, что эта проблема элементарно решается именно этой функцией. Т.е.

Код:
Do
Send("tare dekavo")
Send("{ENTER}")
Sleep(3000)
Untill WinWaitActive("SWC", "Вы не можете это сделать")
then Winclose("SWC")


Хотел именно уточнить, как правильно все это описать
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Fallen,
Я Вам должен после каждого сообщения предупреждения делать?
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.






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

Fallen,
Попробуйте сделать примерно так.
Код:
SendKeepActive('SWC')
Do
	Send('tare dekavo')
	Sleep(500)
	Send('{ENTER}')
	Sleep(3000)
Until WinExists('SWC', 'Вы не можете это сделать')
SendKeepActive('')
WinClose('SWC')
 
Автор
F

Fallen

Новичок
Сообщения
39
Репутация
0
Код:
SendKeepActive('Epoch of Shadows')
Do
    Send('tare dekavo')
    Sleep(500)
    Send('{ENTER}')
    Sleep(3000)
Until WinExists('Epoch of Shadows', 'Заклинание не работает - нет места в мешке')
Sleep(3000)
MouseClick("left", 1110, 572)
MouseClickDrag( "left" ,666,490,666,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,455,666,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,420,666,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,666,385,666,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,490,700,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,455,700,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,420,700,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,700,385,700,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,490,375,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,455,735,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,420,740,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,740,385,740,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,490,770,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,455,770,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,420,770,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,385,770,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,490,810,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,455,810,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,420,810,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,385,810,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,490,845,455)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,455,845,420)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,420,845,385)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,385,845,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,350,666,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,350,700,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,770,350,735,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,845,350,810,350)
MouseClick("left", 850, 370)
MouseClickDrag( "left" ,810,350,770,350)
MouseClick("left", 850, 370)

Получилось так, но скрипт не срабатывает, не реагирует на появившуюся надпись в игре и продолжает кастовать.
 
Автор
F

Fallen

Новичок
Сообщения
39
Репутация
0
Подскажите, пожалуйста, очень важно выставить условие, что бы при выпадании этой надписи, скрипт завершал свою работу =( Но проблема в том, что Autoit info не видит этой надписи =( Ни в тексте ни где либо еще, как будто чат - это отдельное приложение.
 
Верх