Bot Programier Hilfe

05/24/2015 12:27 Uzuja#1
Hiho
Ich spiele ein handygame indem der effektivste "skill" weg auch der zeitaufwändigste is dachte ich mir machste halt nen bot .... hab aber null plan vom programieren aber in meinem kopf klingt das garnich so schwer ....

Der bot soll so funktionieren "scannt" immer dne gleichen x y bereich wenn da weder "bild a" noch "bild b" ist drückt er einmal auf punkt x/y scannt dann nochma und drückt bei a auf die eine coordinate und bei b auf die andere und startet danach wieder von vorne also im prinziep ne endlos schleife mit ner if abfragte und halt dem "bilderkennungs-modul" .... nur leider hab ich nur geringe delphi kennstnisse und ansonsten bin ich maximal überfordert.

würde mich sehr freuen wenn mit wer helfen kann das ganze zu schreiben :D

edit: ganz vergessen ich nutze bluestacks und nutze den bot dann natürlich auf dem pc als "clicker"
05/24/2015 15:10 Melli-#2
Na ist einfach. Da er ja einfach sein soll brauch man wie du sagst so ein schönes "Bilderkennungs-Modul" ansonsten ist es nur reine Frage von AutoIT. Ich könnte alles so weit schreiben (mit control click (das heißt kannst neben bei videos gucken) oder wenn dies nicht geht mit mouse click) nur ab das mit dem Bild kann ich dir leider nicht weiter helfen.


Code:
While 1 ; Dies ist ein Beginn einer Schleife die sich immer und immer wiederholt.
MouseClick("left",x,y,1) ; Das ist ein typischer Maus Klick
-BILD was erkannt werden muss-
MouseClick("left",x,y,1) ; Und auf den anderen Bild das
-BILD was erkannt werden muss-
-Neustart- ; die Zeile kann ich erst schreiben wenn ich weiß wie man am schnellsten neustarten kann
WEnd ; Beendet die Schleife, da aber keine Funktion mehr da steht wird diese immer und immer ausgeführt
Man sieht leider nicht die Kommentare (das nach dem ; geschrieben wurde)
Also soweit könnte ich es auch.
Bei dem neustarten kommt es darauf an wie man es am einfachsten Neustarten kann.
Bluestacks neustarten?
Entertaste drücken .. sowas halt.
Danach einfach WinWaitActive oder ganz einfach Sleep.
05/24/2015 15:32 Uzuja#3
k danke schonma hab mich mal reingelsen ich brauch nichma ein bild an punk xy variiert die farbe von schwaz auf rot auf auf grün und pro farbe brauch ich ein click das ganze dann in der whilse schleife :D

das mit dem sleep versteh ich nich ? und nebenbei was machen können video etc wäre nice :D

soweit soweit is noch nix i know aber stimmt das so schonma ? xD


Code:
HotKeySet("{F6}","_Exit")

While 1
   $Grun = PixelSearch(1756, 371 ,1756, 371 ,0xCCFF55)
   $Rot = PixelSearch(1756, 371 ,1756, 371 ,0xE25D4F)
   $Schwarz = PixelSearch(1756, 371 ,1756, 371 ,0x1A1D22)
   if ($Grun) = True Then
	  MouseClick("left",1760, 641,1)
   EndIf
   if ($Rot) = True Then
	  MouseClick("left",1491, 641,1)
   EndIf
   if ($Schwarz) = True Then
	  MouseClick("left",1491, 641,1)
   EndIf
WEnd

Func _Exit()
   Exit
EndFunc
05/24/2015 16:53 Melli-#4
Ja das Script müsste funktionieren.

Sleep ist ein Befehl, und zwar wird er so geschrieben in AutoIT:
Sleep(Zeit) ich glaube das 1000 = 1 Sekunde ist.
Das heißt wenn du schreibst

Code:
Sleep(1000)
MouseClick("left",x,y,1)
Heißt das Quasi bevor er diesen Klick macht wartet er 1 Sekunde.

Anstatt MouseClick verwende mal "ControlClick" les dich rein was du alles brauchst und benutze dazu "AutoIt Windows Info"
Da musst du sachen angeben wie z.B. Prozess, Class... dann führt er die Klicke nur in diesem Fenster auf.

