AutoLogin v0.38
Ok, today was the last school day before holidays...
well so i got some time to do a tutorial, how to build a better AutoLogin tool!
Things u need:
AutoIt
AutoIt Window Info Tool (should be in the AutoIt installation)
Scite - u can do it with an normal editor, too, but scite owns =P
Brain v.1337
logical understandment (woot, english sucks -.-)
Some experiences in coding with AutoIt are usefull ;)
First ill post the Tool, after that u will find the Source + Tutorial ;)
So heres the Tool:
AutoLogin by HideAndSeek v0.38
Special Thanks to lolkop - i think hes active here, too =P;)
What is the tool able to do:
- Start silkroad
- filling in ID & PW
- Enter Spam
- knows when ure looged in
- Beep, if logged in
- Character select & log in
- Hide Silkroad
- Show Silkroad
- Exit Silkroad
Einstellungen:
- fill in your ID & PW into the 2 Input boxes
- Choose the path of your Silkroad Launcher (normally silkroad.exe)
- Time that is needed to start Silkroad
- The Reconnect time
[img]http://image.**********/pics/4a54970d14027.jpg[/img]
[Only registered and activated users can see links. Click Here To Register...]
Pls post bugs/suggestions to make the tool even better :D
VirusTotal:Quote:
AutoLogin v0.38
- Fixed Download-link
- Server Change is now in the "new" Version
AutoLogin v0.37
-DLL Calls removed, due to some mistakes -.-
arent there Spoilers here ? -.-Quote:
a-squared 4.0.0.101 2009.06.04 -
a-squared 4.5.0.18 2009.06.27 -
AhnLab-V3 5.0.0.2 2009.06.27 -
AntiVir 7.9.0.199 2009.06.26 -
Antiy-AVL 2.0.3.1 2009.06.26 Trojan/Win32.AutoIt.gen
Authentium 5.1.2.4 2009.06.27 -
Avast 4.8.1335.0 2009.06.26 -
AVG 8.5.0.339 2009.06.27 -
BitDefender 7.2 2009.06.27 -
CAT-QuickHeal 10.00 2009.06.26 -
ClamAV 0.94.1 2009.06.27 -
Comodo 1457 2009.06.27 -
DrWeb 5.0.0.12182 2009.06.27 -
eSafe 7.0.17.0 2009.06.25 Suspicious File
eTrust-Vet 31.6.6582 2009.06.26 -
F-Prot 4.4.4.56 2009.06.27 -
F-Secure 8.0.14470.0 2009.06.27 -
Fortinet 3.117.0.0 2009.06.27 -
GData 19 2009.06.27 -
Ikarus T3.1.1.64.0 2009.06.27 -
Jiangmin 11.0.706 2009.06.27 -
K7AntiVirus 7.10.768 2009.06.19 -
Kaspersky 7.0.0.125 2009.06.27 -
McAfee 5659 2009.06.27 -
McAfee+Artemis 5659 2009.06.27 -
McAfee-GW-Edition 6.7.6 2009.06.27 -
Microsoft 1.4803 2009.06.27 -
NOD32 4193 2009.06.26 -
Norman 6.01.09 2009.06.26 -
nProtect 2009.1.8.0 2009.06.27 -
Panda 10.0.0.16 2009.06.27 -
PCTools 4.4.2.0 2009.06.26 -
Prevx 3.0 2009.06.27 -
Rising 21.35.52.00 2009.06.27 -
Sophos 4.43.0 2009.06.27 -
Sunbelt 3.2.1858.2 2009.06.27 -
Symantec 1.4.4.12 2009.06.27 -
TheHacker 6.3.4.3.356 2009.06.27 -
TrendMicro 8.950.0.1094 2009.06.26 -
VBA32 3.12.10.7 2009.06.27 -
ViRobot 2009.6.27.1808 2009.06.27 -
VirusBuster 4.6.5.0 2009.06.27 -
Well, the program isnt the best, but it works good and thats the most important thing =P
So here we come to the tutorial:
Code:
#RequireAdmin [COLOR="YellowGreen"];vista do not have to run as admin[/COLOR] #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=..\..\..\Programme\AutoLoginv0.37.exe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
Code:
#include <ButtonConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GUIListBox.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <memory2.au3> #include <GUIConstants.au3>
Code:
$file = @ScriptDir & "\login.ini"
$Form2 = GUICreate("AutoLogin by HideAndSeek", 341, 417, 249, 133)
$Group1 = GUICtrlCreateGroup("Deine Daten!", 8, 8, 169, 105)
$Label1 = GUICtrlCreateLabel("ID", 152, 32, 15, 17)
$namegui = GUICtrlCreateInput(IniRead($file,"Allgemein", "Name",""), 24, 32, 121, 21)
$pwgui = GUICtrlCreateInput(IniRead($file,"Allgemein", "",""), 24, 64, 121, 21)
$Label2 = GUICtrlCreateLabel("PW", 152, 64, 22, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("PC Einstellungen", 184, 8, 145, 105)
$Label7 = GUICtrlCreateLabel("Pc-Geschwindigkeit", 200, 32, 98, 17)
$leistunggui = GUICtrlCreateInput(IniRead($file,"Allgemein", "Leistung",""), 192, 88, 41, 21)
$Label10 = GUICtrlCreateLabel("Sekunden bis zum Start von", 192, 64, 137, 17)
$Label11 = GUICtrlCreateLabel("Silkroad", 240, 80, 42, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Show/Hide Silkroad", 8, 176, 169, 97)
$hidesrogui = GUICtrlCreateButton("Hide Silkroad", 16, 200, 153, 17, $WS_GROUP)
$showsrogui = GUICtrlCreateButton("Show Silkroad", 16, 224, 153, 17, $WS_GROUP)
$exitsrogui = GUICtrlCreateButton("Exit Silkroad", 16, 248, 153, 17, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("Programmbefehle", 8, 272, 169, 137)
$startgui = GUICtrlCreateButton("Start AutoLogin F5", 16, 296, 153, 25, $WS_GROUP)
$stopgui = GUICtrlCreateButton("Stop AutoLogin F6", 16, 328, 153, 25, $WS_GROUP)
$exitgui = GUICtrlCreateButton("Exit Tool F7", 16, 360, 153, 17, $WS_GROUP)
$showgui = GUICtrlCreateButton("Show the Tool F8", 16, 384, 153, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group5 = GUICtrlCreateGroup("Programmeinstellungen", 184, 112, 145, 161)
$checked = IniRead($file, "Allgemein", "MitSRO", "")
$mitsrogui = GUICtrlCreateCheckbox("Mit Silkroad starten?", 192, 136, 113, 17)
If $checked = "1" Then
GUICtrlSetState($mitsrogui, $GUI_CHECKED)
EndIf
$Label3 = GUICtrlCreateLabel("ggf. Pfad angeben!", 192, 152, 95, 17)
$pfadgui = GUICtrlCreateInput("", 192, 176, 121, 21)
$searchgui = GUICtrlCreateButton("Durchsuchen", 192, 200, 121, 17, $WS_GROUP)
$reconnectgui = GUICtrlCreateInput(IniRead($file, "Allgemein", "Reconnect", ""), 192, 232, 33, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
$Label8 = GUICtrlCreateLabel("Reconnect nach", 232, 224, 84, 17)
$Label9 = GUICtrlCreateLabel("X Sekunden", 232, 240, 63, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("Weiteres", 184, 272, 145, 137)
$Label5 = GUICtrlCreateLabel("For more Infos", 216, 368, 71, 17)
$linkgui = GUICtrlCreateLabel("KLICK HERE!", 216, 384, 70, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 0)
$maxchar=IniRead($file, "Allgemein", "MaxChar", "")
$maxchargui = GUICtrlCreateCombo(IniRead($file, "Allgemein", "MaxChar", ""), 192, 296, 49, 25)
If $maxchar="1" Then
GUICtrlSetData($maxchargui, "2|3|4")
ElseIf $maxchar="2" Then
GUICtrlSetData($maxchar, "1|3|4")
ElseIf $maxchar="3" Then
GUICtrlSetData($maxchar, "1|2|4")
ElseIf $maxchar="4" Then
GUICtrlSetData($maxchar, "1|2|3")
EndIf
$charposgui = GUICtrlCreateCombo(IniRead($file, "Allgemein", "Charpos", ""), 192, 336, 49, 25)
If $charposgui="1" Then
GUICtrlSetData($charposgui, "2|3|4")
ElseIf $charposgui="2" Then
GUICtrlSetData($charposgui, "1|3|4")
ElseIf $charposgui="3" Then
GUICtrlSetData($charposgui, "1|2|4")
ElseIf $charposgui="4" Then
GUICtrlSetData($charposgui, "1|2|3")
EndIf
$Label4 = GUICtrlCreateLabel("Anz. von Chars", 248, 296, 76, 17)
$Label6 = GUICtrlCreateLabel("Char. Position", 248, 336, 69, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("Server", 8, 112, 169, 65)
$changeservergui = GUICtrlCreateCheckbox("Server wechseln?", 56, 120, 113, 17)
$servergui = GUICtrlCreateCombo(IniRead($file,"Allgemein","Server",""), 32, 144, 121, 25)
GUICtrlSetData($servergui, "Venice|Greece|Alps|Olympus|Tibet|RedSea|Pacific|Oasis|Odin|Hercules|Alexander|Saturn|Venus|Mars|Uranus|Mercury|Poseidon|Zeus|Persia|********|Sparta|Rome|Neptune|Hera (New)|Gaia (New)|Eos (New)|Phoenix (New)|Ares (New)|Iris (New)|Titan (New)|Apollo (New)|Xian|Aege|Troy|Athens|Oasis")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
well this is the GUI! U can easily create a GUI with the KODA - Tool (google it)
The tool got a save function, with "$checked = IniRead($file, "Allgemein", "MitSRO", "")" u can save the Value that is in the Ini-File (just a config File, like a .txt-file) , so u just read out the Value and put it in the InputBox(ill explain later, how u write the things into the .ini-file.
Code:
HotKeySet("{F5}", 'start')
HotKeySet("{F6}", 'stop')
HotKeySet("{F7}", '_exit')
HotKeySet("{F8}", 'infront')
So lets move to the Functions =)
First i pick out the "simple" functions =P , Ill comment it in the Source!
Code:
Func link()
ShellExecute("http://forum.**********/silkroad-online/sro-bots-guides-hacks/108989-autologin-v0-37/")
EndFunc [COLOR="YellowGreen"];This functions starts FireFox and connects to the Link
[/COLOR]
Func stop()
exit
EndFunc [COLOR="YellowGreen"];Exits the tool [/COLOR]
Func infront()
WinActivate(@ScriptName)
EndFunc [COLOR="YellowGreen"];Activates the tool[/COLOR]
Func _exit()
Exit
EndFunc [COLOR="YellowGreen"];Exits the tool [/COLOR]
Func hide()
WinSetState("SRO_Client", "", @SW_HIDE)
EndFunc [COLOR="YellowGreen"]; Hides all Windows with the name "SRO_Client"[/COLOR]
Func show()
WinSetState("SRO_Client", "", @SW_SHOW)
EndFunc [COLOR="YellowGreen"];Shows all hidden Windows with the name "SRO_Client"[/COLOR]
Func exitsro()
If ProcessExists("sro_client.exe") Then
If MsgBox(292, "Achtung!", "Willst du Silkroad wirklich beenden?") = 6 Then
ProcessClose("sro_client.exe")
EndIf
EndIf
EndFunc [COLOR="YellowGreen"];If u klick "Exit SRO" a Msg Box with "Yes" and "no" will appear, if u click "yes" then ProcessClose("sro_client.exe")(selfexplaining)[/COLOR]
Func durchsuchen()
$pfad = FileOpenDialog("Silkroad Launcher ausw鄣len!", @DesktopDir, "Silkroad Launcher (*.exe)", 1)
If Not @error Then
GUICtrlSetData($pfadgui, $pfad)
EndIf
EndFunc[COLOR="YellowGreen"] ;This(FileOpenDialog) opens the Window where u can Select ;the Silkroad launcher[/COLOR]
Ok, so lets come to the Main Function:
Code:
Func start() [COLOR="YellowGreen"];If u click the Start-Button the value of the variable $start changes to "true"[/COLOR]
$start=true
EndFunc
While 1 ;
if $start=true Then [COLOR="YellowGreen"];Self explaining[/COLOR]
$start=false ;
$i = 0
$pfad = GUICtrlRead($pfadgui) [COLOR="YellowGreen"]; Selfexplaining [/COLOR]
$name = GUICtrlRead($namegui)
$pw = GUICtrlRead($pwgui)
$leistung = GUICtrlRead($leistunggui)
$reconnect = GUICtrlRead($reconnectgui)
$charpos=GUICtrlRead($charposgui)
$maxchar=GUICtrlRead($maxchargui)
$server=GUICtrlRead($servergui)
$file = @ScriptDir & "\login.ini"
IniWrite($file, "Allgemein", "Name", $name) ;[COLOR="YellowGreen"]This writes the things into the Ini-File so that u do not need to fill in it the whole time[/COLOR]
IniWrite($file, "Allgemein", "PW", $pw)
IniWrite($file, "Allgemein", "Leistung", $leistung)
IniWrite($file, "Allgemein", "Pfad", $pfad)
IniWrite($file, "Allgemein", "Reconnect", $reconnect)
IniWrite($file, "Allgemein", "Charpos", $charpos)
IniWrite($file, "Allgemein", "MaxChar", $maxchar)
IniWrite($file, "Allgemein", "Server", $server)
[COLOR="YellowGreen"];All the coming If-Functions are checking if u filled in all Input Boxes right[/COLOR]
if $charpos > $maxchar Then
MsgBox(0,"Falsche Charakter Position!", "Deine Charakterposition kann nichts h鐬er als deine Zahl an Charakteren sein!")
EndIf
if $maxchar > "4" Then
MsgBox(0, "Zu hohe Anzahl von Chars!", "Du kannst nicht mehr als 4 Charaktere haben >.^")
EndIf
if $charpos = "0" Then
MsgBox(0,"Falsche CharPosition","Du kannst nur die Positionen 1-4 belegen")
EndIf
If $charpos > "5" Then
MsgBox(0,"Falsche CharPosition", "Du kannst nur die Positionen 1-4 belegen")
EndIf
If $leistung = "" Then
$leistung = "25"
EndIf
If $name = "" Then
MsgBox(0, "Keine ID", "Du musst eine ID angeben!")
EndIf
If $pw = "" Then
MsgBox(0, "Kein PW", "Du musst ein PW angeben!")
EndIf
If $reconnect = "" Then
$reconnect = "7"
EndIf
If GUICtrlRead($changeservergui) = $GUI_CHECKED Then
RegWrite("HKEY_CURRENT_USER\Software\Joymax\Silkroad","RECENTSERVER","REG_SZ",$server)
EndIf [COLOR="YellowGreen"];This changes the Server u want to connect, it just writes the new Server into that file, were Silkroad is saving it.[/COLOR]
if $mitsrogui = $GUI_CHECKED Then
Run($pfad) ;Runs Silkroad
WinWaitActive("Silkroad Online Launcher") [COLOR="YellowGreen"];Waits for the ;Launcher[/COLOR]
If WinActive("Silkroad Online Launcher") = 0 Then [COLOR="YellowGreen"];Activates it until its activated[/COLOR]
Do
WinActivate("Silkroad Online Launcher")
Until WinActive("Silkroad Online Launcher") = 1
EndIf
Sleep(500)
[COLOR="YellowGreen"];this is the first thing u maybe do not understand, so start the Silkroad Launcher and the AutoIt window info tool
in The tool change to "Summary" and go with ure mouse of the "Start"-Button in the Silkroad online launcher , then u will see "[CLASS:Button; INSTANCE:1]" at the "Advanced (Class),
so here the tool clicks on the "Start" button of your silkroad launcher[/COLOR]
Sleep(2000)
ControlClick("Silkroad Online Launcher", "", "[CLASS:Button; INSTANCE:1]")
WinWait("SRO_Client") [COLOR="YellowGreen"];it waits for silkroad to open [/COLOR]
Sleep($leistung*1000) [COLOR="YellowGreen"]; then it waits for the time that [/COLOR]
Sleep(500)
[COLOR="YellowGreen"];tabs to the PW Input[/COLOR]
ControlSend("[CLASS:CLIENT]", "", "Edit1", "{TAB}")
Sleep(500)
[COLOR="YellowGreen"]; sends the PW[/COLOR]
ControlSend("[CLASS:CLIENT]", "", "Edit1", $pw)
Sleep(100)
[COLOR="YellowGreen"];If all this is ready , then the Function "EnterSenden" (in english: ;SendingEnter) is called.[/COLOR]
EnterSenden()
Else
EnterSenden()
EndIf
EndIf
WEnd
Func EnterSenden() ;Sends enter until ure logged in
$srohandle = WinGetHandle("[CLASS:CLIENT]")
$pidsro = Wingetprocess($srohandle)
$loginmemory = _MemoryOpen($pidsro)
[COLOR="YellowGreen"]; First the memory needs to be open, now the ;Programm checks for the ;adress to become 1, an adress is there to save some values, in this adress ;the value 0 stands for "logged out" and 1 ist for "logged in" , so
While the adress is 0 (logged out) it sends enter, but if the adress is 1 then the tool goes on. the function _char() is called and the "Beep" lets u hear a sound so that u know ure logged in ;)[/COLOR]
While _MemoryRead(0xF5315C, $loginmemory) <> 1
ControlSend("[CLASS:CLIENT]","","Edit1", "{ENTER}")
Sleep($reconnect*1000)
If $i=1 Then
return 1
endif
WEnd
if ProcessExists("sro_client.exe") Then
_char()
Beep(350,500)
return 1
Else
$start=true
return 1
endif
EndFunc
[COLOR="YellowGreen"];so lets move to the function _char()[/COLOR]
Func _char()
[COLOR="YellowGreen"];This function selects the Char u have choosen(not the name- the position) -the function works with Pixels and not with adresses[/COLOR]
Sleep(2000)
$dw=@DesktopWidth
$dh=@DesktopHeight
$charpos=GUICtrlRead($charposgui)
$charanz=GUICtrlRead($maxchargui)
WinActivate("[CLASS:CLIENT]")
WinWaitActive("[CLASS:CLIENT]")
[COLOR="YellowGreen"];The tool Clicks at $charpos*
($dw/($charanz+1)),$dh/2, if u think a bit logical u should understand that , ;if not -> ask[/COLOR]
ControlClick("[CLASS:CLIENT]","",$charpos*($dw/($charanz+1)),$dh/2)
Sleep(3000)
ControlClick("[CLASS:CLIENT]","",4/5*$dw,9/10*$dh)
[COLOR="YellowGreen"]; the next ControlClick clicks on the Start button right down at the login ;screen[/COLOR]
EndFunc
I know the tutorial is not very good, but i dont want to do an AutoIt tutorial^^
if u have any questions -> ASK
Ill post later how to find out the Adress, that is used to know when u are Logged in!
Please post suggestions for the tutorial and correct my very bad english :D
Ill edit this tutorials some times, and will also upload new versions here, so the whole source for u:
Code:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_outfile=..\..\..\AutoLoginv0.38.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <memory2.au3>
#include <GUIConstants.au3>
#include <memory2.au3>
$file = @ScriptDir & "\login.ini"
$Form2 = GUICreate("AutoLogin by HideAndSeek", 341, 417, 249, 133)
$Group1 = GUICtrlCreateGroup("Deine Daten!", 8, 8, 169, 105)
$Label1 = GUICtrlCreateLabel("ID", 152, 32, 15, 17)
$namegui = GUICtrlCreateInput(IniRead($file,"Allgemein", "Name",""), 24, 32, 121, 21)
$pwgui = GUICtrlCreateInput(IniRead($file,"Allgemein", "PW",""), 24, 64, 121, 21)
$Label2 = GUICtrlCreateLabel("PW", 152, 64, 22, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("PC Einstellungen", 184, 8, 145, 105)
$Label7 = GUICtrlCreateLabel("Pc-Geschwindigkeit", 200, 32, 98, 17)
$leistunggui = GUICtrlCreateInput(IniRead($file,"Allgemein", "Leistung",""), 192, 88, 41, 21)
$Label10 = GUICtrlCreateLabel("Sekunden bis zum Start von", 192, 64, 137, 17)
$Label11 = GUICtrlCreateLabel("Silkroad", 240, 80, 42, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group3 = GUICtrlCreateGroup("Show/Hide Silkroad", 8, 176, 169, 97)
$hidesrogui = GUICtrlCreateButton("Hide Silkroad", 16, 200, 153, 17, $WS_GROUP)
$showsrogui = GUICtrlCreateButton("Show Silkroad", 16, 224, 153, 17, $WS_GROUP)
$exitsrogui = GUICtrlCreateButton("Exit Silkroad", 16, 248, 153, 17, $WS_GROUP)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group4 = GUICtrlCreateGroup("Programmbefehle", 8, 272, 169, 137)
$startgui = GUICtrlCreateButton("Start AutoLogin F5", 16, 296, 153, 25, $WS_GROUP)
$stopgui = GUICtrlCreateButton("Stop AutoLogin F6", 16, 328, 153, 25, $WS_GROUP)
$exitgui = GUICtrlCreateButton("Exit Tool F7", 16, 360, 153, 17, $WS_GROUP)
$showgui = GUICtrlCreateButton("Show the Tool F8", 16, 384, 153, 17, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group5 = GUICtrlCreateGroup("Programmeinstellungen", 184, 112, 145, 161)
$checked = IniRead($file, "Allgemein", "MitSRO", "")
$mitsrogui = GUICtrlCreateCheckbox("Mit Silkroad starten?", 192, 136, 113, 17)
If $checked = "1" Then
GUICtrlSetState($mitsrogui, $GUI_CHECKED)
EndIf
$Label3 = GUICtrlCreateLabel("ggf. Pfad angeben!", 192, 152, 95, 17)
$pfadgui = GUICtrlCreateInput(IniRead($file, "Allgemein", "Pfad", ""), 192, 176, 121, 21)
$searchgui = GUICtrlCreateButton("Durchsuchen", 192, 200, 121, 17, $WS_GROUP)
$reconnectgui = GUICtrlCreateInput(IniRead($file, "Allgemein", "Reconnect", ""), 192, 232, 33, 21, BitOR($ES_AUTOHSCROLL,$ES_NUMBER))
$Label8 = GUICtrlCreateLabel("Reconnect nach", 232, 224, 84, 17)
$Label9 = GUICtrlCreateLabel("X Sekunden", 232, 240, 63, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group6 = GUICtrlCreateGroup("Weiteres", 184, 272, 145, 137)
$Label5 = GUICtrlCreateLabel("For more Infos", 216, 368, 71, 17)
$linkgui = GUICtrlCreateLabel("KLICK HERE!", 216, 384, 70, 17)
GUICtrlSetFont(-1, 8, 400, 4, "MS Sans Serif")
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor (-1, 0)
$maxchar=IniRead($file, "Allgemein", "MaxChar", "")
$maxchargui = GUICtrlCreateCombo(IniRead($file, "Allgemein", "MaxChar", ""), 192, 296, 49, 25)
If $maxchar="1" Then
GUICtrlSetData($maxchargui, "2|3|4")
ElseIf $maxchar="2" Then
GUICtrlSetData($maxchar, "1|3|4")
ElseIf $maxchar="3" Then
GUICtrlSetData($maxchar, "1|2|4")
ElseIf $maxchar="4" Then
GUICtrlSetData($maxchar, "1|2|3")
EndIf
$charposgui = GUICtrlCreateCombo(IniRead($file, "Allgemein", "Charpos", ""), 192, 336, 49, 25)
If $charposgui="1" Then
GUICtrlSetData($charposgui, "2|3|4")
ElseIf $charposgui="2" Then
GUICtrlSetData($charposgui, "1|3|4")
ElseIf $charposgui="3" Then
GUICtrlSetData($charposgui, "1|2|4")
ElseIf $charposgui="4" Then
GUICtrlSetData($charposgui, "1|2|3")
EndIf
$Label4 = GUICtrlCreateLabel("Anz. von Chars", 248, 296, 76, 17)
$Label6 = GUICtrlCreateLabel("Char. Position", 248, 336, 69, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group7 = GUICtrlCreateGroup("Server", 8, 112, 169, 65)
$serverchecked = IniRead($file, "Allgemein", "ChangeServer", "")
$changeservergui = GUICtrlCreateCheckbox("Server wechseln?", 56, 120, 113, 17)
If $serverchecked = "1" Then
GUICtrlSetState($changeservergui, $GUI_CHECKED)
EndIf
$servergui = GUICtrlCreateCombo(IniRead($file,"Allgemein","Server",""), 32, 144, 121, 25)
GUICtrlSetData($servergui, "Venice|Greece|Alps|Olympus|Tibet|RedSea|Pacific|Oasis|Odin|Hercules|Alexander|Saturn|Venus|Mars|Uranus|Mercury|Poseidon|Zeus|Persia|********|Sparta|Rome|Neptune|Hera (New)|Gaia (New)|Eos (New)|Phoenix (New)|Ares (New)|Iris (New)|Titan (New)|Apollo (New)|Xian|Aege|Troy|Athens|Oasis")
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
HotKeySet("{F5}", '_start')
HotKeySet("{F6}", '_stop')
HotKeySet("{F7}", '_exit')
HotKeySet("{F8}", '_infront')
Opt('GUIOnEventMode', 1)
Opt("GUICloseOnESC", 0)
Opt("TrayAutoPause",0)
GUICtrlSetOnEvent($linkgui, '_link')
GUICtrlSetOnEvent($searchgui, '_durchsuchen')
GUICtrlSetOnEvent($startgui, '_start')
GUICtrlSetOnEvent($stopgui, '_stop')
GUISetOnEvent($GUI_EVENT_CLOSE, '_exit')
GUICtrlSetOnEvent($hidesrogui, '_hide')
GUICtrlSetOnEvent($showsrogui, '_show')
GUICtrlSetOnEvent($exitsrogui, '_exitsro')
GUICtrlSetOnEvent($exitgui, '_exit')
Global $i
Global $reconnect
Global $sro
Global $start=false
Func _start()
$start=true
EndFunc
Func _char()
Beep(500, 500)
Beep(400, 500)
Beep(300, 500)
Beep(200, 500)
Beep(100, 500)
Beep(50, 500)
Sleep(2000)
$dw=@DesktopWidth
$dh=@DesktopHeight
$charpos=GUICtrlRead($charposgui)
$charanz=GUICtrlRead($maxchargui)
$handle = WinGetHandle("[CLASS:CLIENT]")
$sropid = Wingetprocess($handle)
WinActivate($sropid)
WinWaitActive($sropid)
ControlClick($sropid,"",$charpos*($dw/($charanz+1)),$dh/2)
Sleep(3000)
ControlClick($sropid,"",4/5*$dw,9/10*$dh)
EndFunc
Func _EnterSenden()
$srohandle = WinGetHandle("sro_client.exe")
$pidsro = Wingetprocess($srohandle)
$loginmemory = _MemoryOpen($pidsro)
While _MemoryRead(0xF5315C, $loginmemory) <> 1
ControlSend("[CLASS:CLIENT]", "", "Edit1", "{ENTER}")
If ProcessExists("sro_client.exe") Then
Sleep($reconnect*1000)
Else
_start()
EndIf
If $i=1 Then
return 1
endif
WEnd
if ProcessExists("sro_client.exe") Then
_char()
return 1
Else
$start=true
return 1
endif
EndFunc
Func _link()
ShellExecute("http://forum.**********/silkroad-online/sro-bots-guides-hacks/108989-autologin-v0-38/")
EndFunc
Func _stop()
$i = 1
EndFunc
Func _infront()
WinActivate("AutoLogin by HideAndSeek")
EndFunc
Func _exit()
Exit
EndFunc
Func _hide()
$srohandle = WinGetHandle("[CLASS:CLIENT]")
$sropid = Wingetprocess($srohandle)
WinSetState($sropid, "", @SW_HIDE)
EndFunc
Func _show()
$srohandle = WinGetHandle("[CLASS:CLIENT]")
$sropid = Wingetprocess($srohandle)
WinSetState($sropid, "", @SW_SHOW)
EndFunc
Func _exitsro()
$srohandle = WinGetHandle("[CLASS:CLIENT]")
$sropid = Wingetprocess($srohandle)
If ProcessExists($sropid) Then
If MsgBox(292, "Achtung!", "Willst du Silkroad wirklich beenden?") = 6 Then
ProcessClose($sropid)
EndIf
EndIf
EndFunc
Func _durchsuchen()
$pfad = FileOpenDialog("Silkroad Launcher ausw鄣len!", @DesktopDir, "Silkroad Launcher (*.exe)", 1)
If Not @error Then
GUICtrlSetData($pfadgui, $pfad)
EndIf
EndFunc
While 1
if $start=true Then
$start=false
$i = 0
$pfad = GUICtrlRead($pfadgui)
$name = GUICtrlRead($namegui)
$pw = GUICtrlRead($pwgui)
$leistung = GUICtrlRead($leistunggui)
$reconnect = GUICtrlRead($reconnectgui)
$charpos=GUICtrlRead($charposgui)
$maxchar=GUICtrlRead($maxchargui)
$server=GUICtrlRead($servergui)
If GUICtrlRead($changeservergui)=$GUI_CHECKED Then
$changeserver= "1"
Else
$changeserver= "0"
EndIf
If GUICtrlRead($mitsrogui)=$GUI_CHECKED Then
$mitsro= "1"
Else
$mitsro= "0"
EndIf
$file = @ScriptDir & "\login.ini"
IniWrite($file, "Allgemein", "Name", $name)
IniWrite($file, "Allgemein", "PW", $pw)
IniWrite($file, "Allgemein", "Leistung", $leistung)
IniWrite($file, "Allgemein", "Pfad", $pfad)
IniWrite($file, "Allgemein", "Reconnect", $reconnect)
IniWrite($file, "Allgemein", "Charpos", $charpos)
IniWrite($file, "Allgemein", "MaxChar", $maxchar)
IniWrite($file, "Allgemein", "Server", $server)
IniWrite($file, "Allgemein", "MitSRO", $mitsro)
IniWrite($file, "Allgemein", "ChangeServer", $changeserver)
if $charpos > $maxchar Then
MsgBox(0,"Falsche Charakter Position!", "Deine Charakterposition kann nichts h鐬er als deine Zahl an Charakteren sein!")
EndIf
if $maxchar > "4" Then
MsgBox(0, "Zu hohe Anzahl von Chars!", "Du kannst nicht mehr als 4 Charaktere haben >.^")
EndIf
if $charpos = "0" Then
MsgBox(0,"Falsche CharPosition","Du kannst nur die Positionen 1-4 belegen")
EndIf
If $charpos > "5" Then
MsgBox(0,"Falsche CharPosition", "Du kannst nur die Positionen 1-4 belegen")
EndIf
If $leistung = "" Then
$leistung = "25"
EndIf
if $mitsrogui = $GUI_CHECKED Then
If $name = "" Then
MsgBox(0, "Keine ID", "Du musst eine ID angeben!")
EndIf
If $pw = "" Then
MsgBox(0, "Kein PW", "Du musst ein PW angeben!")
EndIf
EndIf
If $reconnect = "" Then
$reconnect = "7"
EndIf
If GUICtrlRead($changeservergui) = $GUI_CHECKED Then
RegWrite("HKEY_CURRENT_USER\Software\Joymax\Silkroad","RECENTSERVER","REG_SZ",$server)
EndIf
if GUICtrlRead($mitsrogui) = $GUI_CHECKED Then
Run($pfad)
WinWaitActive("[CLASS:#32770]")
If WinActive("[CLASS:#32770]") = 0 Then
Do
WinActivate("[CLASS:#32770]")
Until WinActive("[CLASS:#32770]") = 1
EndIf
Sleep(500)
ControlClick("[CLASS:#32770]", "", "[CLASS:Button; INSTANCE:18]")
Sleep(5000)
ControlClick("[CLASS:#32770]", "", "[CLASS:Button; INSTANCE:1]")
Sleep($leistung*1000)
ControlSend("[CLASS:CLIENT]", "", "Edit1", "x")
Sleep(500)
ControlSend("[CLASS:CLIENT]", "", "Edit1", $name)
Sleep(500)
ControlSend("[CLASS:CLIENT]", "", "Edit1", "{TAB}")
Sleep(500)
ControlSend("[CLASS:CLIENT]", "", "Edit1", $pw)
Sleep(100)
_EnterSenden()
Else
_EnterSenden()
EndIf
EndIf
$handle = WinGetHandle("[CLASS:CLIENT]")
$sropid = Wingetprocess($handle)
$memory = _MemoryOpen($sropid)
If _MemoryRead(0x1267F2, $memory) = 1 Then
_MemoryClose($memory)
_start()
EndIf
WEnd