[Need Help] Selfmade Gates of Kryta Bot

04/07/2007 16:48 -Anthrax-#1
Hoi,

bin grade dabei mir mit AutoIt3 ein Script für Gates of Kryta zu schreiben
habe jedoch kaum Vorkenntnisse und nun dirkt mal ein Prob dabei nach dem Betreten der Mission Grunz anzuwählen...er will das Schwein einfach nich anklicken :?

hier wäre mal der code: (ist nur die funktion zum anklicken von Gruntz, der Char steht zu diesem Zeitpunkt schon bei dem Zelt vor dem Durchgang im Eingangsbereich wo Grunz nach druck der ALT Taste grade sichtbar wird)

Code:
WinActivate("Guild Wars")
func srchoink()
Send("{ALT down}")
$pxlsrchoink1= PixelSearch(400, 125, 900, 400, 9036035 ,0)
Send("{ALT up}")
if not @error Then
 MouseClick("left", $pxlsrchoink1[0], $pxlsrchoink1[1], 1)
  if @error Then
 	call("srchoink")
 	EndIf
  EndIf
EndFunc

Passieren tut nun in meinem Fall leider nix, gewünscht wäre jedoch dass er das Schwein anklickt ;)

Jemand ne Idee?

mfg Guild_Wars_Gamer
04/07/2007 17:13 Term!nX#2
Ja, das Schwein gar nicht erst anklicken. Jenachdem welche Skillung du benutzt bringt dir das Viech eh nix, und ich denke auch, dass fürn Macro dieser Hantier mit Grunz nicht realisierbar ist.
04/07/2007 18:02 -Anthrax-#3
hiho,

thx erstmal für die flotte Antwort

Zu meiner Skillung, ich bin E/Mo ,dürfte also mit den mir bekannten Skillungen recht schwer werden das ohne das Schwein zu machen
Dieses Skript war eigentlich auch eher dazu gedahct den Weg bis zum ersten Gegner zu laufen und das Schwein halt noch vorher anzuklicken anstatt das Lvl komplett zu farmen da das dort wie du schon meintest, wohl eher schlecht zu realisieren ist. Das mein Char die Missi selbstständig betritt und halt die Paar schritte da läuft und noch das Schwien anklickt reicht mir in dem Fall auch schon bzw. wäre schon hilfreich genug ^^
Nochmal zu dem Code; siehst ja nicht zufällig was da falsch sein könnte?
Würde mich freuen wenn ich das Skript iwann zum laufen bekomme :)


mfg Guild_Wars_Gamer
04/07/2007 19:40 Term!nX#4
Also entweder:
Der Farbcode ist falsch
Das grüne Name Grunz ist außerhalb des Suchbereichs

Mach einfach mal if not @error then MsgBox(0, "Titel", "Es ist Grunz")
else MsgBox(0, "Titel", "es ist nicht grunz")

Dann weisst du auf jedenfall schonmal, dass er Grunz nicht erkennt. Meistens isses dann der Farbcode der falsch ist.
04/07/2007 20:12 -Anthrax-#5
thx für info, habs schon probiert , nun musste ich jedoch feststellen....meine Funktion läuft iwie garnicht durch :?
Habe sie ganz normal mit Call aufgerufen...bin wohl einfach zu schlecht :ops: ^^
Wen ich ein neues Script erstelle und Nur meine MsgBox hineinschreibe erscheint diese auch, also die Funktion startet garnicht erst...


/Edit

So, habs jetz paarmal hin und her verändert und siehe da...."es ist nicht Grunz" :rolleyes:
Frage ich mich nur was ich nun noch verkehrt mache, habe 3 mal den Farbcode neu gesucht und eingetragen...

/Edit die 2te

habe jetz AutoIt3 Window Info auf Grunz gefreezt und die daten in den Code übertragen, Char nicht bewegt und siehe da "es ist nicht Grunz" :eek:

Hier mal der aktuelle Code :
Code:
WinActivate("Guild Wars")
Send("{ALT down}")
Call ("srchoink")
Send("{ALT up}")


func srchoink()
$pxlsrchoink1= PixelSearch(642, 230,643,231, 0x91E001 ,0) 
if not @error Then 
	MouseClick("left", $pxlsrchoink1[0], $pxlsrchoink1[1], 0)
Else 
	MsgBox(0, "Titel", "es ist nicht grunz")
	EndIf
EndFunc
und das sagt Window Info:

Code:
>>>>>>>>>>> Mouse Details <<<<<<<<<<<
Screen:	X: 642	Y: 230
Cursor ID:	0

>>>>>>>>>>> Pixel Color Under Mouse <<<<<<<<<<<
RGB:	Hex: 0x91E001	Dec: 9560065
04/07/2007 22:02 Term!nX#6
Der GW-Mauszeiger ist nicht besonders genau. Meinen Erfahrungen nach muss man ihn immer einen Pixel rechts halten, dann wird das Ergebnis besser ;)

Das ist allerdings ne bescheuerte Farbe. Schau mal, dass du das Grunz in irgendeine ecke des Bildschirms kriegst. Dann musst du dir mal die Farbe das Pixels bringen lassen (nicht manuell)
04/07/2007 22:42 -Anthrax-#7
mit nicht manuell meinst du doch sicherlich über pigelgetcolor?
habe es damit gemacht, den wert in msgbox ausgegeben und siehe da, ein anderer.
Im Code übernommen......."Es ist nicht Grunz" :cry:
habe sogar schon die abzusuchenden kooardinaten auf 0, 0, 1024, 768 geändert
-> angeblich immernochkein Grunz......
was mach ich nur falsch *verzweifel*


mfg Guild_Wars_Gamer
04/08/2007 09:45 koji#8
mal nen kleiner tipp von mir als Ele solltest du auch ohne grunz klarkommen ich skille meistens auf erd feuer ele

meine skillung sieht meistens so aus

Flammenstoß
Inferno
Meteorschauer
Erdrüstung
Feuereinstimmung
Elementareinstimmung [Elite]
Wiederherstellungsaura

klappt ohne grosse HP verluste und das ganze ohne Grunz ^^

die spielweise ist auch sehr einfach du rennst da rein ziehst alle auf dich uns spammst abwechselnt flammenstoß und inferno wenn du noch mehr am arsch hast pfefferst du nen meteor rein und spammst weiter flammen und inferno ich krieg sonen run in ner minute locker hin ach ja bevor du reinrennst aktivier erstmal die ganzen einstimmungen und wiederherstellung und erdrüstung ^^
04/08/2007 10:36 Term!nX#9
Quote:
Originally posted by guild_wars_gamer@Apr 7 2007, 22:42
mit nicht manuell meinst du doch sicherlich über pigelgetcolor?
habe es damit gemacht, den wert in msgbox ausgegeben und siehe da, ein anderer.
Im Code übernommen......."Es ist nicht Grunz" :cry:
habe sogar schon die abzusuchenden kooardinaten auf 0, 0, 1024, 768 geändert
-> angeblich immernochkein Grunz......
was mach ich nur falsch *verzweifel*


mfg Guild_Wars_Gamer
Jop ich meinte, dass du den grünen Namen von Grunz ganz links oben inne Ecke ziehst mit der Kamera und dir dann von PixelGetColor inner Msgbox den Farbcode von X: 0 und Y: 0 geben lässt (sind glaube ich die Coords von links oben inne ecke).

$color = PixelGetColor(0, 0)

MsgBox(0, "Titel", $color)

