Frage...

09/19/2008 20:38 i4mSoH34Vy#1
Hi hab vor meinen Nestlinge Farmbot umzuschreiben so das er im Hintergrund läuft.Meine Frage ist nun ob PixelChecksum noch geht oder ob man dafür die Abfrage der NPCs lieber über Memory laufe lässt.
Freue mich auf eine Antwort.
mfg
09/19/2008 22:03 blauwiggle#2
Über Memory, da das mit den Pixelabfragen nichts wird.
09/19/2008 23:17 i4mSoH34Vy#3
da ich es noch nie mit memory probiert hab wollt ich fragen ob er immer die id findet oder ob es auch mal sein kann das die id nicht gefunden wird
09/19/2008 23:31 blauwiggle#4
Die IDs ändern sich wohl nach jedem Server Neustart. Du brauchst aber, sofern du keinen speziellen NPC/Gegner möchtest, keine IDs, sondern die X/Y-Werte wo du bist.
09/19/2008 23:37 i4mSoH34Vy#5
Ich dachte mir das ich halt die ID z.B von Hoff abfrag so wie die Pixelchecksums.
Wenn es die ID von Hoff ist dann halt den Weg und wenn es die ID von Qarg oder so ist dann halt den anderen Weg.
09/20/2008 00:10 Gabba2#6
Da ist das mit X Y Position auslesen sinnvoller.
Ein Beispiel dafür wie das angewendet wird findest du z.B. im Arctic Bot.
09/20/2008 13:22 i4mSoH34Vy#7
Edit: hat er ja doch :D
09/20/2008 17:03 blauwiggle#8
Ich habe nen paar Dinge rausgelöscht, deshalb nicht über xx-Variablen wundern ... .

Code:
#include <nomadmemory.au3>

Global $MapPos, $CurrentPosX, $CurrentPosY, $PosX, $PosY, $PID, $hprocess, $CheckMap, $CourseStat, $Death, $dll, $Map, $GTime
$PosX = 0x------
$PosY = 0x------
$PID = ProcessExists("Gw.exe")
$hprocess = _MemoryOpen($PID)
ProcessWait("gw.exe")
$hpid = _MemoryOpen(ProcessExists("gw.exe"))

HotKeySet("{F1}","_check")
HotKeySet("{END}","_exitit")

while 1
	sleep(10)
WEnd

;  y<y x<x

Func _check()
	$CurrentPosX = _MemoryRead($PosX, $hprocess)
	$CurrentPosY = _MemoryRead($PosY, $hprocess)
        MsgBox(0,"X-Wert",$CurrentPosX)
        MsgBox(0,"Y-Wert",$CurrentPosY)
EndFunc

Func _exitit()
	exit
EndFunc
09/20/2008 17:07 i4mSoH34Vy#9
Danke :D für die schnelle Antworten.