|
You last visited: Today at 14:23
Advertisement
AutoIt login Bot Frage
Discussion on AutoIt login Bot Frage within the S4 League forum part of the Shooter category.
08/13/2010, 19:56
|
#1
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
AutoIt login Bot Frage
Hallo an alle,
Ich wollte gerne mal nen LoginBot mit AutoIT machen und nun habe ich ein kleines Problem:
Ich habe versucht, dass er überprüft ob 3 Farben des Login Bildschirmes stimmen und habe gemerkt, dass AutoIT das irendwie nicht schafft...
Nun wollte ich fragen, ob es da eine Möglichkeit gibt, das zu umgehen, oder eine andere Idee geben könnt wie ich es machen soll, dass er wartet bis der Login Bildschirm auftaucht.
Würde mich über Hilfe sehr freuen, und kommt mir nicht mit: "Nimm doch Mipez Loginbot der ist gut blabla", Ich weiss dass er gut ist aber ich will selber einen machen. 
Mfg Oodama
|
|
|
08/13/2010, 21:03
|
#2
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by Oodama
Hallo an alle,
Ich wollte gerne mal nen LoginBot mit AutoIT machen und nun habe ich ein kleines Problem:
Ich habe versucht, dass er überprüft ob 3 Farben des Login Bildschirmes stimmen und habe gemerkt, dass AutoIT das irendwie nicht schafft...
Nun wollte ich fragen, ob es da eine Möglichkeit gibt, das zu umgehen, oder eine andere Idee geben könnt wie ich es machen soll, dass er wartet bis der Login Bildschirm auftaucht.
Würde mich über Hilfe sehr freuen, und kommt mir nicht mit: "Nimm doch Mipez Loginbot der ist gut blabla", Ich weiss dass er gut ist aber ich will selber einen machen. 
Mfg Oodama
|
Hm, da helf ich gerne^^
Also, welche Farben suchst du denn genau?
Ich würde die beiden Eingabefelder empfehlen. Farbe is 3C4757 (Hex).
Soll es auflösungsunabhängig sein?
Ich würde dir für den Anfang eine feste Auflösung vorschlagen, halt die, mit der du normalerweise spielst.
|
|
|
08/13/2010, 21:24
|
#3
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
Erstens mal , wieso ist dein benutzerbild so gross?? xDD
Zweitens, habe ich das Gefühl, das bei mir wenn ich mit AutoIT irgendwas mit Farben machen will, und S4 offen ist dass es nicht funktioniert.
Was kann ich dagegen machen?
|
|
|
08/13/2010, 21:27
|
#4
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by Oodama
Erstens mal , wieso ist dein benutzerbild so gross?? xDD
Zweitens, habe ich das Gefühl, das bei mir wenn ich mit AutoIT irgendwas mit Farben machen will, und S4 offen ist dass es nicht funktioniert.
Was kann ich dagegen machen?
|
Ich habmal n verbuggtes Bild erstellt xD
WinWait("S4 Client")
Do
...
Until
Also erst Script starten, dann S4.
|
|
|
08/13/2010, 21:44
|
#5
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
Ich stelle mal mein Script rein vielleicht ist es noch zu retten:
Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
#Region ### START Koda GUI section ### Form=
$Bot = GUICreate("Login-Bot by Oodama", 476, 257, 203, 206)
GUISetBkColor(0xC0C0C0)
$Name = GUICtrlCreateInput("", 24, 48, 257, 21)
$Pass = GUICtrlCreateInput("", 24, 112, 257, 21,$ES_PASSWORD)
$Label1 = GUICtrlCreateLabel("Benutzername:", 104, 24, 126, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Passwort:", 128, 80, 82, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Go = GUICtrlCreateButton("Log In !", 328, 40, 137, 65, 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$Save1 = GUICtrlCreateButton("Save 1", 24, 160, 75, 25, 0)
$Load1 = GUICtrlCreateButton("Load 1", 24, 192, 75, 25, 0)
$Save2 = GUICtrlCreateButton("Save 2", 104, 160, 75, 25, 0)
$Load2 = GUICtrlCreateButton("Load 2", 104, 192, 75, 25, 0)
$Save3 = GUICtrlCreateButton("Save 3", 184, 160, 75, 25, 0)
$Load3 = GUICtrlCreateButton("Load 3", 184, 192, 75, 25, 0)
$Save4 = GUICtrlCreateButton("Save 4", 264, 160, 75, 25, 0)
$Load4 = GUICtrlCreateButton("Load 4", 264, 192, 75, 25, 0)
$Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Kevin Wüst\Eigene Dateien\Eigene Bilder\Arcane_Rune_Circle_by_thy6sins6of6lust.jpg", 344, 120, 124, 108, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
TraySetClick("9")
$MenuItem1 = TrayCreateItem("Window Show")
$MenuItem2 = TrayCreateItem("Window Hide")
$MenuItem3 = TrayCreateItem("Close Program")
$MenuItem4 = GUICtrlCreateMenu("Options")
$MenuItem8 = GUICtrlCreateMenu("Save", $MenuItem4)
$MenuItem12 = GUICtrlCreateMenuItem("Place 1", $MenuItem8)
$MenuItem11 = GUICtrlCreateMenuItem("Place 2", $MenuItem8)
$MenuItem10 = GUICtrlCreateMenuItem("Place 3", $MenuItem8)
$MenuItem9 = GUICtrlCreateMenuItem("Place 4", $MenuItem8)
$MenuItem5 = GUICtrlCreateMenu("Load", $MenuItem4)
$MenuItem16 = GUICtrlCreateMenuItem("Place 1", $MenuItem5)
$MenuItem15 = GUICtrlCreateMenuItem("Place 2", $MenuItem5)
$MenuItem14 = GUICtrlCreateMenuItem("Place 3", $MenuItem5)
$MenuItem13 = GUICtrlCreateMenuItem("Place 4", $MenuItem5)
$MenuItem17 = GUICtrlCreateMenuItem("Close Program", $MenuItem4)
$MenuItem7 = GUICtrlCreateMenu("Credits")
$MenuItem20 = GUICtrlCreateMenuItem("Credits", $MenuItem7)
$MenuItem6 = GUICtrlCreateMenu("Need Help?")
$MenuItem18 = GUICtrlCreateMenuItem("Short Help", $MenuItem6)
$MenuItem19 = GUICtrlCreateMenuItem("Link to Thread", $MenuItem6)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$farbe1=0x000000
$bn=GuiCtrlRead($Name)
$pw=GUICtrlRead($Pass)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Go
If PixelGetColor(1108,79) or PixelGetColor(300,707)=$farbe1 = False Then
ToolTip("Waiting For Login Screen!",0,0)
ElseIf PixelGetColor(1108,79) and PixelGetColor(300,707)=$farbe1 Then
MouseClick("left",652, 420)
Send($bn)
Send("{Tab}")
Send($pw)
Send("{Enter}"
Tooltip("Erfolgreich Eingeloggt!")
Sleep(2500)
ToolTip()
Exit
EndIf
EndSwitch
WEnd
Ähm und das mit WinWait begreif ich nicht ganz sry <.<
|
|
|
08/13/2010, 22:19
|
#6
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Uff... Da is so einiges nicht ganz knorke^^
Macht aber nix, jeder fängt mal an.
Probier als erstes ein paar MsgBoxen einzubauen: MsgBox(0,"","Erfolgreich")
Z.B. nach PixelGetColor, etc. .
Ich würde erstmal so anfangen:
Code:
Opt("PixelCoordMode",0) ;setzt die Koordinaten relativ zu Fenstern
;auflösung muss in dem Fall 1280x800 sein
$x1 = 603 ;links
$y1 = 393 ;oben
$x2 = 605 ;rechts
$y2 = 395 ;unten
If NOT WinExists("S4 Client") Then ;prüft ob S4 Client vorhanden ist
WinWait("S4 Client") ;wenn nicht, wartets auf S4 Client bis es existiert
Else
WinActivate("S4 Client") ;falls S4 Client existiert, wird es aktiviert
EndIf
$shandle = WinGetHandle("S4 Client") ;lädt den Handle von S4 Client, Handle kann man als spezifische Identifikation bezeichnen
Do
$sPixel = PixelSearch($x,$y,$x2,$y2,0x3C4757,1,"",$shandle) ;sucht exakt im S4 Client Fenster
Until IsArray($sPixel) ;bis PixelSearch erolgreich war
MsgBox(0,"","Erfolgreich")
|
|
|
08/13/2010, 23:24
|
#7
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
Mein AutoIT ist nicht fähig farben bei s4 auszulesen o.Ä.
ich frage mich warum...??
|
|
|
08/13/2010, 23:30
|
#8
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by Oodama
Mein AutoIT ist nicht fähig farben bei s4 auszulesen o.Ä.
ich frage mich warum...??
|
Doch ist es^^
Sonst Kompilier es mal, hilft ab und zu.
|
|
|
08/14/2010, 16:46
|
#9
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
Hmm hilft alles nichts...
Ich hänge nachher mal meine Exe und mein Script an..
Irgendwie geht es bei mir nicht 
Hier das Script:
PHP Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
Opt("TrayMenuMode", 1)
#Region ### START Koda GUI section ### Form=
$Bot = GUICreate("Login-Bot by Oodama", 476, 257, 203, 206)
GUISetBkColor(0xC0C0C0)
$Name = GUICtrlCreateInput("", 24, 48, 257, 21)
$Pass = GUICtrlCreateInput("", 24, 112, 257, 21,$ES_PASSWORD)
$Label1 = GUICtrlCreateLabel("Benutzername:", 104, 24, 126, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("Passwort:", 128, 80, 82, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Go = GUICtrlCreateButton("Log In !", 328, 40, 137, 65, 0)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
$Save1 = GUICtrlCreateButton("Save 1", 24, 160, 75, 25, 0)
$Load1 = GUICtrlCreateButton("Load 1", 24, 192, 75, 25, 0)
$Save2 = GUICtrlCreateButton("Save 2", 104, 160, 75, 25, 0)
$Load2 = GUICtrlCreateButton("Load 2", 104, 192, 75, 25, 0)
$Save3 = GUICtrlCreateButton("Save 3", 184, 160, 75, 25, 0)
$Load3 = GUICtrlCreateButton("Load 3", 184, 192, 75, 25, 0)
$Save4 = GUICtrlCreateButton("Save 4", 264, 160, 75, 25, 0)
$Load4 = GUICtrlCreateButton("Load 4", 264, 192, 75, 25, 0)
$Pic1 = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Kevin Wüst\Eigene Dateien\Eigene Bilder\Arcane_Rune_Circle_by_thy6sins6of6lust.jpg", 344, 120, 124, 108, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
TraySetClick("9")
$MenuItem1 = TrayCreateItem("Window Show")
$MenuItem2 = TrayCreateItem("Window Hide")
$MenuItem3 = TrayCreateItem("Close Program")
$MenuItem4 = GUICtrlCreateMenu("Options")
$MenuItem8 = GUICtrlCreateMenu("Save", $MenuItem4)
$MenuItem12 = GUICtrlCreateMenuItem("Place 1", $MenuItem8)
$MenuItem11 = GUICtrlCreateMenuItem("Place 2", $MenuItem8)
$MenuItem10 = GUICtrlCreateMenuItem("Place 3", $MenuItem8)
$MenuItem9 = GUICtrlCreateMenuItem("Place 4", $MenuItem8)
$MenuItem5 = GUICtrlCreateMenu("Load", $MenuItem4)
$MenuItem16 = GUICtrlCreateMenuItem("Place 1", $MenuItem5)
$MenuItem15 = GUICtrlCreateMenuItem("Place 2", $MenuItem5)
$MenuItem14 = GUICtrlCreateMenuItem("Place 3", $MenuItem5)
$MenuItem13 = GUICtrlCreateMenuItem("Place 4", $MenuItem5)
$MenuItem17 = GUICtrlCreateMenuItem("Close Program", $MenuItem4)
$MenuItem7 = GUICtrlCreateMenu("Credits")
$MenuItem20 = GUICtrlCreateMenuItem("Credits", $MenuItem7)
$MenuItem6 = GUICtrlCreateMenu("Need Help?")
$MenuItem18 = GUICtrlCreateMenuItem("Short Help", $MenuItem6)
$MenuItem19 = GUICtrlCreateMenuItem("Link to Thread", $MenuItem6)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$bn=GuiCtrlRead($Name)
$pw=GUICtrlRead($Pass)
Opt("PixelCoordMode",0)
$x1 = 603 ;links
$y1 = 393 ;oben
$x2 = 605 ;rechts
$y2 = 395 ;unten
While 1
$nMsg = GUIGetMsg()
$tMsg = TrayGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Go
If NOT WinExists("S4 Client") Then ;prüft ob S4 Client vorhanden ist
WinWait("S4 Client") ;wenn nicht, wartets auf S4 Client bis es existiert
Else
WinActivate("S4 Client") ;falls S4 Client existiert, wird es aktiviert
EndIf
$shandle = WinGetHandle("S4 Client") ;lädt den Handle von S4 Client, Handle kann man als spezifische Identifikation bezeichnen
Do
$sPixel = PixelSearch($x1,$y1,$x2,$y2,0x3C4757,1,"",$shandle) ;sucht exakt im S4 Client Fenster
Until IsArray($sPixel) ;bis PixelSearch erolgreich war
ToolTip("Erfolgreich",0,0)
Sleep(150)
MouseClick("left",568, 371)
sleep(150)
Send($bn)
sleep(150)
Send("{Tab}")
sleep(150)
Send($pw)
Sleep(150)
Send("{Enter}")
sleep(150)
Tooltip("Erfolgreich Eingeloggt!")
Sleep(2500)
ToolTip()
Exit
Case $Load1
Iniread(@TempDir&"\Oodama.ini","11","12",$Name)
Iniread(@TempDir&"\Oodama.ini","12","12",$Pass)
Case $Load2
Iniread(@TempDir&"\Oodama.ini","21","21",$Name)
Iniread(@TempDir&"\Oodama.ini","22","22",$Pass)
Case $Load3
Iniread(@TempDir&"\Oodama.ini","31","31",$Name)
Iniread(@TempDir&"\Oodama.ini","32","32",$Name)
Case $Load4
Iniread(@TempDir&"\Oodama.ini","41","41",$Name)
Iniread(@TempDir&"\Oodama.ini","42","42",$Pass)
Case $Save1
IniWrite(@SCRIPTDIR&"\Oodama.ini","11","11",$bn)
IniWrite(@SCRIPTDIR&"\Oodama.ini","12","12",$pw)
Case $Save2
IniWrite(@SCRIPTDIR&"\Oodama.ini","21","21",$bn)
IniWrite(@SCRIPTDIR&"\Oodama.ini","22","22",$pw)
Case $Save3
IniWrite(@SCRIPTDIR&"\Oodama.ini","31","31",$bn)
IniWrite(@SCRIPTDIR&"\Oodama.ini","32","32",$pw)
Case $Save4
IniWrite(@SCRIPTDIR&"\Oodama.ini","41","41",$bn)
IniWrite(@SCRIPTDIR&"\Oodama.ini","42","42",$Pass)
EndSwitch
Switch $tMsg
Case $MenuItem3
Exit
Case $MenuItem1
GUISetState(@SW_SHOW)
Case $MenuItem2
GUISetState(@SW_HIDE)
EndSwitch
WEnd
Exe Kommt Gleich....
|
|
|
08/14/2010, 17:01
|
#10
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Probier mal, nur dieses Script auszuführen:
Code:
If NOT WinExists("S4 Client") Then WinWait("S4 Client")
WinActivate("S4 Client")
Opt("PixelCoordMode",0)
$sHandle = WinGetHandle("S4 Client")
$sSize = WinGetClientSize("S4 Client")
MsgBox(0,"","")
Do
$sPixel = PixelGetColor($sSize[0] /2, $sSize[1] /2, $sHandle)
Until $sPixel = Dec("3C4757")
MsgBox(0,"","")
Und sag mir ob die MsgBox erscheint.
|
|
|
08/14/2010, 17:08
|
#11
|
elite*gold: 20
Join Date: Nov 2009
Posts: 2,256
Received Thanks: 1,570
|
vllt liegt es an X-Trap? 
mir ist aufgefallen das AutoIT keine farben findet wenn S4 offen ist 
das hilfe tool findet immer 0x000000 wenn S4 an ist.
und Pixelsearch funktioniert auch nicht
|
|
|
08/14/2010, 17:12
|
#12
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by DarkGER!
vllt liegt es an X-Trap? 
mir ist aufgefallen das AutoIT keine farben findet wenn S4 offen ist 
das hilfe tool findet immer 0x000000 wenn S4 an ist.
und Pixelsearch funktioniert auch nicht 
|
Doch es findet sehr wohl Farben ;D
PixelSearch, PixelGetColor, etc. funktionieren einwandfrei oô
Und das Window Info Tool is eh nur für Koordinaten gut :x
|
|
|
08/14/2010, 17:17
|
#13
|
elite*gold: 113
Join Date: Dec 2009
Posts: 16,685
Received Thanks: 4,450
|
Ganz merkwürdig...
Die MsgBox erscheint sobald mein Pc die Auflösung ändert..
|
|
|
08/14/2010, 17:33
|
#14
|
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
|
Quote:
Originally Posted by Oodama
Ganz merkwürdig...
Die MsgBox erscheint sobald mein Pc die Auflösung ändert.. 
|
Welche Auflösung?
|
|
|
08/14/2010, 17:33
|
#15
|
elite*gold: 0
Join Date: Aug 2009
Posts: 678
Received Thanks: 368
|
Quote:
Originally Posted by mipez
Doch es findet sehr wohl Farben ;D
PixelSearch, PixelGetColor, etc. funktionieren einwandfrei oô
Und das Window Info Tool is eh nur für Koordinaten gut :x
|
hab n einfachen script mal benutzt
Code:
#RequireAdmin
$DH = @DesktopHeight
$DH2 = $DH / 2
$DW = @DesktopWidth
$DW2 = $DW / 2
While 1
Sleep(500)
$Colour = PixelGetColor($DH2 , $DW2)
Tooltip(HEX($colour, 6),0,0)
Wend
ganz schlicht.....
aber der gibt auch nur 000000 an......
hab es auf 32bit und auf 64bit probiert
Komplemiert und nur als script version
der gibt wenn s4 an is 000000 an....
|
|
|
All times are GMT +1. The time now is 14:23.
|
|