Собственно скрипт автоматизации для 2х окон lineage2. Ботом назвать пока сложно, многое при подготовке надо делать руками.
Что имеем: одно окно с бафером варком и макросом у него на бафф под клавишей F5, и какого нибудь дамагера типа тиранта или глада (лишь бы был ближнего боя) с макросом нексттаргет-атак под F6. Соответственно в пати их обьединять надо руками.
Вот так видит окно AutoIt v3 Window Info:
Что отсюда примечательно:
1 Нет названия окна
2 Class: постоянно меняется при рестарте клиента. у каждого нового окна он разный.
А значит при запуске придется лично руками хватать этот класс и вставлять в код. Может быть кто знает как это дело в скрипте реализовать?
Сам скрипт:
Пробовал делать на каждое окно по скрипту. Не получилось. Не запускает второй скрипт, ругается типа с окном работает уже другой. Пришлось все делать в один.
Если свернуть окно клиента, команды не проходят и собственно бот встает. Развернутое окно даже не активное работает нормально.
Не мешало бы:
Автоматическое распознание класса окна. Запустить скриптом одно и тоже приложение (l2.exe) в двух экземплярах и перехватить с каждого класс. Автологин прикрутить уже несложно.
Начал было прикручивать 3е окно, но уже стало сложно не путаться кто есть кто :wacko:
Кому интересно еще l2 пользуйтесь, дорабатывайте и делитесь идеями :beer:
Что имеем: одно окно с бафером варком и макросом у него на бафф под клавишей F5, и какого нибудь дамагера типа тиранта или глада (лишь бы был ближнего боя) с макросом нексттаргет-атак под F6. Соответственно в пати их обьединять надо руками.
Вот так видит окно AutoIt v3 Window Info:
>>>> Window <<<<
Title:
Class: amhgfpyv
Position: 25, 25
Size: 1364, 911
Style: 0x14CF0000
ExStyle: 0x00040100
Handle: 0x000000000003032E
>>>> Control <<<<
Class:
Instance:
ClassnameNN:
Name:
Advanced (Class):
ID:
Text:
Position:
Size:
ControlClick Coords:
Style:
ExStyle:
Handle:
>>>> Mouse <<<<
Position: 537, 316
Cursor ID: 0
Color: 0x4A4C4A
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
>>>> Hidden Text <<<<
Title:
Class: amhgfpyv
Position: 25, 25
Size: 1364, 911
Style: 0x14CF0000
ExStyle: 0x00040100
Handle: 0x000000000003032E
>>>> Control <<<<
Class:
Instance:
ClassnameNN:
Name:
Advanced (Class):
ID:
Text:
Position:
Size:
ControlClick Coords:
Style:
ExStyle:
Handle:
>>>> Mouse <<<<
Position: 537, 316
Cursor ID: 0
Color: 0x4A4C4A
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
>>>> Hidden Text <<<<
Что отсюда примечательно:
1 Нет названия окна
2 Class: постоянно меняется при рестарте клиента. у каждого нового окна он разный.
А значит при запуске придется лично руками хватать этот класс и вставлять в код. Может быть кто знает как это дело в скрипте реализовать?
Сам скрипт:
Код:
#include <Misc.au3>
Global $sWinWARK = "[CLASS:tjysguxa]" ;класс окна варка
Global $sWinDD = "[CLASS:tjysguxa]" ;класс окна ДД
;Global $sWinDancer = "[CLASS:tjysguxa]" ;класс окна БД
Global $bRuning = False
HotKeySet("{NUMPAD7}", "ScriptStart")
HotKeySet("{NUMPAD8}", "ScriptStop")
HotKeySet("{NUMPAD9}", "ScriptExit")
While 1
Sleep(100)
WEnd
Func ScriptStart()
$bRuning = True
$begin = TimerInit() ;записываем текущее время
While $bRuning
$dif = TimerDiff($begin) ;сравниваем время и разницу в переменную пишем
if $dif > 900000 then ;если прошло больше 15 мин (хотя баф длится 20 мин лучше заранее)
Baff() ;бафаемся
$begin = TimerInit() ;и записываем текущее время
endif
Kill()
Sleep(5000)
WEnd
EndFunc
Func Baff()
ControlSend($sWinWARK, "", "", "{f5}") ;варк бафает
EndFunc
Func Kill()
ControlSend($sWinDD, "", "", "{f6}") ;глад убивает
EndFunc
;Func Dance()
; ControlSend($sWinDancer, "", "", "{f6}") ; данс
;EndFunc
Func ScriptStop()
$bRuning = False
EndFunc
Func ScriptExit()
Exit
EndFunc
Пробовал делать на каждое окно по скрипту. Не получилось. Не запускает второй скрипт, ругается типа с окном работает уже другой. Пришлось все делать в один.
Если свернуть окно клиента, команды не проходят и собственно бот встает. Развернутое окно даже не активное работает нормально.
Не мешало бы:
Автоматическое распознание класса окна. Запустить скриптом одно и тоже приложение (l2.exe) в двух экземплярах и перехватить с каждого класс. Автологин прикрутить уже несложно.
Начал было прикручивать 3е окно, но уже стало сложно не путаться кто есть кто :wacko:
Кому интересно еще l2 пользуйтесь, дорабатывайте и делитесь идеями :beer: