MoveTo Engine funktioniert nicht

03/31/2010 21:28 B0tCod3r#1
Nachdem ich heute mehrere Stunden damit verbracht habe die MoveTo Engine bei mir ans Laufen zu bringen habe ich mich entschlossen mein Problem zu posten.

Ich benutze die MoveTo Engine von tonitusch666 mit dem dazugehörigen Dumper. Ich habe die Update.ini auf den neuesten Stand gebracht (copy&paste aus [Only registered and activated users can see links. Click Here To Register...]Thread) und selbst mit CE überprüft.
Das seltsame ist, das die Funktion CheckArea() aus der tt6.au3 einwandfrei funktioniert! Das heißt die Mems sind OK, jedoch funktioniert dieser simple MoveTo Aufruf nicht:
PHP Code:
#include "tt6.au3"

PrepMoveTo()
MoveTo(114237, -382)
StopMoveTo() 
Der Charakter dreht sich entweder nur im Kreis oder dreht sich n bisschen und rennt dann nur noch geradeaus.

Das einzigste was ich herausgefunden habe und nützlich sein könnte ist Folgendes:
Wenn ich einen Bot (z.B. einer der Test-Bots, die bei der MoveTo Engine mitgeliefert werden) starte, gibt dieser immer die Fehlermeldung "No valid spawnpoint" aus. Das heißt, das meine Mem-Koordinaten des Charakters nicht kongruent mit denen anderer sind. So schlägt deren CheckArea() immer fehl, meins funktioniert jedoch, da ich die Funktion mit meinen "falschen" Koordinaten benutze. Warum meine PosX und PosY Koordinaten jedoch fehlerhaft sein sollten und warum deshalb die MoveTo Funktionen nicht funktionieren sollten weiß ich nicht.

Habe alle relevanten Dateien in den Anhang gepackt. Falls ihr wie ich nicht gerne fremde Dateien runterladet, hier alle im Spoiler:

Update.ini

Test-Programm

tt6.ini

tt6.au3

Dumper.au3


Ich hoffe ihr könnt mir helfen und ich habe bei meinem 1. Post im Forum hier alles richtig gemacht. :)
[Only registered and activated users can see links. Click Here To Register...] schon mal im voraus!


Antivir: Nothing found
ArcaVir: Nothing found
AVG: Nothing found
BitDefender: Nothing found
VirusBlokAda32: Nothing found
VirusBuster: Nothing found

[Only registered and activated users can see links. Click Here To Register...]
Scanned by [Only registered and activated users can see links. Click Here To Register...]
03/31/2010 21:34 w0lfszeit#2
Falsche Mems!
Gab ein kleines Update:
POSX = 0xd3ec64
POSY = 0xd3ec68

Edit: Benutze folgenden Mem-Updater von DLL: [Only registered and activated users can see links. Click Here To Register...]
03/31/2010 22:05 B0tCod3r#3
danke für den Link, hatte schon nach so einem Programm gesucht.
Bei meinen selbst geschriebenen Programmen klappt es immer noch nicht,
jedoch bei den Beispiel-Bots! Anhand denen werd ich mir das ganze schnell erarbeiten, danke für die schnelle Antwort! :thumbs:

Tut mir leid, dass ich den 10001sten Thread zu diesem Thema eröffnet habe und dass die Antwort wie immer die selbe war, aber ich war mir verdammt sicher die aktuellen Mems zu haben, da CheckArea geklappt hat.
03/31/2010 22:11 kknb#4
checkarea<>pos
03/31/2010 22:22 w0lfszeit#5
Aja übrigens: bei tt6 wird die "Camcourse" CamcourseB genannt, überprüf am besten in der tt6.au3 die Namen mit deiner update.ini ;)

Code:
Const $memx = IniRead("update.ini","SECTION D","POSX","Not found") ; position x
Const $memy = IniRead("update.ini","SECTION D","POSY","Not found") ; position y
Const $memmap = IniRead("update.ini","SECTION D","CHECK_MAP","Not found") ; post=0, load =2, area=1
Const $memnpcidselect = IniRead("update.ini","SECTION D","NPC_ID_SELECT","Not found") ; id of selected object
Const $memnpcidnear = IniRead("update.ini","SECTION D","NPC_ID_NEAR","Not found") ; id of nearest object
Const $memcourse = IniRead("update.ini","SECTION 9-A","[COLOR="Red"]CAMCOURSEB[/COLOR]","Not found") ; angle of compass/view direction
Const $memdeath = IniRead("update.ini","SECTION 9-A","DEATH","Not found") ; alive = 0 or death = 1
Edit: Rennt der Bot jetzt schon und bleibt nur nicht stehen? Ich würde gleich mit GWCA anfangen, geht um einiges leichter und läuft auch um einiges besser.
03/31/2010 22:38 B0tCod3r#6
Quote:
Rennt der Bot jetzt schon und bleibt nur nicht stehen?
Der Beispiel-Glint-Bot funktioniert wunderbar, bin den gerade am auseinander nehmen.

