TT6 MoveTo engine public

04/06/2009 10:57 Zabrus#676
hey ^^

Hab mal den tt6 waypointer ausprobiert aber der zeigt nur 0 werte an:

MoveTo(1,0,0)
MoveTo(1,0,0)
MoveTo(1,0,0)
MoveTo(1,0,0)
MoveTo(1,0,0)
u.s.w.........

kann mir da mal einer helfen ?
04/06/2009 12:55 kknb#677
dort sind wahrscheinlich die adressen nicht mehr aktuell, nimm den aus meiner sig, dann gehts wieder.
04/07/2009 10:42 Jacob_G#678
Tonitusch666, du hast einen kleinen Fehler in der Nutzung einer Variable. In der Funktion TransferArea, benutzt du für das Auslesen des Areas $memmap. Es muss jedoch (auf Wadims Updater bezogen) AREA_ID sein.
04/07/2009 10:53 buFFy!#679
Quote:
Originally Posted by xninja View Post
Tonitusch666, du hast einen kleinen Fehler in der Nutzung einer Variable. In der Funktion TransferArea, benutzt du für das Auslesen des Areas $memmap. Es muss jedoch (auf Wadims Updater bezogen) AREA_ID sein.
Falsch, er benutzt die Funktion für zum Beispiel:

Lutgardis Wintergarten -> Wartezeit -> Melandrus Hoffnung

Die Funktion überbrückt die Wartezeit soweit ich das gesehen habe.

Andere Frage.. kann man mit area_id komfortabler reisen?
04/07/2009 11:06 Jacob_G#680
Ich muss dich leider verbessern.

HTML Code:
; transfer to different area / portal
; $toID specifies area we want to travel to
; $timeout is the time in sec after we exit with an error
Func TransferArea($toID, $timeout = 20)
	; wait until transfer has started
	$cnt = 0
	While Not ((_memoryread($memmap,$hprocess)) = 2)
		Sleep(200)
		$cnt +=1
		if $cnt > 5*$timeout Then
			ConsoleWrite("TransferArea: transfer timeout exceeded")
			Exit
		EndIf
	WEnd
	
	;wait until new area has been reached
	$cnt = 0
	While (_memoryread($memmap,$hprocess)) <> $toID
		Sleep(200)
		$cnt +=1
		if $cnt > 5*$timeout Then
			ConsoleWrite(StringFormat("TransferArea: area ID: %d timeout exceeded", $toID))
			Exit
		EndIf
	WEnd
	RndSleep(4000)
	
	;wait until course has been stabilized
	$cnt = 0
	While _memoryread($memcourse,$hprocess,'float') > 2*$pi
		Sleep(200)
		$cnt +=1
		if $cnt > 5*$timeout Then
			ConsoleWrite("TransferArea: course timeout exceeded")
			Exit
		EndIf
	WEnd

EndFunc
; $toID specifies area we want to travel to
While (_memoryread($memmap,$hprocess)) <> $toID

Das würde nahezu nie den booleschn Wert True ergeben, denn $toID hat den Wert von einem Area und die Adresse, welche ausgelesen wird, kann nur den Wert 0,1,2 annehehmen.
04/07/2009 14:44 kknb#681
öhm ist doch alles richtig so, wenn ich zun nem aussenposten möchte geb ich id 0 ein wenn ich von nem aussenposten in ein gebiet möchte 1.
04/07/2009 14:53 Jacob_G#682
Kann man natürlich auch so nutzten ^^. Dann finde ich jedoch die Variable $toID nicht passend gewählt.
04/07/2009 21:11 tonitusch666#683
hmm jo is mir noch gar nicht aufgefallen :)
04/11/2009 17:59 .Acsii#684
Was kann ich gegen diesen Fehler machen?

PHP Code:
Line 925 (File "C:\Users\x\Desktop\Vaettire Bot 1.5\tt6.au3"):

DllCall($user32"int""PostMessage","hwnd",$hwnd,"int",
$WM_KEYDOWN"int",$skey"int",$lparam)
DllCall($user32"int","PostMessage""hwnd", $ hwnd"int", ^ ERROR

Error
Variable used without being declared
04/11/2009 22:37 buFFy!#685
Code:
#include <WindowsConstants.au3>
04/12/2009 01:41 Syc0n#686
jaja immer ist der clown schuld
04/13/2009 18:34 Leechman#687
Quote:
Originally Posted by .Acsii View Post
Was kann ich gegen diesen Fehler machen?

PHP Code:
Line 925 (File "C:\Users\x\Desktop\Vaettire Bot 1.5\tt6.au3"):

DllCall($user32"int""PostMessage","hwnd",$hwnd,"int",
$WM_KEYDOWN"int",$skey"int",$lparam)
DllCall($user32"int","PostMessage""hwnd", $ hwnd"int", ^ ERROR

Error
Variable used without being declared
huhu, also ich denke mal, hier ist einfach ein Leerzeichen reingerutscht, wo es nicht hingehört:
$ hwnd sollte wohl eher $hwnd lauten ;)
04/13/2009 18:39 Leechman#688
Quote:
Originally Posted by Syc0n View Post
...Oder er versucht zu laufen, läuft aber nur gerade aus ohne auch nur ein kleines Stückchen nach links/rechts zu gehen
Das kann ich bestätigen... wollte dir das eh schreiben, aber gut, daß du das bei deinem Vaettire Bot bereits bemerkt hast: wenn vom Schrein aus dann losgegangen werden soll im Bogen entlang deiner Wegpunkte, geht der Spieler lediglich geradeaus... aber Speicherbetankung ist halt nicht immer das Optimale... sowas kann leicht Client-seitig verhindert werden... mich wundert eh, daß ANet nicht mehr Schutzmechanismen im Client drin hat... aber ihr Profis findet ja immer nen Weg ^^ bei mir hörts dann in irgendwelchen programmiertechnischen Untiefen auf... da bekomm ich nen buffer overflow ;)

EDIT:
Hab grad im 1. Post gelesen, daß das Problem wohl bekannt ist:
Quote:
Update V1.1:
...Es gibt Situationen, da reagiert GW nicht auf Modifikation der turn left und right Speicheradressen. Aufgefallen ist mir das beim Glint bot, der sobald er damage bekommt sich in der init routine aufhängt. Daher wird zum Drehen ControlSend benutzt, was aber bekanntlich Nebenwirkungen hat...
Anscheinend ist das Problem also noch nicht wirklich eingegrenzt/gelöst... evtl. gibt es ja noch weitere Speicheradressen, die Einfluß aufs bewegen haben?!...
04/13/2009 21:50 tonitusch666#689
Hmm, also in meiner tt6 1.5 gibts die Zeile 925 gar nicht und auch kein space bei hwnd, dann kann das nur eine mod moveto sein und dazu müsste dann der Author was sagen, weil ich die nicht supporte.

Update: kleines Update V1.7, wie immer im ersten thread

mfg
04/21/2009 22:47 Cr33p#690
wie genau funkt denn TransferArea,und wo bekomme ich die TownID her?
Kann wer ein Bsp posten!?^^