TT6 MoveTo engine public

03/20/2009 20:49 NBA#586
Nunja, schonmal die Checkarea ueberprueft?
03/21/2009 08:05 tonitusch666#587
Was mir da grad durch den Kopf geht ist Deine Rekursion, also Annahme:
die Area stimmt nicht, er geht in die GH und ruft sich wieder selber auf, es passt und rennt raus, dadurch wird der Rekursionsaufruf der Func abgearbeitet, was dann aber noch auf dem Stack liegt ist der Rest der ursprünglichen Funktion, bei der die Area nicht gepasst hat, die wird aber dann abgearbeitet und enthält aber noch so spannende Sachen wie ein StopMoveTo(), ControlClicks, while memoyread(), und sogar einen fight aufruf ?

Das wird dann nach beenden des Rekursions loop abgearbeitet und zwar mE wenn Du wieder zurück bist nach einem fight, und das kann interessante Nebeneffekte haben !?!?

Daher sollte man den wayout anderst machen, also so in der Art dass alle Areacheck in eine Func sind die dann true/false Rückgabe macht und das dann in eine while loop packen und dort die Gegenmassnahme GH() aufrufen...

mfg
03/21/2009 08:53 buFFy!#588
Als wenn es nicht schon genug gäbe, Ich werde ihn trotzdem mal reinsetzen.
Code:
#cs ----------------------------------------------------------------------------
	
	AutoIt Version: 3.3.0.0
	Author:         eF_Hacks
	
	Script Function: Waypointer for ToniTusch666 MoveTo Engine [Guild Wars]
	
#ce ----------------------------------------------------------------------------

#include <NomadMemory.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include-once

Const $Pos_X = IniRead("update.ini", "SECTION D", "POSX", "Not Found")
Const $Pos_Y = IniRead("update.ini", "SECTION D", "POSY", "Not Found")
$hWnd = IniRead("WPT.ini", "Misc", "WinName", "Guild Wars")
Global $hprocess = _MemoryOpen(WinGetProcess($hWnd))
Const $CurPos_X = _MemoryRead($Pos_X, $hprocess, 'float')
Const $CurPos_Y = _MemoryRead($Pos_Y, $hprocess, 'float')
Global $CheckBox, $Mode1, $Mode2, $Mode3, $WindowName, $Delete

HotKeySet("{End}", "_Exit")
HotKeySet("{Ins}", "_GetCurPos")


Func _GetCurPos()
	Select
		Case $Mode1 And BitAND(GUICtrlRead($Mode1), $GUI_CHECKED) = $GUI_CHECKED 
			ConsoleWrite(StringFormat("MoveTo(1, %d, %d)\n", $CurPos_X, $CurPos_Y))
			FileWriteLine("Waypoints.txt", StringFormat("MoveTo(1, %d, %d)\n" & @CRLF, $CurPos_X, $CurPos_Y))
		Case $Mode2 And BitAND(GUICtrlRead($Mode2), $GUI_CHECKED) = $GUI_CHECKED 
			ConsoleWrite(StringFormat("MoveTo(2, %d, %d)\n", $CurPos_X, $CurPos_Y))
			FileWriteLine("Waypoints.txt", StringFormat("MoveTo(2, %d, %d)\n" & @CRLF, $CurPos_X, $CurPos_Y))
		Case $Mode3 And BitAND(GUICtrlRead($Mode3), $GUI_CHECKED) = $GUI_CHECKED
			ConsoleWrite(StringFormat("MoveTo(3, %d, %d)\n", $CurPos_X, $CurPos_Y))
			FileWriteLine("Waypoints.txt", StringFormat("MoveTo(3, %d, %d)\n" & @CRLF, $CurPos_X, $CurPos_Y))
	EndSelect
EndFunc   ;==>_GetCurPos

Func _Exit()
	If GUICtrlRead($CheckBox) = 1 Then
		$Delete = True
	EndIf
	If $Delete = True Then
		FileDelete("Waypoints.txt")
	EndIf
	Exit
EndFunc   ;==>_Exit

Func _Save()
	If GUICtrlRead($CheckBox) = 1 Then
		IniWrite("WPT.ini", "Misc", "0xFFFFFF", 1)
	Else
		IniWrite("WPT.ini", "Misc", "0xFFFFFF", 0)
	EndIf
	IniWrite("WPT.ini", "Misc", "WinName", GUICtrlRead($WindowName))
EndFunc   ;==>_Save

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("TT6 Waypointer | <eF_Hacks>", 290, 315, 193, 125)
$Mode1 = GUICtrlCreateRadio("Mode 1", 112, 136, 113, 17)
GUICtrlSetState(-1, $GUI_CHECKED)
$Mode2 = GUICtrlCreateRadio("Mode 2", 112, 160, 113, 17)
$Mode3 = GUICtrlCreateRadio("Mode 3", 112, 184, 113, 17)
$Label1 = GUICtrlCreateLabel("Hotkeys:", 128, 24, 62, 17)
$Label2 = GUICtrlCreateLabel("End = Exit", 120, 48, 100, 17)
$Label3 = GUICtrlCreateLabel("Insert = Write Position", 100, 72, 171, 17)
$Group2 = GUICtrlCreateGroup("", 16, 120, 257, 89)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group1 = GUICtrlCreateGroup("", 16, 15, 257, 97)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Save = GUICtrlCreateButton("Save Settings", 104, 280, 75, 25, 0)
$WindowName = GUICtrlCreateInput(IniRead("WPT.ini", "Misc", "WinName", "Window Name"), 88, 248, 121, 21)
$CheckBox = GUICtrlCreateCheckbox("Delete File after Exit?", 88, 216, 185, 17)
If IniRead("WPT.ini", "Misc", "0xFFFFFF", "0") = 1 Then
	GUICtrlSetState(-1, $GUI_CHECKED)