Zur GWCA, hab mich damit schon beschäftigt und eingearbeitet, scheint ganz gut zu sein. Dann habe ich jedoch erfahren, dass Anet dagegen vorgegangen ist, indem die Graphics.dll nicht mehr automatisch eingebunden wird. Jetzt muss man die manuell injecten, und da das relativ einfach zu entdecken ist (hab ich mir sagen lassen) ist mir das Risiko zu hoch. Ich botte schließlich immer noch mit meinem Main-Acc.

Edit: Hab den [Only registered and activated users can see links. Click Here To Register...] vom Spielupdate rausgekramt, wo die das geändert haben.
03/31/2010 22:54 w0lfszeit#7
Hmm, ist mir neu das Risiko hoch sein sollte, weiß ned inwiefern das jetzt nachvollziehbar ist, aber ich werde es schon benutzen.

Dreht sich der Bot nur oder läuft er und bleibt nicht stehen?
03/31/2010 23:01 B0tCod3r#8
vorher hat er sich nur gedreht, hab jetzt aber die Version 1.4 statt der 1.7 von der tt6.au3 in den Ordner gepackt, jetzt rennt er zwar aber nicht dahin wo ich will xD

Edit: Hat sich erledigt, hatte die Dumper.exe noch mit der alten Update.ini kompiliert. Funktioniert jetzt alles einwandfrei! Vielen Dank nochmal für die Hilfsbereitschaft :)
03/31/2010 23:10 w0lfszeit#9
kein Problem ;)
Falls du ein paar Ideen für meinen "Überlebender-Bot" hast kannst die auch einbringen bzw. Skript durchlesen und so, oder falls du ne Idee hast, wie ich nach dem Töten der Gruppe weiterspringe ^^
03/31/2010 23:23 Neon™#10
Quote:
Originally Posted by B0tCod3r View Post
Der Beispiel-Glint-Bot funktioniert wunderbar, bin den gerade am auseinander nehmen.

Zur GWCA, hab mich damit schon beschäftigt und eingearbeitet, scheint ganz gut zu sein. Dann habe ich jedoch erfahren, dass Anet dagegen vorgegangen ist, indem die Graphics.dll nicht mehr automatisch eingebunden wird. Jetzt muss man die manuell injecten, und da das relativ einfach zu entdecken ist (hab ich mir sagen lassen) ist mir das Risiko zu hoch. Ich botte schließlich immer noch mit meinem Main-Acc.

Edit: Hab den [Only registered and activated users can see links. Click Here To Register...] vom Spielupdate rausgekramt, wo die das geändert haben.
:facepalm:
Ob du die Dll automatisch oder manuell injectes macht keinen Unterschied :rolleyes:
03/31/2010 23:27 w0lfszeit#11
Quote:
Originally Posted by Neon™ View Post
:facepalm:
Ob du die Dll automatisch oder manuell injectes macht keinen Unterschied :rolleyes:
Jo das is klar, aber kann man von der Server-Seite aus sehn das man eine dll injeziert hat?
04/01/2010 00:08 Frutex#12
Quote:
Originally Posted by w0lfszeit View Post
Jo das is klar, aber kann man von der Server-Seite aus sehn das man eine dll injeziert hat?
Nein, denn die Dll wird nur in den Prozess injeziert. Also hierbei in die Gw.exe.
Da diese aber auf deinem Computer ist können die das nicht sehen.
04/01/2010 10:30 Gabba2#13
Würden sie nach der Dll suchen, würden sie sie finden. Zwar nur so lange bis dagegen etwas unternommen wird, es würde aber mit Sicherheit reichen um einige Accs zu erwischen.
04/01/2010 10:31 SeijunX™#14
geht e s jetzt?
04/01/2010 11:16 w0lfszeit#15
Quote:
Originally Posted by Gabba2 View Post
Würden sie nach der Dll suchen, würden sie sie finden. Zwar nur so lange bis dagegen etwas unternommen wird, es würde aber mit Sicherheit reichen um einige Accs zu erwischen.
Hmm ja ich denk mir auch, die könnten ja in die exe einen Code reinproggen der überprüft ob etwas injeziert wurde, kann ich mir nicht so schwer vorstellen.
Nur anscheinend ist das ned so leicht rauszubekommen.