ich hab da ein Problem. Hab auch schon SuFu & Google benutzt + Scripts
angeguckt, aber anscheinend hat niemand das selbe Problem wie ich.
Und zwar hab ich mir nen simplen Bot gemacht, der mich in Guild Wars anmelden
soll und dann nen Charakter auswählen soll. Klappt auch alles soweit gut^^
Aber ich hab jetzt noch 2 Buttons eingebaut; Start und Stopp.
Start = GW in den Vordergrund, W gedrückt halten, 10 secs halten
und dann den Bot in den Vordergrund.
Stopp = GW in den Vordergrund und W loslassen.
Hab auch noch den "Schließen" Button mit den Anweisungen Exit, ExitLoop und GUIDelete()
belegt, und das funktioniert auch, sofern das Programm seine Befehle abgearbeitet hat.
Aber der Start und der Stopp Button wollen ums Verecken nicht funktionieren.
Habs schon mit Select-Case, Switch-Case und aus lauter Verzweiflung mit If-Then
versucht, alles hat nicht geklappt... Hier mal die 3 Codes, was mach ich falsch?
Run("C:\Programme\GUILD WARS\Gw.exe", "", @SW_MAXIMIZE) ;Guild Wars starten & in den Vordergrund
Sleep(7000)
Opt("SendKeyDownDelay", 50)
Opt("SendKeyDelay", 50)
$hWnd = WinGetHandle("Guild Wars") ;Handle von Guild Wars holen
ControlSend($hWnd, "", "", "xyz") ;Passwort eingeben (xyz ist natürlich nicht das richtige^^)
Sleep(10)
ControlSend($hWnd, "", "", "{enter}") ;einloggen
Sleep(2500)
ControlSend($hWnd, "", "", "{enter}") ;Charakter auswählen
Sleep(8000)
$hwnd = WinGetHandle("Guild Wars Bot") ;Handle vom Bot holen
WinActivate($hwnd) ;Bot in den Vordergrund
Func start()
WinActivate($hWnd) ;Guild Wars in den Vordergrund
ControlSend($hWnd, "", "", "{w down}") ;"w" gedrückt halten
Sleep(1000)
WinActivate($hwnd) ;Bot wieder in den Vordergrund
EndFunc
Run("C:\Programme\GUILD WARS\Gw.exe", "", @SW_MAXIMIZE) ;Guild Wars starten & in den Vordergrund
Sleep(7000)
Opt("SendKeyDownDelay", 50)
Opt("SendKeyDelay", 50)
$hWnd = WinGetHandle("Guild Wars") ;Handle von Guild Wars holen
ControlSend($hWnd, "", "", "xyz") ;Passwort eingeben (xyz ist natürlich nicht das richtige^^)
Sleep(10)
ControlSend($hWnd, "", "", "{enter}") ;einloggen
Sleep(2500)
ControlSend($hWnd, "", "", "{enter}") ;Charakter auswählen
Sleep(8000)
$hwnd = WinGetHandle("Guild Wars Bot") ;Handle vom Bot holen
WinActivate($hwnd) ;Bot in den Vordergrund
Func start()
WinActivate($hWnd) ;Guild Wars in den Vordergrund
ControlSend($hWnd, "", "", "{w down}") ;"w" gedrückt halten
Sleep(1000)
WinActivate($hwnd) ;Bot wieder in den Vordergrund
EndFunc
Run("C:\Programme\GUILD WARS\Gw.exe", "", @SW_MAXIMIZE) ;Guild Wars starten & in den Vordergrund
Sleep(7000)
Opt("SendKeyDownDelay", 50)
Opt("SendKeyDelay", 50)
$hWnd = WinGetHandle("Guild Wars") ;Handle von Guild Wars holen
ControlSend($hWnd, "", "", "xyz") ;Passwort eingeben (xyz ist natürlich nicht das richtige^^)
Sleep(10)
ControlSend($hWnd, "", "", "{enter}") ;einloggen
Sleep(2500)
ControlSend($hWnd, "", "", "{enter}") ;Charakter auswählen
Sleep(8000)
$hwnd = WinGetHandle("Guild Wars Bot") ;Handle vom Bot holen
WinActivate($hwnd) ;Bot in den Vordergrund
Func start()
WinActivate($hWnd) ;Guild Wars in den Vordergrund
ControlSend($hWnd, "", "", "{w down}") ;"w" gedrückt halten
Sleep(1000)
WinActivate($hwnd) ;Bot wieder in den Vordergrund
EndFunc
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
ExitLoop
GUIDelete($hwnd)
Case $nMsg = $start
start()
Case $nMsg = $end
end()
EndSelect
WEnd
Dazu muss ich noch sagen, dass ich absoluter AutoIt Anfänger bin.
Wenn ich etwas falsch gemacht hab (auch wenns fatal ist) bitte nicht anflamen.
Vllt brauch ich ja noch nen Header oder whatever, keine Ahnung
Achja, hab auch schon direkt die Befehle hinter zb Case geschrieben, also
ohne Funktion, hat aber auch nicht funktioniert.
Ich weiß nicht ob das mit deiner Frage zusammen hängt, aber:
1) Hwnd und hWnd sind das gleiche. Groß und kleinschreibung sind egal
2) dann versteh ich was nicht:
PHP Code:
Func start() WinActivate($hWnd) ;Guild Wars in den Vordergrund ControlSend($hWnd, "", "", "{w down}") ;"w" gedrückt halten Sleep(1000) WinActivate($hwnd) ;Bot wieder in den Vordergrund EndFunc
Also da ich ja in den Anfängen von AutoIt bin, ist das einfach nur ein Testbot
Ich will mich halt stückweise vorarbeiten, und den bot Stück für Stück erweitern.
Deswegen auch das mit den W drücken und der end Funktion, einfach um zu sehen obs klappt ^^
Und aus dem W drücken wird dann irgendwann mehr und mehr, bis es ein vollständiger Bot ist^^
Und wegen hwnd und hWnd: hwnd=Handle vom Bot und hWnd=Handle von Guild Wars.
Sieht man auch hier:
PHP Code:
$hWnd = WinGetHandle("Guild Wars") ;Handle von Guild Wars holen
$hwnd = WinGetHandle("Guild Wars Bot") ;Handle vom Bot holen
Zu 5., Da ruf ich keine Funktion auf, weil das ja auch so klappt^^
Aber haste keine Idee, warum die Buttons nicht funktionieren?
€dit: Sry, dass die Antwort erst jetzt kommt, war noch duschen
die handles bleiben doch gleich wenn es das selbe fenster ist, kapier ich grad nicht.
deine buttons werden nicht gehen da es kein winhandle für den fensternamen "guild wars bot" gibt. oder heisst dein gw client wirklich guild wars bot? meiner heisst nur Guild Wars.
Oh man geil =D
Jetzt klappts endlich, hab einfach hwnd & hwnd2 gemacht
Bin das von C++ gewöhnt, dass man auf Groß- und Kleinschreibung achten muss^^
Vielen Dank!
Und btw, ja ich hab mir den Handle von meinem Bot geholt,
damit ich den mit WinActivate in den Vordergrund holen kann^^
Und bei mir heißt das Gw Fenster auch Guild Wars =D
Warum sollte mein Gw Fenster Guild Wars Bot heißen? xD
Naja egal auch, es klappt^^
Thx nochmal
Aber jetzt kommt grad noch ein Problem, und zwar hab ich nen Bot gemacht, der
auf Knopfdruck GW maximieren soll und dann abwechselnd /sit und /stand spammen soll.
Also wenn ich es ohne Switch-Case direkt in den Loop (oder wie heißt das?^^) mache,
klappt es auch prima, aber wenn ich es mit Switch-Case oder auch mit ner If schleife mache,
maximiert der Bot GW, spammt ungefähr 5 mal /sit & /stand in den Chat, aber nach den paar
mal hört das Programm aufeinmal auf, es drückt auch keine Inventar-Taste oder was auch
immer, also ein Enter hab ich nicht vergessen. Ich hab mir jetzt gedacht, dass es vllt daran
liegt, dass es bei Schleifenbeginn immerwieder WinAvtivate($hwnd) macht, und deswegen
gibts irgend ne Störung im Programm oder ka was, aber das kann ja nicht sein, sonst hätte
es ja schon nach 1 mal Spam, also einem Schleifendurchlauf geendet.
€dit: Habs jetzt mal mit ner func gemacht, jetzt durchläufts wirklich nurnoch 1 mal
die Schleife als es kommt nur einmal /sit & /stand an.....
Also, ich hab jetzt mal ein bisschen umgeändert, das Prinzip ist aber das selbe.
Aber egal, welche Anzahl ich eingebe, es durchläuft die Schleife immer nur 4 mal.
Regi problem keine button anklickbar oO 05/12/2010 - Metin2 Private Server - 5 Replies moin,
hab folgendes problem bei meiner regi:
Mann kann registration usw nich sehen oder anklicken hier n screen:
http://img508.imageshack.us/img508/7845/regi.png
BUTTON problem 03/01/2010 - AutoIt - 1 Replies Hallo Leute,
Ich hab jetzt einen ganz guten farmbot für mich gemacht
doch ein problem habe ich,da ich nicht weiß wie man ein bot pausiert (durch einen button) muss ich den bot immer wieder schließen.
Hat jemand ne lösung für mich
danke im voraus:)
WarRock statt KOREANISCHE BUTTON --> Englische BUTTON 02/26/2010 - WarRock - 6 Replies Bin mir nicht sicher ob es diesen Thread schon gibt
aber hab bis jetzt nichts gesehen hier.
Funktionen
Für WarRock Korea
Koreanische Schriften (Button) weg und englische Schriften (Button) hin
Anleitung
login problem no button 02/07/2010 - SRO Private Server - 5 Replies hey all
look at the pictures plz, i cant login cuzz i see no buttons.
any1 know how to help me?
ECSRO - button problem on vista 04/19/2009 - SRO Private Server - 1 Replies I tried to play ecsro on notebook with vista but i have a problem with the buttons by logining.
I'll not explain to much, i think that those screens say everything.
http://i88.servimg.com/u/f88/12/08/50/36/siilk110 .jpg
http://i88.servimg.com/u/f88/12/08/50/36/silk210. jpg
I can't start the game after i choose my char, because i dont see the buttons :(
Do anyone know how can i fix it ?