Und was ist mit deinem Neustart?
05/24/2015 16:56 Uzuja#5
brauch ich noch irgendwelche anderen sachen hab jez nur autoit rungeladen und wenn ich das script öffne passiert einfach nix xD

kann man den if befehl so schreiben ich hab das einfach ma so geschrieben ka xD
05/24/2015 16:59 Melli-#6
Neue Datei schon angelegt?
Ansonsten wenn du eine GUI haben möchtest brauchst du Koda Form Designer.
Und ansonsten musst du es nur starten. Ist das dein gesamter Code der da stand?
Ah habs verstanden. Der Func ist für dein Hotkey da.

So nochmal rum probiert. Sollte eigentlich alles funktionieren.
05/24/2015 17:04 Uzuja#7
da is der gesamte code ja mit deiner sleep funktion dabei jez ich möchte das wenn ich das starte das halt anfängt auf den x/y coordinaten zumzuklicken :D

gui wut was ? hab echt null plan :(

hab is eine if isarray daraus gemacht weil das glaub so sien muss wenn ich als person jez den klicke ändert er bei grün auf die andere coordinate aber klickt nich nochma neu danach :/
05/24/2015 17:15 Melli-#8
GUI = frag mich nicht google :D
Das ist eine Oberfläche wie z.B. bei Skype. Das ist eine GUI.

Aso er soll nur rum klicken?
Machen wir es uns einfach?
Ok.

Code:
While 1
 MouseClick("left",1760, 641,1)
 MouseClick("left",1491, 641,1)
 MouseClick("left",1491, 641,1)
WEnd
Oder

Code:
While 1
if PixelSearch(1756, 371 ,1756, 371 ,0xCCFF55) = true then
MouseClick("left",1760, 641,1)
WEnd
usw. Müsste das nicht auch so gehen?
Natürlich kannst du auch dein Hotkey wieder rein machen.
05/24/2015 17:31 Uzuja#9
Code:
HotKeySet("{F6}","_Exit")

While 1
   $Grun = PixelSearch(1756, 371 ,1756, 371 ,0xCCFF55)
   if IsArray($Grun) = True Then
	  MouseClick("left",1760, 641,1)
   else
	  Sleep(3000)
	  MouseClick("left",1491, 641,1)
   EndIf
WEnd

Func _Exit()
   Exit
EndFunc
nen der soll auch noch nach grün suchen also im prinziep guckt der ja jez nach mhm is da grün ja click ansonsten 3 secs warten und klicken klingt gut so macht er aber nich er macht jez nur den else befehl auch wenn grün da is wartet er 3 sekunden und macht den neuen klick
05/24/2015 17:49 Melli-#10
Hab mal gegoogelt.
Versuch es mal in eine Funktion zu tun. Dieses if IsArray funktioniert nicht.
Hier siehst mal ein Beispiel für if IsArray: [Only registered and activated users can see links. Click Here To Register...]
Oder mach einfach:
"If $Grun = True Then
MouseClick("left",1760,641,1)
Else
Sleep(3000)
MouseClick("left",1491,641,1)
EndIf"
05/24/2015 18:07 Uzuja#11
mit dem array gings jez ab und an aber die sleep timer verwirren mich das läuft nich wies soll es perma klickt abundan einfach

mit dem array macht ers wnen da grün is nur kommt die abfrage zuspät und es skipt einfach zu dem else :/>

edit .... das ganze geht nich immer mit pixel es muss doch image search her muss ich mich wohl mal reinlesen obwohl der eigenltich nur ein feld prüfen muss wenn das true is aktion x sonst nur aktion y aaah xD

[Only registered and activated users can see links. Click Here To Register...]
das rot eingekreiste soll geklickt werden dann
[Only registered and activated users can see links. Click Here To Register...]
falls oben das rote feld leer ist unten drauf klicken
[Only registered and activated users can see links. Click Here To Register...]
dann wieder auf das im ersten klicken solang bis das kästchen nich leer is sondern das grüne drinn steht dann unten recht

problem ist die einzige konstante beim plusen ist der grüne pfeil der aber aufblinkt und somit nich immer bei der abfrage den gesetzen wert hat ...