UW2 bot für Assa (unfertig)

10/29/2008 20:22 i4mSoH34Vy#16
Input Box für runden würd ich mit ini machen
Iniread
Iniwrite
10/29/2008 20:25 NBA#17
Zeig mal ein stück code dazu, bin zu dumm ;)
hab mich bisher kaum mit inis beschäftigt
10/29/2008 20:28 i4mSoH34Vy#18
so
Quote:
Global $memoryx = IniRead("settings.ini", "settings", "Memory X", "0")
Hier der Gui+++++++++++++

func Set()
$data = GuiCtrlRead($Input1)
IniWrite("settings.ini", "settings", "Memory X", $data)
Endfunc
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
$case
EndSwitch
SetValues()
sleep(5)
WEnd
10/29/2008 20:33 Dunham#19
hab mal nen anderen "kampf" geschrieben. hat keine randomzeit etc. (ist das erstmal das ich mit bot schreiben beschäftigt habe) das ganze ist für den HM und farmt in ca 1-2min so ca 3-10 gegner, kommt drauf an wie sie stehen!

Build: OwZTkY/85hH6KQGAgUBPS6rzAA
Schattenkünste: 12+4
Erdmagie: 12
Energie ~ 60 (vll geht auch mit weniger, habs aber nicht getestet)

PHP Code:

;man muss schon in der UW² sein :-)

        
send("6")
    
send("7")
    
send("8")
        
Sleep(4900)
        
send("{w down}")
        
sleep(7200)
        
send("{w up}")
        
send("{d down}")
        
sleep(500)
        
send("{d up}")
        
send("{w down}")
        
Sleep(3900)
        
send("{w up}")
        
send("{a down}")
        
sleep(520)
        
send("{a up}")
        
send("{w down}")
        
Sleep(8100)
        
send("{w up}")
        
send("5")
        
send("3")
        
sleep(3200)
        
send("1")
        
sleep(5000)
    
send("6")
    
send("7")
    
send("8")    
    
sleep(4900)
    
send("2")
    
send("5")
    
Sleep(22600)
    
send("1")
    
sleep(6000)
    
send("6")
    
send("7")
    
send("8")
    
sleep(4900)

;
das ganze ist auch ohne items aufsammeln etc 
so das ganze noch mit nem start, loot und ende und der bot wär nicht schlecht :-) (weil im hm droppt es ja doch nicht so schlecht)
10/30/2008 10:34 D_S#20
Code:
 Send("{Tab}")
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        $1 = Random(500, 3000)
        Sleep($1)
        Send("{Tab}")
        $1 = Random(500, 550)
        Sleep($1)
        Send("{Tab}")
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Space}")
        Sleep(4500)
        Send("{Tab}")
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
        Sleep($1)
        Send("{Tab}")
:rolleyes: also ginge das nich kürzer ? oder hat das nen bestimmten grund dass ihr das nich in ne Schleife macht ?
10/30/2008 13:36 NBA#21
Quote:
Originally Posted by Dunham View Post

PHP Code:
;das ganze ist auch ohne items aufsammeln etc 
so das ganze noch mit nem start, loot und ende und der bot wär nicht schlecht :-) (weil im hm droppt es ja doch nicht so schlecht)
Naja, aufheben geht eigentlich sehr einfach. Du legst "nächsten gegenstand aufheben" z.B auf o.

Dann einfach
PHP Code:
send("o")
sleep(100)
send("o"
dann versiert er den nächsten gegenstand an, drückt leertaste geht hin und nimmt auf ;)

Ende des bots geht auch einfach:
PHP Code:
;Bei eigenen abbrechen des Bottes
func beenden
()
Exit
endfunc
;Noch einen Hotkeydamit man den Bot auch beenden kann...
hotkeyset("{end}","beenden")

;
Wenn der bot die Mission/Gebiet beenden soll
send
("{enter}/resign")
sleep(200)
Mouseclick(x,y,geschwinidkeit)
sleep(6000)
;
bis halt der Aussenposten geladen hat...

;
Starten(jetzt ohne Guigeht trotzdem gut)
$i 0
$Runden 
Inputbox("Runden","Geb hier ein wieviel Runden du farmen willst")
;
Home Pos1
Hotkeyset
("{Home}","Farmen")
Func Farmen()
Winactivate("Guild Wars")
Winwaitactive("Guild Wars")
For 
$i $Runden to 1 step -1

;alles Bot
Endfunc 
10/30/2008 15:26 Dunham#22
Quote:
Originally Posted by NBA View Post
Naja, aufheben geht eigentlich sehr einfach. Du legst "nächsten gegenstand aufheben" z.B auf o.

Dann einfach
PHP Code:
send("o")
sleep(100)
send("o"
dann versiert er den nächsten gegenstand an, drückt leertaste geht hin und nimmt auf ;)
ja nur weiß man halt nich wieviele gegenstände droppen und wie weit sie weg sind, ich denke mal das problem kann man mit ner pixel abfrage lösen (weil der gegenstand wird ja oben in nem schwarzenkaste angezeigt) nur ich weiß halt nicht wie man das macht :-)

/edit

