script bricht nach 22 runs ab

03/10/2009 20:23 -creep-#1
morjen allerseits,

hatte mich heute mal rangesetzt und nen luxon punkte bot geschrieben. im backround läuft soweit alles einwandfrei, da ich allerdings dort das ganze mit den random clicks nicht gebacken kriege wollte ich gerade das grundgerüst des gleichen bots - nur ohne backround - testen. lief soweit ohne probleme, allerdings erfolgt mitten im 22ten run ein abbruch ohne error (abbruch nicht an einem bestimmten punkt, sondern irgendwo im 22ten run (mehrmals getestet)).

hier mal der code, so wie ich ihn getestet hatte:

PHP Code:
#include "tt6.au3"
#include <nomadmemory.au3>

Global $mousespeed 4
Global $Hwnd WinGetHandle($Client)
Global 
$CurrentPosX$CurrentPosY$PID$hprocess$Map$Paused
Global $Client "Guild Wars"
Global $memoryx IniRead("update.ini""SECTION D""POSX""0")
Global 
$memoryy IniRead("update.ini""SECTION D""POSY""0")
Global 
$CheckMap IniRead("update.ini""SECTION D""CHECK_MAP""0")
Global 
$death IniRead("update.ini","SECTION 9-A","DEATH","NotFound")

Opt("SendKeyDelay"50)
Opt("SendKeyDownDelay",75)

HotKeySet("{Pause}""TogglePause")


$deathcheck _memoryread($death$hprocess'int')
        

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 loadout
()
    While 
_memoryread($memmap,$hprocess) <> 1
        Sleep
(500)
    
WEnd
    sleep
(5000)
EndFunc


Func loadin
()
    While 
_memoryread($memmap,$hprocess) <> 0
        Sleep
(500)
    
WEnd
    sleep
(5000)
EndFunc  


