Script Hilfe gesucht!

03/04/2009 14:00 Pumkel#1
Heyho Community!

Bin noch sehr neu im Bot programmieren. Habe mich jedoch schon druch die
AutoIT Hilfe durchgearbeitet. Desweiteren hab ich auch schon ein kleinen Bot
( 55-HP Elonaspitze ) geschrieben. Da ich noch nicht wirklich mit Funktionen
usw. in Bezug auf Bots arbeiten kann, wollte ich mal fragen, was man an meinem
nach folgenden Script verbessern/ausbauen könnte.

Kritik und Hilfe gern gesehen!

Danke im voraus!

~Pumkel

PHP Code:
#cs ----------------------------------------------------------------------------

 
AutoIt Version3.3.0.0
 Author
:         DextroE
 Info
:              Elonareach Farmbot v.1
 
 Script 
Function:
    
Template AutoIt script.

#ce ----------------------------------------------------------------------------

Script Start Add your code below here

HotKeySet
("{ESC}","_stop")
func _stop()
   Exit
endFunc

;==============================================

WinWaitActive "Guild Wars" )

;==============================================

While 
True
;==============================================

    
sleep 10000 )
MouseClick "left" 909164 )
    
sleep 5000 )
MouseClick "left" 530427 )
    
sleep 15000 )

;==============================================

Send "8" )
    
sleep 10000 )
Send "7" )
    
sleep 10000 )
Send "6" )
    
sleep 5000 )



Send "v" )
    
sleep 1000 )
Send "{SPACE}" )
    
sleep 7000 )

;==============================================

MouseClick 'left' 515630 )
    
sleep 1000 )
    
Send "f" )
    
sleep 3000 )
Send "{w down}" )
    
sleep 3000 )
Send "{w up}" )
    
sleep 100 )
Send "{e down}" )
    
sleep 4000 )
Send "{e up}" )
    
sleep 100 )
Send "{w down}" )
    
sleep 10000 )
Send "{w up}" )
    
sleep 100 )
Send "{q down}" )
    
sleep 7000 )
Send "{q up}" )
    
sleep 100 )

;==============================================

Send "1" )
    
sleep 5000 )
Send "2" )
    
sleep 4000 )
Send "4" )
    
sleep 2000 )
Send "2" )
    
sleep 5000 )
Send "1" )
    
sleep 4000 )
Send "3" )
    
sleep 5000 )
Send "2" )
    
sleep 6000 )
Send "1" )
    
sleep 6000 )
Send "2" )
    
sleep 6000 )
Send "1" )
    
sleep 6000 )
Send "2" )
    
sleep 5000 )
Send "5" )
    
sleep 6000 )
Send "2" )
    
sleep 6000 )
Send "1" )
    
sleep 1000 )

;==============================================

Send "ö" )
    
sleep 1000 )
Send "{SPACE}" )
    
sleep 1500 )
Send "ö" )
    
sleep 1000 )
Send "{SPACE}" )
    
sleep 1500 )
Send "ö" )
    
sleep 1000 )
Send "{SPACE}" )
    
sleep 1500 )
Send "ö" )
    
sleep 1000 )
Send "{SPACE}" )
    
sleep 2000 )

;==============================================

Send "m" )
    
sleep 5000 )
MouseClick "left" 571325 )
    
sleep 7000 )

;==============================================

