Hilfe bei AutoIt Bot.

01/31/2008 17:55 blackWorkx#1
Hi,

ich habe ein "Macro" geschrieben, in AutoIt. Und habe nun ein kleines problem welches ich nicht gelöst bekomme. Bin noch ziemlich neu in diesem bereich.

Mein Problem ist, das der Bot (das Macro) nicht komplett läuft. Das Macro Startet per klick auf dem Start Button, er öffnet dann auch das Window " Guild Wars" doch dann passiert nichts mehr. Er bleibt einfach stehen ohne das irgentwie was weiter passiert. Die HotKeys und so klappen alle nur halt der Bot ablauf nicht. Könnte jemand sich das mal genauer anschauen was ich dort im Script vieleicht falsch gemacht haben könnte weshalb er nicht weiter läuft?

Script:

Quote:
#cs
# ______ _ _ ______ ______ ______ ______ _____
#(____ \| | | | / _____) (_____ \ / __ |/ __ |/ ___ \
# ____) ) | ____ ____| | _ | / ___ ____ ____ ____) ) | //| | | //| ( ( ) )
#| __ (| |/ _ |/ ___) | / )| | / _ \ / ___) _ \/_____/| |// | | |// | |> > < <
#| |__) ) ( ( | ( (___| |< ( | \____| |_| | | | | | |______| /__| | /__| ( (___) )
#|______/|_|\_||_|\____)_| \_|_)______)___/|_| | ||_(_______)\_____/ \_____/ \_____/
# |_|
# Script Edit by BlackWorkX(c)2007 user by BlackCorp2008
#ce


#include <GUIConstants.au3>

#Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\blacksun-design\desktop\blackworkx\gui-form-t1.kxf
$Form1_1 = GUICreate("T1-Thermalquellen Hardmode Bot", 489, 371, 193, 125)
$Group1 = GUICtrlCreateGroup("Choose your Options", 32, 72, 417, 217)
$Checkbox1 = GUICtrlCreateCheckbox("Join Guildhall after finish", 48, 128, 137, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Ident Items", 48, 160, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox3 = GUICtrlCreateCheckbox("Sell Items", 48, 192, 97, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox4 = GUICtrlCreateCheckbox("Change Normalmode to Hardmode", 48, 224, 185, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Checkbox5 = GUICtrlCreateCheckbox("Emotion´s /Dance and more", 48, 256, 161, 17)
$Group2 = GUICtrlCreateGroup("Skill Code", 224, 168, 201, 49)
$Input1 = GUICtrlCreateInput("OwAU0MH/OoF1DkG8epUkyDgA", 232, 184, 177, 21)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Checkbox6 = GUICtrlCreateCheckbox("Farm Thermalquellen", 48, 96, 137, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Group3 = GUICtrlCreateGroup("Runs TQ", 224, 96, 201, 57)
$Input2 = GUICtrlCreateInput("1", 256, 120, 33, 21)
$Input3 = GUICtrlCreateInput("1000", 368, 120, 33, 21)
$Label3 = GUICtrlCreateLabel("to", 312, 120, 13, 17)
$Label4 = GUICtrlCreateLabel("min.", 232, 128, 23, 17)
$Label5 = GUICtrlCreateLabel("max.", 344, 128, 26, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Start Bot", 152, 312, 171, 41, 0)
$Label1 = GUICtrlCreateLabel("T1 Thermallquellen Hardmode Bot", 104, 8, 276, 24)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Label2 = GUICtrlCreateLabel("BlackWorkX(c)2007", 184, 32, 100, 17)
GUICtrlSetFont(-1, 6, 400, 0, "MS Sans Serif")
$Icon1 = GUICtrlCreateIcon("C:\Programme\GUILD WARS\Gw.exe", -2, 424, 272, 32, 32, BitOR($SS_NOTIFY,$WS_GROUP))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

Global $Paused

$runtq = False
$ident = False
$sell = False
$runsTQ = 0
$hall = False
$emot = False

HotKeySet("{F8}", "end")
HotKeySet("{PAUSE}", "TogglePause")

While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
start()
EndSwitch
sleep(15)
WEnd

Func TogglePause()
$Paused = NOT $Paused
While $Paused
sleep(100)
ToolTip('Script is "Paused"',0,0)
WEnd
ToolTip("Script is running")
If Not WinActivate("Guild Wars") Then
WinActivate("Guild Wars")
EndIf
Sleep(2000)
EndFunc

func end()
Exit
EndFunc

func RandomSleep($min, $max)
$time = Random($min, $max)
Sleep($time)
EndFunc

Func hm()
;-Start Normalmode to Hardmode befor run Bot
RandomSleep(1000, 1600)
MouseMove(782,61)
MouseDown("left")
MouseUp("left")
RandomSleep(500, 800)
;-Ende Normalmode to Hardmode befor run Bot
EndFunc

Func sell()
;-Start run to Sell Script Tquellen
RandomSleep(2000, 2500)
Send("{a down}")
RandomSleep(1000, 1100)
Send("{a up}")
RandomSleep(2000, 2100)
Send("{w down}")
RandomSleep(3700, 3950)
Send("{d down}")
RandomSleep(1100, 1200)
Send("{d up}")
RandomSleep(1300, 1500)
send("{w up}")
RandomSleep(10, 15)
send("v")
RandomSleep(300, 350)
send("{SPACE}")
RandomSleep(7000, 8000)
MouseMove(557,62)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseMove(794,711)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1300)
send("{ESC}")
RandomSleep(1000, 1300)
;-Ende click sell Func
EndFunc

Func disamis()
;-Start Change District after Sell Inter to America
MouseMove(208,23)
MouseDown("left")
MouseUp("left")
RandomSleep(600, 800)
MouseMove(165,99)
MouseDown("left")
MouseUp("left")
RandomSleep(600, 800)
MouseMove(408,362)
MouseDown("left")
RandomSleep(600, 800)
MouseMove(408,361)
MouseUp("left")
RandomSleep(600, 800)
MouseMove(408,383)
MouseDown("left")
MouseUp("left")
RandomSleep(600, 800)
MouseMove(473,389)
MouseDown("left")
RandomSleep(600, 800)
MouseMove(474,389)
MouseUp("left")
RandomSleep(600, 800)
;-Ende Change District after Sell Inter to America
EndFunc

Func wayout()
;-Start way out of Tquellen vom Join in Punkt
RandomSleep(6000, 7500)
Send("o")
RandomSleep(1000, 1200)
send("{SPACE}")
RandomSleep(9000, 9100)
send("{w down}")
RandomSleep(2300, 2310)
send("{d down}")
RandomSleep(880, 910)
send("{d up}")
RandomSleep(4000, 4030)
send("{w up}")
RandomSleep(10000, 11000)
;-Ende way out of Tquellen vom Join in Punkt
EndFunc

Func tqfigth()
;-Start Tquellen Figth Script Run #1
Send("8")
RandomSleep(6500, 7000)
Send("7")
RandomSleep(6500, 7000)
Send("6")
RandomSleep(6500, 7000)
Send("5")
RandomSleep(3000, 3500)
Send("4")
RandomSleep(12000, 13000)
send("1")
RandomSleep(700, 800)
send("4")
RandomSleep(2500, 2510)
send("{w down}")
RandomSleep(3000, 3010)
send("{w up}")
RandomSleep(1000, 1010)
send("{e down}")
RandomSleep(2000, 2010)
send("{e up}")
RandomSleep(500, 510)
send("1")
RandomSleep(700, 710)
send("2")
RandomSleep(1200, 1300)
send("{w down}")
RandomSleep(6300, 6500)
send("{w up}")
RandomSleep(490, 500)
send("2")
RandomSleep(1000, 1100)
send("{q down}")
RandomSleep(2000, 2100)
send("{q up}")
RandomSleep(500, 600)
send("1")
RandomSleep(600, 700)
send("{q down}")
RandomSleep(2000, 2100)
send("{q up}")
RandomSleep(700, 800)
Send("2")
RandomSleep(1500, 1600)
Send("4")
RandomSleep(2000, 2010)
Send("1")
RandomSleep(2000, 2010)
send("3")
RandomSleep(3000, 3100)
send("2")
RandomSleep(3000, 3100)
send("1")
RandomSleep(3000, 3100)
send("2")
RandomSleep(3000, 3100)
send("1")
RandomSleep(1500, 1600)
send("4")
RandomSleep(3000, 3100)
send("2")
RandomSleep(3000, 3100)
send("1")
RandomSleep(3000, 3100)
send("o")
RandomSleep(1100, 1200)
send("{SPACE}")
RandomSleep(2500, 2800)
send("o")
RandomSleep(1100, 1200)
send("{SPACE}")
RandomSleep(2500, 2800)
send("o")
RandomSleep(1100, 1200)
send("{SPACE}")
RandomSleep(2500, 2800)
send("o")
RandomSleep(1100, 1200)
send("{SPACE}")
RandomSleep(2500, 2800)
send("1")
RandomSleep(2000, 2010)
send("2")
RandomSleep(1400, 1500)
send("o")
RandomSleep(1100, 1200)
send("{SPACE}")
RandomSleep(2500, 2800)
send("{ENTER}")
RandomSleep(500, 700)
send("/")
RandomSleep(400, 600)
send("giveup")
RandomSleep(1000, 1200)
send("{ENTER}")
RandomSleep(5000, 5500)
MouseMove(459,409)
MouseDown("left")
MouseUp("left")
RandomSleep(7000, 8000)
;-Ende Tquellen Figth Script Run #1
EndFunc

Func disinter()
;-Start Distric Change after Run tquellen America to Inter
MouseMove(261,25)
MouseDown("left")
MouseUp("left")
RandomSleep(500, 600)
MouseMove(209,105)
MouseDown("left")
MouseUp("left")
RandomSleep(500, 600)
MouseMove(329,355)
MouseDown("left")
MouseUp("left")
RandomSleep(500, 600)
MouseMove(332,435)
MouseDown("left")
MouseUp("left")
RandomSleep(500, 600)
MouseMove(485,391)
MouseDown("left")
MouseUp("left")
;-Ende Distric Change after Run tquellen America to Inter
EndFunc

Func ident()
;-Start Identification Script after change Dis Script
RandomSleep(6000, 6500)
Send(".")
RandomSleep(1200, 1400)
MouseClick("left",120,507,2)
RandomSleep(800, 900)
MouseMove(43,106)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",174,516,2)
RandomSleep(800, 900)
MouseMove(110,100)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",208,506,2)
RandomSleep(800, 900)
MouseMove(162,109)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",113,520,2)
RandomSleep(800, 900)
MouseMove(214,105)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",165,510,2)
RandomSleep(800, 900)
MouseMove(268,111)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",216,516,2)
RandomSleep(800, 900)
MouseMove(49,172)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",112,501,2)
RandomSleep(800, 900)
MouseMove(104,172)
MouseDown("left")
MouseUp("left")
RandomSleep(1200, 1400)
MouseClick("left",164,517,2)
RandomSleep(800, 900)
MouseMove(160,170)
MouseDown("left")
MouseUp("left")
RandomSleep(1000, 1200)
send("{ESC}")
RandomSleep(1000, 1200)
;-Ende Identification Script after change Dis Script
EndFunc

;- Start emot Script /dance /sit /guitar
func emot()
send("{ENTER}")
RandomSleep(500, 700)
send("/")
RandomSleep(400, 600)
send("dance")
RandomSleep(1000, 1200)
send("{ENTER}")
RandomSleep(5000, 5500)
send("{ENTER}")
RandomSleep(500, 700)
send("/")
RandomSleep(400, 600)
send("sit")
RandomSleep(1000, 1200)
send("{ENTER}")
RandomSleep(5000, 5500)
send("{ENTER}")
RandomSleep(500, 700)
send("/")
RandomSleep(400, 600)
send("guitar")
RandomSleep(1000, 1200)
send("{ENTER}")
RandomSleep(5000, 5500)
EndFunc
;- ende emot Script /dance /sit /guitar

func hall()
;~ Hier beginnt das Gildenhallen Script
RandomSleep(3000, 3400)
MouseMove(67,745)
MouseDown("left")
MouseUp("left")
RandomSleep(2000, 2200)
MouseMove(96,535)
MouseDown("left")
MouseUp("left")
RandomSleep(2000, 2200)
MouseMove(955,244)
MouseDown("left")
MouseUp("left")
RandomSleep(10000, 11000)
Send("{ESC}")
RandomSleep(2000, 2500)
send("{w down}")
RandomSleep(2400, 2900)
send("{a down}")
RandomSleep(1200, 1300)
send("{a up}")
RandomSleep(100, 600)
send("{w up}")
RandomSleep(6000, 6500)
MouseMove(67,745)
MouseDown("left")
MouseUp("left")
RandomSleep(2000, 2100)
MouseMove(96,535)
MouseDown("left")
MouseUp("left")
RandomSleep(200000, 300000) ;- Pause 2Minuten, 3Minuten
MouseMove(955,244)
MouseDown("left")
MouseUp("left")
RandomSleep(11000, 13000)
Send("{ESC}")
RandomSleep(6000, 6100)
MouseMove(785,63)
MouseDown("left")
MouseUp("left")
RandomSleep(6000, 6100)
;~ Hier endet das Gildenhallen Script
EndFunc

func start()
$exists = ProcessExists("gw.exe")
if $exists == 0 Then
MsgBox(0, "Error", "Run Guild Wars, before Start Bot!")
return
Else
WinActivate("Guild Wars")
RandomSleep(6000, 7000)
EndIf

$state = GUiCtrlGetState($Checkbox6)
if $state == 1 Then
$runtq = True
Else
$runtq = false
EndIf

$state = GUiCtrlGetState($Checkbox1)
if $state == 1 Then
$hall = True
Else
$hall = false
EndIf

$state = GUiCtrlGetState($Checkbox2)
if $state == 1 Then
$ident = True
Else
$ident = false
EndIf

$state = GUiCtrlGetState($Checkbox3)
if $state == 1 Then
$sell = True
Else
$sell = false
EndIf

$state = GUiCtrlGetState($Checkbox4)
if $state == 1 Then
$hm = True
Else
$hm = false
EndIf

$state = GUiCtrlGetState($Checkbox5)
if $state == 1 Then
$emot = True
Else
$emot = false
EndIf

$timesMIN = GUICtrlRead($Input2)
$timesMAX = GUICtrlRead($Input3)

if $timesMIN > $timesMAX Then
MsgBox(0, "error!", "min. runs is bigger max. runs!")
return
EndIf

$runsTQ = Random($timesMIN, $timesMAX)


If $hm == true Then
hm()
EndIf

if $runtq == true Then
while 1
for $i = 1 to $runsTQ -1
disamis()
wayout()
tqfigth()
disinter()
if $ident == true Then
ident()
EndIf
if $sell == true Then
sell()
EndIf
if $emot == true Then
emot()
EndIf
Next
If $hall == true Then
hall()
EndIf
WEnd
EndIf

EndFunc

Sollten die $ nicht übernommen worden sein, dann sind die % in warheit "$" dollarzeichen.

Danke hoffe auf schnelle hilfe meines Problems.

mfg BlackWorkX
02/01/2008 13:11 Term!nX#2
Wie schon gesagt, das Problem ist, dass die Userdefinierten Optionsvariablen (runTQ) false bleiben, da GUICtrlGetState immer 80 zurückgibt. Ich weiss aber nicht, warum das so ist.
02/01/2008 14:36 blackWorkx#3
hmmm, jo hattest ja schon gemeint im gw forum... wollte das hier nur nochma posten ob vieleicht jemand weiß wie ich es anderes umschreiben kann das es geht... :D
02/02/2008 14:53 Mankana#4
Ich hab kein GW deswegen kann ich es nicht testen aber
was funktioniert den nicht?
Falls das GW Fenster keine Mouseclicks et c. registriert solltest du es mal
mit Opt("SendKeyDownDelay",XX) versuchen
02/02/2008 15:16 Term!nX#5
Quote:
Originally Posted by |Mirage| View Post
Ich hab kein GW deswegen kann ich es nicht testen aber
was funktioniert den nicht?
Falls das GW Fenster keine Mouseclicks et c. registriert solltest du es mal
mit Opt("SendKeyDownDelay",XX) versuchen
Du hättest meinen Post lesen sollen. Das einzige Problem ist das, welches ich schon beschrieben hatte. Durch den merkwürdigen Rückgabewert werden im Endeffekt die Funktionen nicht gecallt.
02/02/2008 20:41 Mankana#6
Versuch es mit Guictrlread anstelle von Guictrlgetstate dann sollte es klappen
Checked = 1
Unchecked = 4
02/03/2008 15:21 blackWorkx#7
Quote:
Versuch es mit Guictrlread anstelle von Guictrlgetstate dann sollte es klappen
Checked = 1
Unchecked = 4
Boah nice... :D super vielen dank dat hat geklappt.. nu kann ich wieder in ruhe schlafen ohne ständig zu überlegen was da nich hinhaut :D

danke
07/07/2008 10:41 Autoitbot#8
BTW... In der neuesten AutoIt Version brauchst du folgende Includes:
Code:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
07/07/2008 14:33 Azunai#9
@blacky, selbst in der hilfe steht das man es mit guictrlread machen soll ;)
07/07/2008 17:00 blackWorkx#10
wow schaut ma aufs datum da hatte ich noch kein plan das war damals nen script von terminx der das so mir gegeben hatte^^