so in etwa. Vom Prinzip her, den Namen von Grunz irgendwo hinfahren wo du genau weisst, über welcher Pixelkoordinate der Name jetzt liegt und dann Farbcode von der Koordinate rausgeben lassen.
04/08/2007 15:57 -Anthrax-#10
so...habe jetzt insgesamt 6 verschiedene Farbcodes ausbrobiert, es will einfach nit klappen, der Bereich in dem gesucht wird beinhaltet Grunz aber ich bekomme nur jedesmal die meldung 'es ist nicht Grunz' :rolleyes:
Was ich mich aber frage ist: warum bekomme ich immer 'es ist nicht Grunz' angezeigt?
die Farbcodes nach denen in dem Bereich gesucht wird sind definitiv darin vorhanden, selbst wenn ich den Farbcode statt von Grunz versehentlich von einem pixel daneben treffe müsste es doch auch funktionieren und die Maus würde dann eben einen Pixel neben Grunz klicken, oder seh ich da was verkehrt? ^^

Code:
func getcolor()
$color= PixelSearch(400, 125, 900, 400, 1645077 ,0) 
if not @error Then 
	MouseClick("left", $color[0], $color[1], 0)
Else 
	MsgBox(0, "Test", "es ist nicht Grunz")
	EndIf
EndFunc

Edit/
@koji:

Ja auf die 'konventionelle' Art würde das funktionieren, ich mache es aber für gewöhnlich immer so wie auch [Only registered and activated users can see links. Click Here To Register...]
im vorletzten Post von mir beschrieben. Dadurch kommen die Waldis und Mesmer auch noch mit und diese dann ohne Grunz zu killen wird hart ^^

/Edit2:

OMFG

Asche über mein Haupt..... ;)
Da sag ich nur: wer die Help-Files lesen kann ist klar im Vorteil :D
Hatte bei Pixelsearch in der Klammer am Ende den Step-Mode auf 0 gesetzt *bitte frag mich keiner warum...ich weiss es nicht :D*
Ist mir leider erst beim 100mal nachschaun aufgefalln...ne 1 draus gemacht, jetzt kommt immerhon schonmal ein klick, muss also nun aus den 6 die ich habe den richtigen Farbcode raussuchen ^^
Werde nun mal schaun wie weit man da mit nem bot kommen kann, wenn was brauchbares bei rauskommt könnte mans ja vllt hier releasen falls interesse daran besteht ^^

Danke nochmal für die flotten Lösungsvorschläge zu meinen Fragen
Karma haste ja schon gestern bekommen ^^


mfg GWGamer
04/08/2007 17:35 Term!nX#11
Oh, mir kam die 0 etwas strange vor, wusste aber nichtmehr genau, was sie bedeutet ;) Tjoa dann mal ran an den Speck, mit sonem Scheiß musste ich anfangs auch immer leben ^^
04/09/2007 11:38 Azunai#12
mal so nebenbei wäre es mit "V" nicht auch gegangen ? xD
04/09/2007 13:15 Term!nX#13
Das wird ja immer peinlicher ^^ habs grad ausprobiert, wäre problemlos gegangen.
04/09/2007 18:03 -Anthrax-#14
.....ähm...ja :D

Hatte an den beiden Tagen wohl ein paar Logik-Aussetzer ^^
Naja, nun funktionierts ja, bzw für meine skillung da ne brauchbare fight-routine zu schreiben wird wohl zu schwer. Schreibe das Script dann wohl für Krieger oder Monk, bin z.zt noch am testen was da am besten funktioniert.
Btw..gabs da nicht schonmal nen Bot für Gates of Kryta? Habe in nem Thread von einem gelesen jedoch nirgends gefunden...



mfg GWGamer
04/09/2007 19:00 Term!nX#15
Nimm einen 55hp Monk:

Heal 13
Pein 15
GdG 12
Schutz Rest

Sgeist
Hhauch
Schild des Urteils
Arkanes echo
Siegel wo man energie pro verzauberung kriegt
Devotion Aura (göttliche aura oder so)
Genesung
Balthasars Geist

rein in die Menge und 2x den Durchgang mit Doppel-SOJ durch Echo.

Klappt wunderbar, so farm ich atm die Schokohasen.