Что нового

[Автоматизация] Переделайте пж мне скриптик, добрые человеки :D

Fakeoke

Новичок
Сообщения
3
Репутация
0
Версия AutoIt: 3.
последняя - v3.3.6.1

Описание:

есть у меня скрипт
Код:
#include <File.au3>
#include <Array.au3>
HotKeySet("{ESC}", "Terminate")
Func Terminate()
	Exit 0
EndFunc   ;==>Terminate
Dim $aLogins, $aPasswords ;объявляем массивы
;читаем файл в массив
_FileReadToArray('C:\1\1\Auto Login\login.txt', $aLogins) ; тут прописываем ПОЛНЫЙ путь к файлу с логинами
_FileReadToArray('C:\1\1\Auto Login\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", 598, 399, 1, 50)
	Sleep(100)
	MouseClick("left", 598, 399, 2, 50)
	MouseClick("left")
	Sleep(500)
	MouseClick("left")
	Send("{BS 20}")
	Sleep(500)
	Send($aLogins[$i]);Пользователь 1
	MouseClick("left", 598, 421, 2, 50)
	Sleep(600)
	Send($aPasswords[$i]);Пароль 1
	Sleep(1000)
	Send("{ENTER}")
	Sleep(3000)
	Send("{ENTER}"); подтверждение соглашения
	Sleep(1000)
	MsgBox(1, "Продолжить?", $aLogins[$i] & "," & $aPasswords[$i])
Next


он клацает на окно игры - в данном случае Lineage II, вводит в строки в первую логин, во вторую пароль...

в принципе он рабочий... но все таки с ним у меня есть проблемы...

после 2-3 вводов, он ставится сам на паузу и в трее пишется Paused, восстановить не знаю как) пытался вставить какую-то функцию
Код:
Func _Pause_Not_Pause()
    $fPause = Not $fPause
EndFunc   ;==>_Pause_Not_Pause

но что-то она не помогла :smile:

Примечания:

*если не сложно сделайте хоткей какой-то, при нажатии на который он бы вводил следующую связку строк...
а то тут вылазит табличка какая-то "Продолжить" неудобно... заранее спасибо


* если не в тот раздел написал - перенесите пж...
я тут новенький *.*
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,601
Репутация
941
Все немедленно сбежались и начали помогать фиксить примитивнейший скрипт. Как уже писалось, хватит использовать жителей форума, есть минимум который должно делать самостоятельно.
Если есть время в игрульки играться извольте сударь в скрипте разобраться (с) Йа.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
622
Предупреждение За нарушение правил форума (пункт Б.5):
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.


Как правильно называть темы

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

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

vovsla

Осваивающий
Сообщения
558
Репутация
26
вот мой скрипт для автоматического ввода логина и пароля, думаю сможешь переделать под себя, а для хранения каких-либо данных советую использовать ini файл вместо txt
Код:
#Include <Array.au3>
Opt("WinTitleMatchMode", 3)
$WinArr1=WinList("Lineage II")

If FileExists("System\l2.exe") Then
Run("System\l2.exe")
Else
MsgBox(48, "!Start Linage", "Файл ""System\l2.exe"" не найден.") 
Exit
EndIf

Do
$WinArr2=WinList("Lineage II")
Until $WinArr2[0][0]>$WinArr1[0][0]

If $WinArr1[0][0]>0 Then
For $Num1=1 To $WinArr2[0][0]
For $Num2=1 To $WinArr1[0][0]
If $WinArr1[$Num2][1]=$WinArr2[$Num1][1] Then ExitLoop
If $Num2=$WinArr1[0][0] Then ExitLoop 2
Next
Next
Else
$Num1=1
EndIf

$ret=DllCall("user32.dll", "long", "LoadKeyboardLayout", "str", "00000409", "int", 0)
DllCall("user32.dll", "ptr", "SendMessage", "hwnd", $WinArr2[$Num1][1], "int", "0x50", "int", 1, "int", $ret[0])

WinWaitActive($WinArr2[$Num1][1])
ControlSend($WinArr2[$Num1][1], "", "", "логин")

WinWaitActive($WinArr2[$Num1][1])
ControlSend($WinArr2[$Num1][1], "", "", "{TAB}")

WinWaitActive($WinArr2[$Num1][1])
ControlSend($WinArr2[$Num1][1], "", "", "пароль")
 
Верх