|
You last visited: Today at 08:17
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
09/06/2014, 21:21
|
#2071
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Kann es sein das Live HTTP Headers die schon parsed?
Nimm lieber Chrome (F12 - Netzwerk) und schau da nach, da kannst du dir die Source-Pakete anzeigen lassen die ungeparsed sind. Selbes geht auch mit IE (F12 - Netzwerk).
|
|
|
09/07/2014, 00:09
|
#2072
|
elite*gold: 218
Join Date: Jun 2010
Posts: 68
Received Thanks: 5
|
@ KDeluxe der Fehler lag nicht an der Code Zeile sondern am fehlenden #RequiredAdmin.
Zu meinem nächsten problem :
Die Imagesearch befehle funktionieren bei einem Screenshot oder Aufzeichnung mit rauskopiertem Code sehr gut nur im "Live" Spiel geht gar nichts
Hat da wer ne Idee an was das liegen könnte ?
Code:
Opt("PixelCoordMode", 0)
#RequireAdmin
#include<ImageSearch.au3>
Global Const $windowTitle = "NosTale"
Global $imagePosX = 0, $imagePosY = 0
Global $paused = False, $visibleToolTip = False
Global $step = 1
HotKeySet("{F2}", "_TogglePause")
HotKeySet("{F3}", "_Exit")
_TogglePause()
While Sleep(10)
If Not $paused Then
If Not $visibleToolTip Then
$visibleToolTip = True
ToolTip("Läuft", 0, 0)
EndIf
$windowHandle = WinGetHandle($windowTitle)
If Not @error And WinActive($windowHandle) And BitAND(WinGetState($windowHandle), 2) Then
Sleep(410)
Send("{left up}")
EndIf
PixelSearch(692, 499, 698, 510, 0xFFFC88, 80, $step, $windowHandle) ; Unten
If Not @error Then
Send("{down down}")
Sleep(410)
Send("{down up}")
EndIf
PixelSearch(736, 391, 745, 406, 0xFFF86F, 80, $step, $windowHandle) ; Oben
If Not @error Then
Send("{up down}")
Sleep(410)
Send("{up up}")
EndIf
PixelSearch(859, 437, 868, 454, 0xFFEE77, 80, $step, $windowHandle) ; Rechts
If Not @error Then
Send("{right down}")
Sleep(410)
Send("{right up}")
EndIf
$winPos = WinGetPos($windowHandle)
$left = $winPos[0]
$top = $winPos[1]
$right = $winPos[0] + $winPos[2]
$bottom = $winPos[1] + $winPos[3]
$imageFound = _ImageSearchArea(@ScriptDir & "\Pfeile\pfeill.bmp", 1, $left, $top, $right, $bottom, $imagePosX, $imagePosY, 100) ; Erkennt Pfeile
If $imageFound = 1 Then Send("{left}")
$imageFound = _ImageSearchArea(@ScriptDir & "\Pfeile\pfeilr.bmp", 1, $left, $top, $right, $bottom, $imagePosX, $imagePosY, 100)
If $imageFound = 1 Then Send("{right}")
$imageFound = _ImageSearchArea(@ScriptDir & "\Pfeile\pfeilh.bmp", 1, $left, $top, $right, $bottom, $imagePosX, $imagePosY, 100)
If $imageFound = 1 Then Send("{up}")
$imageFound = _ImageSearchArea(@ScriptDir & "\Pfeile\pfeilu.bmp", 1, $left, $top, $right, $bottom, $imagePosX, $imagePosY, 100)
If $imageFound = 1 Then Send("{down}")
EndIf
EndIf
WEnd
Func _TogglePause()
$paused = Not $paused
If $paused Then
ToolTip("Pause", 0, 0)
$visibleToolTip = False
EndIf
EndFunc
Func _Exit()
Exit
EndFunc
|
|
|
09/07/2014, 03:03
|
#2073
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
fenstermodus
|
|
|
09/07/2014, 04:14
|
#2074
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
|
Quote:
Originally Posted by alpines
Du machst sowas und das darfst du nicht
Code:
go1()
Func go1()
go2()
EndFunc
Func go2()
go1()
EndFunc
|
Also ich mach das ungefähr so:
Func minimapsuche()
while 1
If AufMiniMapGefunden = True Then
Mouseclick darauf
AufGroßerMapErkennen()
ExitLoop
EndIf
WEnd
EndFunc
Func AufGroßerMapErkennen()
Wenn erkannt, dann anklicken.
Wenn angeklickt, warten bis eingesammelt.
Wenn eingesammelt, dann wieder auf minimapsuche()
EndFunc
Wie soll ich das denn besser lösen?
|
|
|
09/07/2014, 05:13
|
#2075
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by moneypulation
Func minimapsuche()
while 1
If AufMiniMapGefunden = True Then
Mouseclick darauf
AufGroßerMapErkennen()
EndIf
WEnd
EndFunc
Func AufGroßerMapErkennen()
Wenn erkannt, dann anklicken.
Wenn angeklickt, warten bis eingesammelt.
EndFunc
|
so.
Du startest immer mehr neue funktionen und lädst diese auf den stack. du musst auch irgendwann mal zurückkehren.
In deinem fall wurde ExitLoop nie erreicht
|
|
|
09/07/2014, 14:22
|
#2076
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
|
Ich verstehe. Das ist mir Stack overflow gemeint. Danke, ich werd versuchen das zu beheben
|
|
|
09/07/2014, 16:34
|
#2077
|
elite*gold: 218
Join Date: Jun 2010
Posts: 68
Received Thanks: 5
|
@»FlutterShy™
Hilft leider nicht weiter, Er findet im Vollbild und im Fenstermodus nichts :/
|
|
|
09/08/2014, 21:31
|
#2078
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
kleine frage zur imagesearch.au3
manachmal gibt die dll, wenn kein bild gefunden wird, ein array zurück und manchmal nicht.
wann passiert was und warum?
|
|
|
09/08/2014, 21:49
|
#2079
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
bei mir ist das nicht so. du solltest besser überprüfen ob die $var = 1 ist oder ob die coordinaten da sind
|
|
|
09/08/2014, 22:09
|
#2080
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
bis gerade eben wars bei mir auch nicht so  hab eigentlich nichts geändert und plötzlich meckert er, dass es kein array sei^^
und jetzt ist alles wieder normal^^
|
|
|
09/08/2014, 22:42
|
#2081
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by butter123
...
|
eventuell könnte if $var = 1 schneller sein als isarray ^^
|
|
|
09/12/2014, 19:49
|
#2082
|
elite*gold: 30
Join Date: May 2010
Posts: 490
Received Thanks: 242
|
Hallo,
da ich bisher absolut keine Ahnung von AutoIt habe, wollte ich einfach mal im
Vorab fragen, ob mein Vorhaben damit überhaupt umgesetzt werden kann.
Ich möchte einen Bot für ein Mmorpg machen, der einen manuellen Prozess
automatisiert.
Dabei geht es darum, ein Item von einem NPC zu kaufen (dürfte mit
Koordinatenfinder bestimmt machbar sein), dann soll dieses Item "erweckt"
werden (mit einer Schriftrolle, die sich im Inventar befindet), dann soll der
Wert der Erweckung geprüft werden und wenn er die Bedingung erfüllt soll
das Item auf eine andere Position im Inventar gelegt werden, wenn die
Erweckung schlechter ist soll das Item wieder beim NPC verkauft werden und
der ganze Prozess von vorn starten.
den Kauf- und Verkaufsprozess könnte man theoretisch mit Ghostmouse-
ähnlichen Programmen automatisieren. Nur fehlt dabei die Überprüfung der
Erweckung. Deshalb möchte ich das irgendwie mit AutoIt umsetzen.
Machbar oder nicht? Danke für eine Antwort
|
|
|
09/12/2014, 20:12
|
#2083
|
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,149
|
Ja, es ist möglich.
Was hat es mit der "Erweckung" auf sich? Wie kann man des "Status" feststellen? Ist es ein visueller Wert? Welche Eigenschaften hat dieser Wert (z. B. Farben: schlecht → rot, grün → gut)? Falls sich die verschiedenen Status visuell unterscheiden kann man dieses vorhaben relativ einfach mit PixelSearch() bzw. PixelGetColor() lösen.
Unterscheiden sich die Werte voneinander nur anhand der dargestellten Anzahl (1 → schlecht, 10 → gut), wird es schon schwerer. Ich war in der Vergangenheit im Besitz eines Bots (AutoIt Quellcode), welcher die Schrift (allerdings nur Arial) erkennen konnte. Das ist allerdings schon etwas komplizierter.
Evtl. noch komplizierter wäre es den Speicher auszulesen um den Status abzufragen. Theoretisch könntest du auch per bei der Methode mit dem Speicher auch gleich die Spielmethoden verwenden, dadurch wäre dein Bot komplett unabhängig von irgendwelchen Koordinaten und würde vollständig im Hintergrund laufen. Außerdem wäre es zuverlässiger und (wesentlich) schneller.
|
|
|
09/12/2014, 20:52
|
#2084
|
elite*gold: 30
Join Date: May 2010
Posts: 490
Received Thanks: 242
|
Danke für die Antwort, KDeluxe
Die Erweckungen unterscheiden sich tatsächlich nur in den Werten, nicht in der Farbe. Es gibt %-Werte und normale Zahlenwerte. zB. Magiekraft +20 oder Magiebeschleunigung +15%. Aber bevor ich mir darüber Gedanken mache, fange ich erstmal mit den Grundlagen an. Wollte nur wissen, ob es in irgendeiner Weise funktionieren kann oder nicht  Allerdings halte ich das Auslesen der Zahlenwerte für nicht vermeidbar. Grafisch lässt sich das kaum machen, denke ich, da 1-5 Werte per Zufall erweckt werden.
|
|
|
09/14/2014, 19:28
|
#2085
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
doch du machst es aber falsch.
ich hab immer _IeCreateEmbedded benutzt und dann das fenster je nach wunsch eingebunden oder halt nicht.
zum beispiel zum debuggen. Trägt der die daten überhaupt ein? klickt er den login button?
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 08:18.
|
|