2013-03-31 2 views
0

게임에 자동 로그인하도록이 스크립트를 만들었습니다. 그것은 잘 작동하지만 여러 계정, (^! 2 :: % acc2 % % pw2 % .. 등등). 각각의 바로 가기 키 아래에서 코드를 개별적으로 복사하는 대신, 나는 그것들을 결합하고 싶다. 그러나 나는 그 방법을 이해할 수 없다.추가 단축키와 함께 사용하기 위해이 코드를 최적화하려면 어떻게해야합니까?

;Autologin #1. 
^!1:: 
ImageSearch,ExistUser_X,ExistUser_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\ExistUser.bmp 
If !ErrorLevel 
{ 
    Click,%ExistUser_X%,%ExistUser_Y% 
    ImageSearch,Login_X,Login_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\Login.bmp 
    Click,%Login_X%,%Login_Y% 
    If !ErrorLevel 
     Send,%acc1%{Tab}%pw1%{Enter} 
    Else 
     MsgBox,The login page is not visible. 
    Return 
} 
Else If ErrorLevel=1 
{ 
    ImageSearch,Login_X,Login_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\Login.bmp 
    Click,%Login_X%,%Login_Y% 
    If !ErrorLevel 
     Send,%acc1%{Tab}%pw1%{Enter} 
    Else 
    MsgBox,The login page is not visible. 
    Return 
} 
Else 
MsgBox,The login page is not visible. 
Return 

아래로가하는 일에 작은 실행; 단축키를 누르면 버튼 (ExistUser.bmp)을 검색하고 거기에 있으면 클릭합니다. 그런 다음 계정 세부 정보 (% acc1 % 및 % pw1 %)를 보낼 실제 로그인 페이지로 이동하여 실제 페이지인지 확인합니다. 사용자가 ExistUser 버튼을 수동으로 클릭하면 로그인 페이지가 있는지 확인한 다음 세부 정보를 보냅니다. 두 페이지 중 하나를 찾을 수 없으면 MsgBox 오류가 발생합니다.

감사합니다. 감사합니다.

답변

0

왜 다양한 계정과 암호를 2 차원 배열에 저장하고 루프에서 코드를 실행해야합니까? 이 같은

뭔가 자세한 {탭을} 추가

Loop, read, %A_ScriptDir%\Login.txt ; in username{Tab}Password{NewLine} format 
{ 
    RecordNumber:=A_Index 
    Loop, parse, A_LoopReadLine, %A_Tab% ; uses tab to separate items 
    { 
     Array_%RecordNumber%_%A_Index% := A_LoopField 
    } 
} 
MaxRecords:=RecordNumber 

Loop, %MaxRecords% 
{ 
     acc1:=Array_%A_Index%_1 
     pw1:=Array_%A_Index%_2 
     Run your code here 
} 
Return 

는 예를 들어, 항목을 분리 텍스트 파일에 대한 고유 단추 위치는 Array_ % A_Index % 3, Array % A_Index % _4 등과 같이 배열에 자동 저장되며 루프 코드에서 사용할 수 있습니다.

또는 등, Ctrl 키 + Alt 키 1, Ctrl 키 + Alt 키이 그것을 실행 단축키 당 ACC1 및 PW1을 정의하고 코드를 실행하려면.

;Autologin #1. 
Return 

^!1:: 
acc1=UserName 
pw1=passwd 
GoSub, MyScript 
Return 

^!2:: 
acc1=UserName2 
pw1=passwd2 
GoSub, MyScript 
Return 


MyScript: 
ImageSearch,ExistUser_X,ExistUser_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\ExistUser.bmp 
If !ErrorLevel 
{ 
    Click,%ExistUser_X%,%ExistUser_Y% 
    ImageSearch,Login_X,Login_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\Login.bmp 
    Click,%Login_X%,%Login_Y% 
    If !ErrorLevel 
     Send,%acc1%{Tab}%pw1%{Enter} 
    Else 
     MsgBox,The login page is not visible. 
    Return 
} 
Else If ErrorLevel=1 
{ 
    ImageSearch,Login_X,Login_Y,0,0,A_ScreenWidth,A_ScreenHeight,%A_TEMP%\Login.bmp 
    Click,%Login_X%,%Login_Y% 
    If !ErrorLevel 
     Send,%acc1%{Tab}%pw1%{Enter} 
    Else 
    MsgBox,The login page is not visible. 
    Return 
} 
Else 
MsgBox,The login page is not visible. 
Return 
+0

감사합니다.하지만 조금 혼란 스럽습니다. 스크립트에 정확히 내 단축키 (Ctrl + Alt + 1로 첫 번째 acc/pw, Ctrl + Alt + 2 등)를 어떻게 통합합니까? 감사. –

+0

OK, 분명히 원래 코드를 직접 작성하지 않았습니다. 원래 답변에 추가하겠습니다. –

+0

나는 직접 작성했지만 쉽게 혼란스러워합니다. 당신의 도움을 주셔서 감사합니다! –

관련 문제