If Not WinActivate("Guild Wars"Then
    WinActivate
("Guild Wars")
    EndIf
    
Sleep(2000)

    
    
Func Wayout()
    
Send("x")
    
Sleep(Random(300,500))
    
Send("r")
    
Sleep(Random(500,800))
    
loadout(); _checkloadscreen()
    
Sleep(Random(3000,3500))
EndFunc


Func Quest
()
    
PrepMoveTo()
    
MoveTo(1,-19168+(Random(-4,4)),9630+(Random(-4,4)))
    
MoveTo(1,-18967+(Random(-4,4)),9249+(Random(-4,4)))
    
MoveTo(1,-18636+(Random(-4,4)),8700+(Random(-4,4)))
    
MoveTo(1,-18344+(Random(-4,4)),8248+(Random(-4,4)))
    
MoveTo(1,-17863+(Random(-4,4)),7851+(Random(-4,4)))
    
MoveTo(1,-17334+(Random(-4,4)),7337+(Random(-4,4)))
    
MoveTo(1,-16656+(Random(-4,4)),6533+(Random(-4,4)))
    
StopMoveTo()
    
Sleep(Random(20000,22000)) 
    
PrepMoveTo()
    
MoveTo(1,-16540+(Random(-4,4)),6129+(Random(-4,4)))
    
MoveTo(1,-16464+(Random(-4,4)),5769+(Random(-4,4)))
    
MoveTo(1,-16394+(Random(-4,4)),5032+(Random(-4,4)))
    
MoveTo(1,-16290+(Random(-4,4)),4422+(Random(-4,4)))
    
MoveTo(1,-16134+(Random(-4,4)),3748+(Random(-4,4)))
    
StopMoveTo()
    
Sleep(Random(324689))
    
Send("z")
    
Sleep(Random(500,700))
    
MouseClick("left",Random(630,650), Random(390,410),1,$mousespeed)
    
Sleep(Random(324689))
    
Send("c")
    
Sleep(Random(350,489))
    
Send("{space}")
    
Sleep(Random(400,650))
    
Send("7")
    
Sleep(Random(18000,20000))
    
PrepMoveTo()
    
MoveTo(1,-15766+(Random(-4,4)),3840+(Random(-4,4)))
    
MoveTo(1,-15489+(Random(-4,4)),3952+(Random(-4,4)))
    
MoveTo(1,-15209+(Random(-4,4)),4130+(Random(-4,4)))
    
MoveTo(1,-15003+(Random(-4,4)),4184+(Random(-4,4)))
    
MoveTo(1,-14693+(Random(-4,4)),4082+(Random(-4,4)))
    
MoveTo(1,-14556+(Random(-4,4)),3983+(Random(-4,4)))
    
MoveTo(1,-14509+(Random(-4,4)),3673+(Random(-4,4)))
    
MoveTo(1,-14785+(Random(-4,4)),2938+(Random(-4,4)))
    
MoveTo(1,-15348+(Random(-4,4)),2289+(Random(-4,4)))
    
StopMoveTo()
    
Send("v")
    
Sleep(Random(100,500))
    
Send("{space}")
    
Sleep(Random(1000,1500))
    
MouseClick("left",Random(560,730),Random(470,493),1,$mousespeed)     
    
Sleep(Random(200,500))                     
    
Send("z")
    
Sleep(Random(1,20))
    
Send("z")
    
Sleep(Random(300,500))
    
PrepMoveTo()
    
MoveTo(1,-15568+(Random(-4,4)),2153+(Random(-4,4)))
    
MoveTo(1,-15705+(Random(-4,4)),1942+(Random(-4,4)))
    
MoveTo(1,-15843+(Random(-4,4)),1757+(Random(-4,4)))
    
MoveTo(1,-15729+(Random(-4,4)),1205+(Random(-4,4)))
    
MoveTo(1,-15347+(Random(-4,4)),868+(Random(-4,4)))
    
MoveTo(1,-15052+(Random(-4,4)),607+(Random(-4,4)))
    
MoveTo(1,-14484+(Random(-4,4)),144+(Random(-4,4)))
    
MoveTo(1,-14147+(Random(-4,4)),-47+(Random(-4,4)))
    
MoveTo(1,-13715+(Random(-4,4)),378+(Random(-4,4)))
    
MoveTo(1,-13730+(Random(-4,4)),824+(Random(-4,4)))
    
MoveTo(1,-13750+(Random(-4,4)),1289+(Random(-4,4)))
    
MoveTo(1,-13460+(Random(-4,4)),1704+(Random(-4,4)))
    
MoveTo(1,-13212+(Random(-4,4)),1750+(Random(-4,4)))
    
MoveTo(1,-13051+(Random(-4,4)),1315+(Random(-4,4)))
    
MoveTo(1,-12947+(Random(-4,4)),822+(Random(-4,4)))
    
MoveTo(1,-12696+(Random(-4,4)),582+(Random(-4,4)))
    
MoveTo(1,-12527+(Random(-4,4)),557+(Random(-4,4)))
    
StopMoveTo()
    
Sleep(Random(78,256))
    
Send("{numpad7}")
    
Sleep(Random(500,700))
    
MouseClick("left",Random(635,653),Random(433,460),1,$mousespeed)
    
Sleep(Random(10000,11000))                    
    
Send("{numpad6}")         
    
Sleep(Random(465,782))
    
Send("{numpad7}")
    
Sleep(Random(1,20))
    
Send("{numpad7}")
    
Sleep(Random(245,432))
    
PrepMoveTo()
    
MoveTo(1,-12468+(Random(-4,4)),549+(Random(-4,4)))
    
MoveTo(1,-11961+(Random(-4,4)),389+(Random(-4,4)))
    
MoveTo(1,-11665+(Random(-4,4)),271+(Random(-4,4)))
    
MoveTo(1,-11438+(Random(-4,4)),173+(Random(-4,4)))
    
StopMoveTo()
    
Sleep(Random(500,800))
    
Send("1")                 
    
Sleep(Random(4000,5000))
    
Send("2")                 
    
Sleep(Random(3000,3500))
    
Send("3")                
    
Sleep(Random(2000,2500))
    
Send("6")
    
Sleep(Random(1100,1300))
    
Send("7")
    
Sleep(Random(1100,1300))            
    
Send("4")                 
    
Sleep(Random(2000,2500))
    
Send("5")
    
Sleep(Random(6500,7000))
    
Send("8")
    
Sleep(Random(200,450))
    
Send("3")
    
Sleep(Random(5000,5500))
    
Send("4")
    
Sleep(Random(2000,2500))
    
Send("5")
    
Sleep(Random(268,359))
    
Send("{numpad6}")
    
Sleep(Random(2000,2500))
    
Send("2")
    
Sleep(Random(2000,2500))
    
Send("{numpadadd}")
    
Sleep(Random(165,439))
    
Send("3")
    
Sleep(Random(4000,4500))
    
Send("4")
    
Sleep(Random(2000,2500))
    
Send("5")
    
Sleep(Random(2000,2500))
    
Send("3")                       
    
Sleep(Random(19000,21500))                 
    
Send("{space}")
    
Sleep(Random(6000,7000))
    
MouseClick("left",Random(533,743),Random(473,490),1,$mousespeed)
    
Sleep(Random(268,562))
    
MouseClick("left",Random(767,773),Random(236,242),1,$mousespeed)
    
Sleep(Random(100,300))    
    
Send("{esc}")
    
Sleep(Random(400,800))                      
EndFunc


Func Resign2
()
    
Send("-")
    
Sleep(Random(1,43))
    
Send("r")
    
Sleep(Random(1,37))
    
Send("e")
    
Sleep(Random(1,52))
    
Send("s")
    
Sleep(Random(1,45))
    
Send("i")
    
Sleep(Random(1,35))
    
Send("g")
    
Sleep(Random(1,40))
    
Send("n")
    
Sleep(Random(1,39))
    
Send("{enter}")
    
Sleep(Random(5000,6000))
    
MouseClick("left",Random(576,708),Random(401,409),1,$mousespeed)
    
loadin(); _checkloadscreen()
    
Sleep(Random(2500,3000))
EndFunc


Func BugFix
()
    
$dll DllOpen("GuildWarsAddon.dll")
    if 
$dll = -1 then return $dll
    $result 
DllCall($dll"none""_BugFix@0")
    
DllClose($dll)
EndFunc

While 1
Wayout
()
Quest()
Resign2()
BugFix()
WEnd 
ist halt nur die abgespeckte variante des bots,, so wie ich ihn gerade ohne backround modus getestet hatte. hoffe, dass jemand von euch den/die fehler findet =)