hab das alles mal jetzt "eingebaut" hab jetzt einproblem... es kommt das eigabefeld bei dem ich die runden eingebe und dann wird der bot beendet :-(

PHP Code:
;Bei eigenen abbrechen des Bottes
func beenden
()
Exit
endfunc
;Noch einen Hotkeydamit man den Bot auch beenden kann...
hotkeyset("{end}","beenden")

Func RS($min$max)
    
$time Random($min$max)
    
Sleep($time)
EndFunc

;Starten(jetzt ohne Guigeht trotzdem gut)
$i 0
$Runden 
Inputbox("1","Geb hier ein wieviel Runden du farmen willst")
;
Home Pos1
Hotkeyset
("{Home}","Farmen")

Func Farmen()
Winactivate("Guild Wars")
Winwaitactive("Guild Wars")
For 
$i $Runden to 1 step -1
    
;Weg zur UW²    
    
send
("o")
RS(0,2000)
send("{space}")
RS(13000,15000)

;
UW²

send
("6")
    
send("7")
    
send("8")
        
sleep(4900)
        
send("{w down}")
        
sleep(7200)
        
send("{w up}")
        
send("{d down}")
        
sleep(500)
        
send("{d up}")
        
send("{w down}")
        
sleep(3900)
        
send("{w up}")
        
send("{a down}")
        
sleep(520)
        
send("{a up}")
        
send("{w down}")
        
sleep(8100)
        
send("{w up}")
        
send("5")
        
send("3")
        
sleep(3200)
        
send("1")
        
sleep(5000)
    
send("6")
    
send("7")
    
send("8")    
    
sleep(4900)
    
send("2")
    
send("5")
    
Sleep(22600)
    
send("1")
    
sleep(6000)
    
send("6")
    
send("7")
    
send("8")
    
sleep(4900)
    
;
aufheben

For $i 10 to 1 Step -1
send
("o")
sleep(1000)
send("o")  
Next

;ende

send
("{enter}/resign")
sleep(200)
Mouseclick(657,536,8000)
sleep(5000)

Next
    
Endfunc 
10/30/2008 16:07 NBA#23
Nunja...wenn du nur die griffe des wahnsinns oder wie die heißen farmst, hast du damit kein problem. Du kannst ja nur so viel loot kriegen wie monster da sind ;) also 5 - 10 mal o drücken, und das ist erledigt ;)

Pixel kann man soweit ich weiß mit Pixelsearch finden...mehr weiß ich dazu nicht

hmm, entweder du machst nen sleep hinter der inputbox, oder ich mach dir nen kleines gui, aber ohne inputbox. Also nur ein GUI wo die hotkeys draufstehen ;)
10/30/2008 16:11 Dunham#24
joa das hab ich jetzt einfachmal mit ner schleife "gelöst" nur das problem ist halt jetzt das der scheiß nicht startet :-)

/edit also das mim sleep geht nicht ^^ ich glaub der weiß einfach nicht wann er die func farm() starten soll bzw das er das überhaupt soll ^^
10/30/2008 16:34 NBA#25
PHP Code:

Script Start Add your code below here
#include<GUIConstants.au3>
;Bei eigenen abbrechen des Bottes
func beenden
()
Exit
endfunc
;Noch einen Hotkeydamit man den Bot auch beenden kann...
hotkeyset("{end}","beenden")

Func RS($min$max)
    
$time Random($min$max)
    
Sleep($time)
EndFunc

;Starten(jetzt ohne Guigeht trotzdem gut)
$Runden Inputbox("1","Geb hier ein wieviel Runden du farmen willst")
$i $Runden
;Home Pos1

    Hotkeyset
("{Home}","Farmen")
Func Farmen()

Winactivate("Guild Wars")
Winwaitactive("Guild Wars")
For 
$i $Runden to 1 step -1
    
;Weg zur UW²    
   sleep
(250
send("o")
RS(0,2000)
send("{space}")
RS(13000,15000)

;
UW²

send
("6")
    
send("7")
    
send("8")
        
sleep(4900)
        
send("{w down}")
        
sleep(7200)
        
send("{w up}")
        
send("{d down}")
        
sleep(500)
        
send("{d up}")
        
send("{w down}")
        
sleep(3900)
        
send("{w up}")
        
send("{a down}")
        
sleep(520)
        
send("{a up}")
        
send("{w down}")
        
sleep(8100)
        
send("{w up}")
        
send("5")
        
send("3")
        
sleep(3200)
        
send("1")
        
sleep(5000)
    
send("6")
    
send("7")
    
send("8")    
    
sleep(4900)
    
send("2")
    
send("5")
    
Sleep(22600)
    
send("1")
    
sleep(6000)
    
send("6")
    
send("7")
    
send("8")
    
sleep(4900)
    
;
aufheben

For $i 10 to 1 Step -1
send
("o")
sleep(1000)
send("o")  
Next

;ende

send
("{enter}/resign")
sleep(200)
Mouseclick(657,536,8000)
sleep(5000)

Next
    
Endfunc  

GUICreate
("Nichts")
GuiSetState(@SW_Show)
GUICtrlCreateLabel("Starten mit POS1 oder Home, beenden mit Ende",10,0)
While 
1
    $msg 
GUIGetMsg()
    
    If 
$msg $GUI_EVENT_CLOSE Then ExitLoop
    Wend 
Bei mir ging er ganz gut, auch wenn ich keinen assa hatte und es mit monk gemacht hat bis er gestorben ist ;) (der monk natürlich, nicht der bot)