EndIf
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			_Exit()
		Case $Save
			_Save()
	EndSwitch
WEnd
03/21/2009 11:38 Painful Pete#589
Ah danke Toni... das wars bestimmt.... ich versuchs heut nachmittag mal :D
03/22/2009 10:04 1level2high#590
hey leute habe ein problem, immer wenn ich die tt6.engine ingame offen habe und F1 drücke schreibt er in meine Textdatei MoveTo(1,0,0) , egal wo ich bin ..
Bitte um Hilfe
03/22/2009 10:38 buFFy!#591
Quote:
Originally Posted by 1level2high View Post
hey leute habe ein problem, immer wenn ich die tt6.engine ingame offen habe und F1 drücke schreibt er in meine Textdatei MoveTo(1,0,0) , egal wo ich bin ..
Bitte um Hilfe
neue update.ini im ordner?
03/22/2009 10:50 1level2high#592
ja glaube schon.. also hab die tt6 version 1.5 glaub ich
03/22/2009 11:02 Moppel123#593
vielleicht ist der name vom Window nicht Guild Wars.. weil sonst müsste es eigentlich gehen.. habe damit keine Probleme
03/22/2009 11:03 1level2high#594
doch der Name ist "Guild Wars" ... ich wunder mich auch warums net geht
03/22/2009 11:09 buFFy!#595
liegt 100%ig an der update.ini !
ersetz mal das was in deiner update.ini steht mit dem hier

Code:
6.3.2009
; update.ini [Gw.exe] - __wadim 
; 6.3.2009 - 7:18

[SECTION 9-A]
AX =					0xa05710
AY =					0xa05714
TOWN_OUT_ID =				0xa06558
NO_NPC =				0xa072f4
DEATH =					0xa05794
MOUSE_COORDX =				0xa05da0
MOUSE_COORDY =				0xa05da4
CAMCOURSE =				0x00A05638
EX_AREA_ID =				0xa03038
EXPANDERA =				0xa05643
EXPANDERB =				0xa05642
LVL =					0xa03078
PVP_PVE =				0xa03084
PING =					0xa0049c
INTERFACE =				0xa01af0
LOGIN =					0xa057b0
EMAIL =					0xa01af4
MOVETO_TARGET =				0xa05d84
MAPPLAYER =				0xa05d8c
MAPTIME =				0xa05678
PNAME =					0xa004e8
STORAGE =				0xa02064
SELLBAGX =				0xa01fe8
MOUSEACTION =				0xa13100
MESSAGE =				0xa05de7

; +4=y, +8=sizex, +12=sizey
INVENTAR =				0xa02554
HERO =					0xa024c8
MMAP =					0xa025a4
PARTY =					0xa0261c
CHEST =					0xa02568
ALLBAG =				0xa0257c
GUILD =					0xa02534
SKILL =					0xa024f0
TRADE =					0xa02770
PARTYSEARCH =				0xa02638
MERCHANT =				0xa02798

MOVECHAR =				0xa05d6c
;+4=back, +8=left, +C=right, +10=tleft, +14=tright

[SECTION D]
POSX =					0xd28d1c
POSY =					0xd28d20
CHECK_MAP =				0xd289b8
NPC_ID_NEAR =				0xd285c8
NPC_ID_SELECT =				0xd285a8
NPC_ID_MOUSE_SELECT =			0xd285b4
CLIENTPATH =				0xd29590
03/22/2009 11:56 1level2high#596
hmm geht immernoch nicht ... -_-
03/22/2009 11:58 1level2high#597
kann mir jemand vllt nochmal die tt6.engine geben ? also die wo man f1 drücken muss ..
wäre nett :)

ICQ : 480890275
03/22/2009 15:32 1level2high#598
okay habs hinbekommen ... Vielen dank an alle :D

hab da aber noch eine andere frage... kann jemand mir vllt ein tip geben für eine Anti-Block Funktion ? also wenn er geblockt wird das er resign() macht und wieder von vorn anfängt .. ?
03/22/2009 15:50 kknb#599
mode3 if got $gotblocked then....

steht inner readme
03/22/2009 17:22 1level2high#600
hmm also ich benutze diesen modus 3 und lasse nach jedem MoveTo mit If $gotBlocked überprüfen ob ich geblockt wurde, wenn ich beispielsweise beim 3. (von 20) MoveTo geblockt werde, gibt er resign ein.. sobald er dann in der stadt ist gibt er ja aber noch 17x resign ein weil er 17x ja nicht an sein Ziel kommt... hat jemand eine Idee wie ich das Problem lösen kann ?