mfg, creep

/edit: "abbrechen" ist eventuell falsch/missverständlich formuliert. der bot unterbricht z.b. mitten in einer moveto func, sobald man ihn jedoch manuell kurz bewegt geht alles seinen gewohnten ablauf.
hatte ja schon vermutet, dass der tastatur puffer voll ist. deswegen die BugFix Func von valvepro- thanks für die tolle .dll =)
03/10/2009 21:05 blauwiggle#2
Ersetz doch das problematische MoveTo durch MoveTo(2 bzw. 3 .. .
03/10/2009 23:19 -creep-#3
man sollte doch lieber mit simplem analysieren anfangen, als drumherum zu denken. thanks

/edit: doch zu früh gefreut. gestern abend hatte ich den bot noch ~2h problemfrei zum laufen gekriegt. wollte ihn dann die nacht über laufen lassen -->> nächsten früh /age eingegeben und festgestellt, dass er ca. 10 minuten lief. dann gerade wieder getestet und genau das selbe problem....
keiner der beiden anderen modi hilft (MoveTo(2,...) MoveTo(3,...))
03/11/2009 12:12 blauwiggle#4
Wo farmt der gute denn?
03/11/2009 22:52 -creep-#5
von brechermulde aus die quest jade-arena. wayout halt noch mit /resign, damit man direkt hinterm portal respawned
03/12/2009 17:13 Deagles#6
Ich hatte auch schonmal einen Bot für "Die Jade-Arena" programiert...
allerdings hatten meine helden immer probleme die paar gegner zu killen^^

Code:
#include "tt6.au3"
#include <nomadmemory.au3>
bei mir gibts immer probleme, wenn ich au3's doppelt include...
03/12/2009 19:54 -creep-#7
mh irgendwie scheint er nun doch zu laufen *confused*. eigenartig, aber so lange er läuft werd ich mich lieber nicht beschweren =) so far, thanks

falls nochmal probleme auftauchen meld ich mich :p und wenn der bot dann fertig ist, kommt der public. nur momentan recht wenig zeit durch konzis...

mfg, creep
03/13/2009 16:16 lox.0r#8
Wei schffst du es denn, dass er im Hinterggrund läuft? Also hab mir jetzt nicht ganz alles durchgelesen aber ich sehe da einige Sleep-Send's. :D
03/14/2009 12:56 -creep-#9
dann solltest du dir alles durchlesen =) das hier war nur dafür gedacht, den bot mit random clicks laufen zu lassen, da ich es im backround nicht gebacken kriege. brauche den bot eh nur wenn ich auf arbeit/konzerten bin. von daher wird diese version wohl vorerst die finale (natürlich überarbeitet, erweitert).

mfg