WEnd 
03/04/2009 14:33 N.E.O.#2
Du könntest versuchen es in den Hintergrund Mode zu schreiben :)
#€: Und ein GUI wär vielleicht auch cool :)
03/04/2009 14:38 Hokler#3
Der script siehtr nicht schlecht aus :)
Jetzt kannst du den Bot noch in den Hintergrund schreiben was man entweder mit:
PHP Code:
ControlSend("Guild Wars Name","","","deine Taste"
oder mit
PHP Code:
KeySend("Deine Taste"
(hierzu brauchst du die tt6 engine (schau einfach in den sticky bereich))

und um MousEvents im hintergrund zu senden musst du einfach:
PHP Code:
ControlClick("Guild Wars Name","","","maustaste",wieviele klicks,x,y
mfg
Hokler
03/04/2009 14:39 Pumkel#4
Also das mit dem GUI Tool bekomm ich sicher noch hin ;)
Aber das mit dem Hintergrund modus ist mir noch recht unklar ^^
Eine Hilfe vllt dazu wäre sehr nett =)

MfG Pumkel

€: Danke Hokler, hab den Post grade erst gesehen, als mein Post schon geschickt wurde ^^
Ich setz mich gleich mal dran, ich halte euch auf dem Laufenden !
03/04/2009 15:28 Jacob_G#5
Ich schreibe meinen Source Code immer möglichst nach übersicht. Deswegen würde ich zum Beispiel fürs looten das hier benutzten
Code:
For $i = 0 To 3 ;Hebt 4x das Item auf
	
	Send ( "ö" )
    sleep ( 1000 )
	Send ( "{SPACE}" )
    sleep ( 1000 )
		
Next
	Sleep(1000)
Edit: Ich würde kein GUI einbauen, das tuhe ich meistens auch nicht(halte ich für überflüssig). Baue einfach einen Bot der alles automatisch macht(so das man kein GUI braucht), oder der lass die Daten aus einer Ini auslesen.

Edit2: Komentare setzten. Für Aussenstehende ist es nicht ganz einfach deinen Code zu lesen da du keine Funktionen (Namen) benutzt. Das heißt nicht das es schlecht ist, das ist sogar ein Vorteil um sich vor Decompilern zu schützen (unlesbarer Code), aber verlangsamt den Prozess des Programierens, da du etwas länger nach der gesuchten Zeile recherierst.
03/04/2009 15:31 NBA#6
Das mit dem ö und space geht einfacher mit

PHP Code:
for $i anzahl der ö's mit space to 0 step -1
send("ö")
sleep(250)
Send("{Space}")
next 
ist schneller kleiner und uebersichtlicher
03/04/2009 15:36 Dunham#7
Quote:
Originally Posted by N.E.O. View Post
Du könntest versuchen es in den Hintergrund Mode zu schreiben :)
#€: Und ein GUI wär vielleicht auch cool :)
vll sollte er erstma grundlagen können bevor er mit so "spielereien" anfängt :-p
03/04/2009 15:41 Pumkel#8
@ Dunham: definiere Grundlagen ^^

Das mit dem Hintergrund sollte eig. funktionieren. Doch brauch ich für den Bot die NomadMem.au3 ? oder kann ich die weglassen?

Naja en GUI kommt vllt noch dazu, dann kann ich das mit dem Window anpassen reinsetzen ^^

MfG Pumkel

€: Achso ich finde es eigentlich nich schlimm, wenn ich auch gleich mit so "spielerein" anfange ^^ damit ich etwas lerne überfordere ich mich meistens XD geht bei mir besser :P
03/04/2009 16:03 Pumkel#9
So jetzt hab ich schon das erste Problem ^^
Ich hab das Gruppenfenster ganz klein, rechts oben in der Ecke.
Die coords hab ich mit dem window info tool gesucht und ins script geschrieben.
jetzt drückt der aber nicht auf betreten sondern auf suchen =(

weiss wer worans liegen könnte?

€: warum auch immer, musste ich die coords vom Kick button nehmen =\
03/04/2009 16:07 NBA#10
coord mode -> client im au3 window info stellem
03/04/2009 16:44 Pumkel#11
Danke, also im Hintergrund läuft er schon mal =)

GUI und zwei Wege in der Mission kommen noch ;)

MfG Pumkel
03/04/2009 17:43 Pumkel#12
Oh man, nächstes prob =\

wie gesagt der Bot läuft und macht alles gut nur beim resign eingeben hängt der immer.
Also er öffnet zwar mit "-" das eingabefeld aber gibt nichts ein ...

Bitte nochmals um Hilfe =)

MfG Pumkel
03/04/2009 20:20 NBA#13
Opt("SendKeyDelay",200)
Opt("SendKeyDownDelay",200)

vllt gehts damit
03/05/2009 15:31 Pumkel#14
Heyho ich bins nochmal !

Hab den Bot jetzt mal über die Nacht laufen lassen.
Er läuft sehr stabil und hat mir in 8 stunden Laufzeit 12p + 1 Schwarz eingebracht.
Klar das ist nicht wirklich viel, aber mit mehreren Bots gleichzeitig summiert sich das ^^

Infos zum Bot:

-läuft im Hintergund 100%
-Ident. Funktion 0%
-Verkaufs Funktion 0%
-GUI 10%
-Mehrere Wege in der Mission 0%