|
You last visited: Today at 10:54
Advertisement
Auto-Loot Bot/Macro
Discussion on Auto-Loot Bot/Macro within the Guild Wars 2 forum part of the MMORPGs category.
01/15/2013, 14:25
|
#1
|
elite*gold: 0
Join Date: Apr 2007
Posts: 53
Received Thanks: 4
|
Auto-Loot Bot/Macro
gibt es einen Speicherauslesenden Loot Bot der die Taste F drückt sobald "Durchsuchen" erscheint?
Habe es selbst mit IMG und Pixelsearch versucht, beides ist zu langsam.
wäre um Antworten dankbar.
|
|
|
01/15/2013, 14:34
|
#2
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Es gibt ne Addresse (UNICODE) mit dem Wert "Durchsuchen [F]".
Der dafür zuständige Code wird nur aufgerufen wenn das Fenster erscheint.
Hooken -> Aufsammeln
|
|
|
01/15/2013, 15:35
|
#3
|
elite*gold: 50
Join Date: May 2008
Posts: 2,214
Received Thanks: 1,825
|
Quote:
Originally Posted by kumpel100
gibt es einen Speicherauslesenden Loot Bot der die Taste F drückt sobald "Durchsuchen" erscheint?
Habe es selbst mit IMG und Pixelsearch versucht, beides ist zu langsam.
wäre um Antworten dankbar.
|
Stellt sich die Frage warum es "zu langsam" ist.
Im Prinzip ist Pixelsearch schnell genug für deine zwecke, wir reden von wenigen Milisekunden, das merkst du garnicht.
da du aber meinst es ist zu langsam, wirst du wahrscheinlich schlichtweg den kompletten Bildschirm gescannt haben, nach einen viel zu großen Muster und mit absoluter Genauigkeit.
Das ist klar, das ist quark, das willst du garnicht und brauchst du gar nicht.
Beispiel in AutoIT mit PixelChecksum:
Code:
AutoItSetOption("PixelCoordMode", 2) ;relative to client
HotKeySet("{End}", "_exit")
Func _exit()
Exit 1
EndFunc
HotKeySet("{PAUSE}", "_pause")
Global $isPaused = false
Func _pause()
$isPaused = NOT $isPaused
if ($isPaused == true) Then
ToolTip("paused",0,0) ;display paused tooltip
While $isPaused == true
;paused loop
WEnd
ToolTip("") ;remove tooltip if no longer paused
EndIf
EndFunc
Global $title = "Guild Wars 2"
Global $hwnd = WinGetHandle($title)
if (NOT $hwnd) Then
MsgBox("", "Error", "No window found with title " & $title)
Exit 2
EndIf
Func _checkForLoot()
;~ Scans for the Loot Icon for direct match
local $checkSumForLoot = "1848261822"
local $pixelCheckSum = PixelChecksum(1238, 689, 1253, 709, 1, $hwnd)
;~ ToolTip("CheckSum = " & $pixelCheckSum, 0, 0)
if ($pixelCheckSum = $checkSumForLoot) Then
_loot()
EndIf
EndFunc
Global $lootKey = "f"
Func _loot()
ControlSend($hwnd, "", "", $lootKey)
EndFunc
While True
_checkForLoot()
WEnd
Das CheckForLoot muss man eben entsprechend anpassen, je nach Auflösung das man das Icon bekommt für den Loot wenn man eben F drücken will.
Die Geschwindigkeit ist wie gesagt im Millisekunden bereich.
Damit es wirklich funktioniert muss man etwas aufpassen das man keine Checksum erzeugt mit durchsichtigen teilen, die sind natürlich nicht immer identisch.
Die Checksum muss aber auch nur einen kleinen bereich abdecken.
Es geht natürlich auch mit Pixelsearch, aber auch hier sollte man die Suche auf einen kleinen bereich beschränken, den kompletten Bildschirm zu scannen ist zeitaufwendiger und schlichtweg unnötig.
|
|
|
01/15/2013, 16:00
|
#4
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Quote:
Originally Posted by TheOnlyOne652089
Stellt sich die Frage warum es "zu langsam" ist.
Im Prinzip ist Pixelsearch schnell genug für deine zwecke, wir reden von wenigen Milisekunden, das merkst du garnicht.
da du aber meinst es ist zu langsam, wirst du wahrscheinlich schlichtweg den kompletten Bildschirm gescannt haben, nach einen viel zu großen Muster und mit absoluter Genauigkeit.
Das ist klar, das ist quark, das willst du garnicht und brauchst du gar nicht.
Beispiel in AutoIT mit PixelChecksum:
Code:
AutoItSetOption("PixelCoordMode", 2) ;relative to client
HotKeySet("{End}", "_exit")
Func _exit()
Exit 1
EndFunc
HotKeySet("{PAUSE}", "_pause")
Global $isPaused = false
Func _pause()
$isPaused = NOT $isPaused
if ($isPaused == true) Then
ToolTip("paused",0,0) ;display paused tooltip
While $isPaused == true
;paused loop
WEnd
ToolTip("") ;remove tooltip if no longer paused
EndIf
EndFunc
Global $title = "Guild Wars 2"
Global $hwnd = WinGetHandle($title)
if (NOT $hwnd) Then
MsgBox("", "Error", "No window found with title " & $title)
Exit 2
EndIf
Func _checkForLoot()
;~ Scans for the Loot Icon for direct match
local $checkSumForLoot = "1848261822"
local $pixelCheckSum = PixelChecksum(1238, 689, 1253, 709, 1, $hwnd)
;~ ToolTip("CheckSum = " & $pixelCheckSum, 0, 0)
if ($pixelCheckSum = $checkSumForLoot) Then
_loot()
EndIf
EndFunc
Global $lootKey = "f"
Func _loot()
ControlSend($hwnd, "", "", $lootKey)
EndFunc
While True
_checkForLoot()
WEnd
Das CheckForLoot muss man eben entsprechend anpassen, je nach Auflösung das man das Icon bekommt für den Loot wenn man eben F drücken will.
Die Geschwindigkeit ist wie gesagt im Millisekunden bereich.
Damit es wirklich funktioniert muss man etwas aufpassen das man keine Checksum erzeugt mit durchsichtigen teilen, die sind natürlich nicht immer identisch.
Die Checksum muss aber auch nur einen kleinen bereich abdecken.
Es geht natürlich auch mit Pixelsearch, aber auch hier sollte man die Suche auf einen kleinen bereich beschränken, den kompletten Bildschirm zu scannen ist zeitaufwendiger und schlichtweg unnötig.
|
in deine schleife solltest du ein Sleep(0) tun. einfach nur deiner cpu auslastung zu liebe.
|
|
|
01/15/2013, 18:41
|
#5
|
elite*gold: 50
Join Date: May 2008
Posts: 2,214
Received Thanks: 1,825
|
Quote:
Originally Posted by buFFy!
in deine schleife solltest du ein Sleep(0) tun. einfach nur deiner cpu auslastung zu liebe.
|
Sicherlich sinnvoll, merkt man erst richtig auf Low-End Laptops ^^
|
|
|
01/16/2013, 11:30
|
#6
|
elite*gold: 0
Join Date: Apr 2007
Posts: 53
Received Thanks: 4
|
Quote:
Originally Posted by buFFy!
Es gibt ne Addresse (UNICODE) mit dem Wert "Durchsuchen [F]".
Der dafür zuständige Code wird nur aufgerufen wenn das Fenster erscheint.
Hooken -> Aufsammeln
|
ich versuche es gerade über 4Byte Adresse für die Ausgabe 0 und 1, bisher habe ich noch nicht die Statische gefunden.
Das Unicode hatte ich schon versucht allerdings nur mit "Durchsuchen".
werde ich später mit Durchsuchen [F] nochmal versuchen.
Pixelerkennung habe ich auf 2 Pixel im Wort "Durchsuchen" festgelegt.
Das Pixelsearch trotz sleep, 750 vor dem Hotkey F und sleep, 250 nach dem looten brachte nach ca 2 stunden das macro zum crashen.
eine abfrage von dem pixel zur treffgenauigkeit (loop 3x) mit je 50ms pause habe ich auch drin.Insgesamt funktioniert das looten auch nicht schlecht.
Nur über auslesen der Adresse wird das ganze einfach geschmeidiger.
Img search war zu langsam keine Ahnung weshalb.
das Img search war auf eine größe von ca 20x20mm festgelegt und nicht screenwide.
Edit: Ich Arbeite mit Autohotkey welches AutoIt sehr ähnelt.
|
|
|
01/16/2013, 12:16
|
#7
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Quote:
Originally Posted by kumpel100
ich versuche es gerade über 4Byte Adresse für die Ausgabe 0 und 1, bisher habe ich noch nicht die Statische gefunden.
Das Unicode hatte ich schon versucht allerdings nur mit "Durchsuchen".
werde ich später mit Durchsuchen [F] nochmal versuchen.
|
Ist doch egal o0
Wenn du nach Durchsuchen suchst findest er auch Durchsuchen [F]
Das eine ist eben UNICODE[11] und das andere UNICODE[15].
Nur anders rum würde das nicht gehen.
Oh und achja, als boolean gibts das nicht.
|
|
|
01/16/2013, 16:11
|
#8
|
elite*gold: 50
Join Date: May 2008
Posts: 2,214
Received Thanks: 1,825
|
Quote:
Originally Posted by buFFy!
Ist doch egal o0
Wenn du nach Durchsuchen suchst findest er auch Durchsuchen [F]
Das eine ist eben UNICODE[11] und das andere UNICODE[15].
Nur anders rum würde das nicht gehen.
Oh und achja, als boolean gibts das nicht.
|
Naja im Prinzip gibts das auch als boolean, wenn der Unicode entweder "0" oder belegt ist.
Also im Prinzip kann man das auch mit boolean machen ^^ (also schlichtweg 1 Bit) wenn einen tatsächlich nur interessiert ob da etwas steht oder nicht (den eine Logik muss ja existieren ob es angezeigt wird oder nicht, meist eine art "isVisible" was eben auch boolean ist).
|
|
|
01/16/2013, 18:41
|
#9
|
elite*gold: 1826
Join Date: Mar 2009
Posts: 4,310
Received Thanks: 6,283
|
Quote:
Originally Posted by TheOnlyOne652089
Naja im Prinzip gibts das auch als boolean, wenn der Unicode entweder "0" oder belegt ist.
Also im Prinzip kann man das auch mit boolean machen ^^ (also schlichtweg 1 Bit) wenn einen tatsächlich nur interessiert ob da etwas steht oder nicht (den eine Logik muss ja existieren ob es angezeigt wird oder nicht, meist eine art "isVisible" was eben auch boolean ist).
|
Nein. Boolean ist in VC++10 einfach nur ein Int der als Boolean interpretiert wird.
Und das wurde hier nunmal verwendet.
Die Logik dahinter dahinter ist doch kein Ding. Es gibt ne Addresse die 0/3 ist, je nachdem ob's angezeigt wird oder nicht. Von da aus einfach ein bisschen durchsteppen und man versteht's relativ fix
|
|
|
Similar Threads
|
Talisman Online Bot, auto heal, auto pick loot
09/07/2016 - General Gaming Discussion - 22 Replies
OK first of all, if u opened this topic, and read PRESS THE THANKS BUTTON!!!!
now i was now going to release this cuz u ppl dont know how to thank for that stuff that is given to u for free but anyways.
This is For AC Tools and its intended for fairies
now pay attention,
leech needle skill must be on button 3
the max hp buff on button 8
and mana pots must be on button 0
|
does 5bot work?/i need working auto leveler and auto loot
09/01/2009 - Conquer Online 2 - 5 Replies
hey i need a good auto loot bot and auto level bot for conquer i understand 5bot you need to pay, but does it still work? is it worth it? anyone have a good working bot that they can share?
please post here! :{
|
GG Updated... Auto Hp, Auto loot, Auto summon not working anymore
11/29/2007 - Dekaron - 21 Replies
GG Updated again! all of my pinacle are not working...
|
All times are GMT +2. The time now is 10:54.
|
|