/edit: Wenn du willst stell ich ihn zum download verfügbar ;)
10/30/2008 17:11 Dunham#26
hmm also ich habs ma gestet jetzt startet eh schonmal :-) hab nur falsche cords für den resign button :-) ... er wiederholt das farmen auch nich. das schau ich mir nacher oder morgen mal genauer an und werde den weg etc verbessern! (hab ne stelle gefunden bei der man mehr genger ziehen kann)

@NBA
wenn ich das ganze dann "veröffentliche" wird dein name natürlich dabei stehen :-)
10/30/2008 17:23 NBA#27
;) Dann mal viel spass bei der Fehlersuche, dem spannensden Teil ;)
10/30/2008 17:58 D_S#28
Quote:
Originally Posted by Dunham View Post
joa das hab ich jetzt einfachmal mit ner schleife "gelöst" nur das problem ist halt jetzt das der scheiß nicht startet :-)
Code:
$anwahl = 0
	While $anwahl <> 17
		$anwahl += 1
		ControlSend ("Guild Wars","","","{TAB}")
		Randomsleep (200,250)
	WEnd
ControlSend ("Guild Wars","","","{2}")
Randomsleep (700,800)
ControlSend ("Guild Wars","",""," ")
Randomsleep (2000,3000)

	$anwahl2 = 0
	While $anwahl2 <> 7
		$anwahl2 += 1
		ControlSend ("Guild Wars","","","{TAB}")
		Randomsleep (500,600)
         WEnd
ControlSend ("Guild Wars","",""," ")
So er wählt jetz 17 mal mit tab, castet 2 nach (musste ich wegen sf machen kann aber sein dass das bei euch anders is), dann läuft er hin, wählt nochmal 7 mal mit tab weiter und dann ist er ganz hinten ;)
10/30/2008 19:42 Dunham#29
soo der bot läuft jetzt recht gut... bis auf das er sobald er bit dem ersten durchlauf fertig ist nichts mehr macht ^^

PHP Code:
Script Start Add your code below here
#include<GUIConstants.au3>
;Bei eigenen abbrechen des Bottes
func beenden
()
Exit
endfunc
;Noch einen Hotkeydamit man den Bot auch beenden kann...
hotkeyset("{end}","beenden")

Func RS($min$max)
    
$time Random($min$max)
    
Sleep($time)
EndFunc

;Starten(jetzt ohne Guigeht trotzdem gut)
$Runden Inputbox("1","Geb hier ein wieviel Runden du farmen willst")
$i $Runden
;Home Pos1

    Hotkeyset
("{Home}","Farmen")
Func Farmen()

Winactivate("Guild Wars")
Winwaitactive("Guild Wars")
For 
$i $Runden to 1 step -1
    
;Weg zur UW²    
 
send
("o")
RS(0,2000)
send("{space}")
RS(13000,15000)

;
UW²

send
("6")
    
send("7")
    
send("8")
        
sleep(4900)
        
send("{w down}")
        
sleep(7200)
        
send("{w up}")
        
send("{d down}")
        
sleep(500)
        
send("{d up}")
        
send("{w down}")
        
sleep(3900)
        
send("{w up}")
        
send("{a down}")
        
sleep(370)
        
send("{a up}")
        
send("{w down}")
        
sleep(7500)
        
send("{w up}")
        
send("5")
        
send("3")
        
sleep(3200)
    
send("1")
    
sleep(5000)
    
send("6")
    
send("7")
    
send("8")    
    
sleep(4900)
    
send("2")
    
send("5")
    
sleep(10000)
    
Send("2")
    
Sleep(12600)
    
send("1")
    
sleep(6000)
    
send("6")
    
send("7")
    
send("8")    
    
sleep(4900)
    
send("2")
    
RS(5000,6000)

;
aufheben

For $i 10 to 1 Step -1
send
("o")
sleep(1000)
send("{Space}")  
Next

;ende

send
("{-}")
sleep(400)
send("resign")
sleep(700)
send("{enter}")
RS(2000,3000)
Mouseclick("left",657,536)
RS(5000,7000)


Next
    
Endfunc  

GUICreate
("UW²")
GuiSetState(@SW_Show)
GUICtrlCreateLabel("Starten mit POS1 oder Home, beenden mit Ende",10,0)
While 
1
    $msg 
GUIGetMsg()
    
    If 
$msg $GUI_EVENT_CLOSE Then ExitLoop
Wend 
10/30/2008 19:51 D_S#30
Code:
For $i = $Runden to 1 step -1
$i und $Runden sind der gleiche Ausdruck, liegt da der Fehler ?^^ Hast weiter oben ja schon deklariert !?

Code:
For $Runden to 1 step -1
so ?^^ bin mir aber nich sicher