Bot bewegt sich nicht !!

04/06/2009 20:44 Zabrus#1
ich habe hier ein bott gemacht der elite monk folis für gw farmen soll...aber i-wie bewegt er sich nicht...

Frage2: Muss MoveTo(.....) im Scribt auch farbig sein ?? bei mir sind sie alle normal schwarz

Code:
#cs-----------------------------------------------------------------
Guild Wars Bot

Farmt: Elite Mönch Folianten 
Boss: Byzzr Schwingenflicker
Ort: Melandrus Hoffnung
Ausenposten: Lutgardis-Wintergarten



#ce-----------------------------------------------------------------



#include <tt6.au3> 

; globals
Global $runs = 0


;Activiert Guild Wars
If Not WinActivate("Guild Wars") Then
WinActivate("Guild Wars")
EndIf
Sleep(3500)



;Hotkeys
HotKeySet("{END}", "_end")
HotKeySet("{PAUSE}", "TogglePause")

Func TogglePause()
	$Paused = NOT $Paused
	While $Paused
		sleep(100)
        ToolTip('Script is "Paused"',0,0)
	WEnd
ToolTip("Script is running")
If Not WinActivate("Guild Wars") Then
	WinActivate("Guild Wars")
EndIf
Sleep(2000)
EndFunc

func _end()
Exit
EndFunc





; wayout South
If CheckArea(-10409,-726) Then
	PrepMoveTo()
	moveto(1,-9906,-660)
	moveto(1,-9906,-660)
	moveto(1,-9906,-660)
	moveto(1,-9468,152)
	moveto(1,-9116,354)
	moveto(1,-8670,582)
	moveto(1,-8285,977)
	moveto(1,-7732,1569)
	KeepMoveTo()
	Sleep(5000)
	StopMoveTo()
	
;wayout middle
	ElseIf CheckArea(-10388,1661) Then
		moveto(1,-10257,861)
		moveto(1,-9951,562)
		moveto(1,-9379,350)
		moveto(1,-8935,485)
		moveto(1,-8519,768)
		moveto(1,-7727,1636)
		KeepMoveTo()
		Sleep(5000)
		StopMoveTo()
		
;wayout North
	ElseIf CheckArea(-10423,2653) Then
		moveto(1,-10022,2518)
		moveto(1,-9679,2376)
		moveto(1,-9631,2284)
		moveto(1,-9583,1291)
		moveto(1,-9557,535)
		moveto(1,-9169,348)
		moveto(1,-8821,502)
		moveto(1,-8386,891)
		moveto(1,-7698,1577)
		KeepMoveTo()
		Sleep(5000)
		StopMoveTo()
	
;waytoboss
	ElseIf CheckArea(-7374,2002) Then
		Sleep(2000)
		moveto(1,-7727,2764)
		moveto(1,-7781,4430)
		moveto(1,-7911,4673)
		moveto(1,-8918,5656)
		moveto(1,-10234,7241)
		moveto(1,-10775,8016)
		moveto(1,-11238,8832)
		StopMoveTo()
EndIf
	
	
;killByzzr
Sleep(1000)
Send("c")
Sleep(200)
$sel = _memoryread($memnpcidselect,$hprocess)
Sleep (500)
Send("1")
Sleep (100)
Send("2")
Sleep (1200)
Send("3")
Sleep(16500)
Send("2")
Sleep(15000)
Send("6")

;wait until Byzzr is dead
	$oldsel = $sel 
		While $sel = $oldsel
		KeySend("5")
		RndSleep(2200)
		$sel = _memoryread($memnpcidselect,$hprocess)
		Wend

;check for teleport and collect all loot
KeySend("ö")
Sleep(200)
$sel = _memoryread($memnpcidselect,$hprocess)
	If $sel > 0 Then
		KeySend("8")
		RndSleep(800)
		CollectLoot(5)
	EndIf

;resign
RndSleep(500)
Resign()


; start again
	$runs +=1
	RndSleep(4000)
:confused::confused:
04/06/2009 21:53 blauwiggle#2
PrepMoveTo() fehlt beim Rest. Das mit den Farben nennt sich Syntax Highlighting.
04/06/2009 22:29 kknb#3
die beiden zeilen einfach tauschen, dann sollte das soweit passen.

If CheckArea(-10409,-726) Then
PrepMoveTo()

also das prepmoveto zuerst.
04/07/2009 07:47 Zabrus#4
Ich habs jetz so:

PrepMoveTo()
If CheckArea(-10409,-726) Then
.......

Aber leider bewegt er sich immer noch ned :-/

Nochmal zu Frage2: Ist dieses moveto und alle anderen von der tt6 include jetz farbig?
Ich hab im Include ordner die TT6 datei. Was soll ich mit
den andere beiden .INI dateien machen ?
04/07/2009 09:08 bingbongman#5
Quote:
Originally Posted by Zabrus View Post
Nochmal zu Frage2: Ist dieses moveto und alle anderen von der tt6 include jetz farbig?
Ich hab im Include ordner die TT6 datei. Was soll ich mit
den andere beiden .INI dateien machen ?
Nein.
In den selben Ordner sonst kann das Ding gar nicht laufen.


Außerdem würde ich dir empfehlen Random() in deine MoveTo-Wege einzubauen.
04/07/2009 09:24 Zabrus#6
wie meinste das mit Random() ?? zwischen jedem move to ?? dann bleibt er doch nach jedem wegpunkt stehen...ich gebiet ja...aber im ausenposten wäre das ein wenig ausfällig ?

/edit: hab alle 3 dateien im selben ordner
04/07/2009 10:06 N.E.O.#7
Richtige Memorys?

Code:
; update.ini [Gw.exe] - __wadim 
; 31.3.2009 - 7:9

[SECTION 9-A]
AX					= 0xa05750
AY					= 0xa05754
AREA_ID					= 0xa06598
NO_NPC					= 0xa07334
DEATH					= 0xa057d4
MOUSE_COORDX				= 0xa05de0
MOUSE_COORDY				= 0xa05de4
CAMCOURSEA				= 0xa056c2
CAMCOURSEB				= 0xa05678
EX_AREA_ID				= 0xa03078
EXPANDERA				= 0xa05683
EXPANDERB				= 0xa05682
LVL					= 0xa030b8
PVP_PVE					= 0xa030c4
PING					= 0xa004dc
INTERFACE				= 0xa01b30
LOGIN					= 0xa057f0
EMAIL					= 0xa01b34
MOVETO_TARGET				= 0xa05dc4
MAPPLAYER				= 0xa05dcc
MAPTIME					= 0xa056b8
PNAME					= 0xa00528
STORAGE					= 0xa020a4
SELLBAGX				= 0xa02028
MOUSEACTION				= 0x9f99f0
MESSAGE					= 0xa05e27
INVENTAR				= 0xa02594
HERO					= 0xa02508
MMAP					= 0xa025e4
PARTY					= 0xa0265c
CHEST					= 0xa025a8
ALLBAG					= 0xa025bc
GUILD					= 0xa02574
SKILL					= 0xa02530
TRADE					= 0xa027b0
PARTYSEARCH				= 0xa02678
MERCHANT				= 0xa027d8
;x					= 0x0
;y					= 0x4
;width					= 0x8
;height					= 0x12

MOVECHAR				= 0xa05dac
;back					= 0x4
;left					= 0x8
;right					= 0xc
;tleft					= 0x10
;tright					= 0x14

[SECTION D]
POSX					= 0xd28d64
POSY					= 0xd28d68
CHECK_MAP				= 0xd28a00
NPC_ID_NEAR				= 0xd28610
NPC_ID_SELECT				= 0xd285f0
NPC_ID_MOUSE_SELECT			= 0xd285fc
CLIENTPATH				= 0xd295d8
KNOCKDOWN				= 0xd2a7b8

P_HEALTH				= 0xd28ab8
;_M_HP					= 0x130
;_M_E					= 0x11c
;_M_MAX_HP				= 0x134
;_M_MAX_E				= 0x120
04/07/2009 10:18 Zabrus#8
jaaa ^^ mein erster bot kann laufen xD

vielen dank...anscheinen war meine update.ini veraltet oO
04/07/2009 11:27 Zabrus#9
Nr.1 : hmm das mit dem aufheben funct i-wie nicht.
wie kann ich das machen das er wenn er "ö" drückt nur teleportier und aufhebt, wenn da auch was ist

Hab ein wenig an pixel farben gedacht kenn aber die richtigen befehle nicht... hat vlt einer ne Vorlage?
(Bitte nicht das PixelTUT...hab ich selber gelesen und hat mir ned viel gebracht)

Nr.2: Wenn er eine runde beendet hat hört er auf :-/ wie mach ich das er immer weiter machen ? vlt while ganz oben hin ?

Hier mein aktueller StanD:


Code:
#include <tt6.au3> 

; globals
Global $runs = 0


Controlmove("Guild Wars", "", 0, 0, 0, 1024, 768)	
	Opt("MouseCoordMode",0)


;Activiert Guild Wars
WinWait("Guild Wars","")
If Not WinActive("Guild Wars","") Then WinActivate("Guild Wars","")
WinWaitActive("Guild Wars","")
Sleep(Random(2000, 3000))



;Hotkeys
HotKeySet("{END}", "_end")
HotKeySet("{PAUSE}", "TogglePause")

Func TogglePause()
	$Paused = NOT $Paused
	While $Paused
		sleep(100)
        ToolTip('Script is "Paused"',0,0)
	WEnd
ToolTip("Script is running")
If Not WinActivate("Guild Wars") Then
	WinActivate("Guild Wars")
EndIf
Sleep(2000)
EndFunc

func _end()
Exit
EndFunc





; wayout South
	PrepMoveTo()
If CheckArea(-10409,-726) Then
		moveto(1,-10154,-629)
		moveto(1,-9912,-563)
		moveto(1,-9644,-391)
		moveto(1,-9558,-144)
		moveto(1,-9486,130)
		moveto(1,-9271,329)
		moveto(1,-9029,474)
		moveto(1,-8767,598)
		moveto(1,-8517,775)
		moveto(1,-8232,1027)
		moveto(1,-7777,1503)
	StopMoveTo()
	
;wayout middle
	PrepMoveTo()
	ElseIf CheckArea(-10388,1661) Then
		moveto(1,-10325,950)
		moveto(1,-10252,693)
		moveto(1,-10099,537)
		moveto(1,-9897,453)
		moveto(1,-9751,452)
		moveto(1,-9360,406)
		moveto(1,-8925,426)
		moveto(1,-8678,511)
		moveto(1,-8471,721)
		moveto(1,-7777,1503)
		StopMoveTo()
		
		
;wayout North
PrepMoveTo()
	ElseIf CheckArea(-10381,2586) Then
		moveto(1,-9996,2519)
		moveto(1,-9719,2412)
		moveto(1,-9552,2167)
		moveto(1,-9536,1823)
		moveto(1,-9564,802)
		moveto(1,-9530,509)
		moveto(1,-9384,332)
		moveto(1,-9161,264)
		moveto(1,-8887,295)
		moveto(1,-8670,515)
		moveto(1,-8187,1103)
		moveto(1,-7777,1503)
		StopMoveTo()
EndIf
	
;wayout
If CheckArea(-7777,1503) Then
	Send("r")
	Sleep(Random (5000, 7000))
EndIf



	

;waytoboss
PrepMoveTo()
If CheckArea(-7366,2017) Then
moveto(1,-7727,2764)
moveto(1,-7781,4430)
moveto(1,-7911,4673)
moveto(1,-8918,5656)
moveto(1,-10234,7241)
moveto(1,-10775,8016)
moveto(1,-11238,8832)
StopMoveTo()
		
;killByzzr
Sleep(1000)
Send("c")
Sleep(200)
Sleep (500)
Send("1")
Sleep (1100)
Send("2")
Sleep (1200)
Send("3")
Sleep(16500)
Send("2")
Sleep(15000)
Send("6")

;Gegenstände aufheben
Sleep(4000)
Send("ö")
Sleep(200)
Send("8")
Sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)


;resign
send("-")
Sleep(200)
send("r")
Sleep(200)
send("e")
Sleep(200)
send("s")
Sleep(200)
send("i")
Sleep(200)
send("g")
Sleep(200)
send("n")
Sleep(200)
send("{ENTER}")
Sleep(Random(4000, 5000))
MouseClick ("Left", 507, 402, 1, 5)
Sleep(Random(4000, 5000))
EndIf

; start again
	$runs +=1
	RndSleep(4000)
04/07/2009 12:21 buFFy!#10
Quote:
Originally Posted by Zabrus View Post
Nr.1 : hmm das mit dem aufheben funct i-wie nicht.
wie kann ich das machen das er wenn er "ö" drückt nur teleportier und aufhebt, wenn da auch was ist

Hab ein wenig an pixel farben gedacht kenn aber die richtigen befehle nicht... hat vlt einer ne Vorlage?
(Bitte nicht das PixelTUT...hab ich selber gelesen und hat mir ned viel gebracht)

Nr.2: Wenn er eine runde beendet hat hört er auf :-/ wie mach ich das er immer weiter machen ? vlt while ganz oben hin ?

Hier mein aktueller StanD:


Code:
#include <tt6.au3> 

; globals
Global $runs = 0


Controlmove("Guild Wars", "", 0, 0, 0, 1024, 768)	
	Opt("MouseCoordMode",0)


;Activiert Guild Wars
WinWait("Guild Wars","")
If Not WinActive("Guild Wars","") Then WinActivate("Guild Wars","")
WinWaitActive("Guild Wars","")
Sleep(Random(2000, 3000))



;Hotkeys
HotKeySet("{END}", "_end")
HotKeySet("{PAUSE}", "TogglePause")

Func TogglePause()
	$Paused = NOT $Paused
	While $Paused
		sleep(100)
        ToolTip('Script is "Paused"',0,0)
	WEnd
ToolTip("Script is running")
If Not WinActivate("Guild Wars") Then
	WinActivate("Guild Wars")
EndIf
Sleep(2000)
EndFunc

func _end()
Exit
EndFunc





; wayout South
	PrepMoveTo()
If CheckArea(-10409,-726) Then
		moveto(1,-10154,-629)
		moveto(1,-9912,-563)
		moveto(1,-9644,-391)
		moveto(1,-9558,-144)
		moveto(1,-9486,130)
		moveto(1,-9271,329)
		moveto(1,-9029,474)
		moveto(1,-8767,598)
		moveto(1,-8517,775)
		moveto(1,-8232,1027)
		moveto(1,-7777,1503)
	StopMoveTo()
	
;wayout middle
	PrepMoveTo()
	ElseIf CheckArea(-10388,1661) Then
		moveto(1,-10325,950)
		moveto(1,-10252,693)
		moveto(1,-10099,537)
		moveto(1,-9897,453)
		moveto(1,-9751,452)
		moveto(1,-9360,406)
		moveto(1,-8925,426)
		moveto(1,-8678,511)
		moveto(1,-8471,721)
		moveto(1,-7777,1503)
		StopMoveTo()
		
		
;wayout North
PrepMoveTo()
	ElseIf CheckArea(-10381,2586) Then
		moveto(1,-9996,2519)
		moveto(1,-9719,2412)
		moveto(1,-9552,2167)
		moveto(1,-9536,1823)
		moveto(1,-9564,802)
		moveto(1,-9530,509)
		moveto(1,-9384,332)
		moveto(1,-9161,264)
		moveto(1,-8887,295)
		moveto(1,-8670,515)
		moveto(1,-8187,1103)
		moveto(1,-7777,1503)
		StopMoveTo()
EndIf
	
;wayout
If CheckArea(-7777,1503) Then
	Send("r")
	Sleep(Random (5000, 7000))
EndIf



	

;waytoboss
PrepMoveTo()
If CheckArea(-7366,2017) Then
moveto(1,-7727,2764)
moveto(1,-7781,4430)
moveto(1,-7911,4673)
moveto(1,-8918,5656)
moveto(1,-10234,7241)
moveto(1,-10775,8016)
moveto(1,-11238,8832)
StopMoveTo()
		
;killByzzr
Sleep(1000)
Send("c")
Sleep(200)
Sleep (500)
Send("1")
Sleep (1100)
Send("2")
Sleep (1200)
Send("3")
Sleep(16500)
Send("2")
Sleep(15000)
Send("6")

;Gegenstände aufheben
Sleep(4000)
Send("ö")
Sleep(200)
Send("8")
Sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)
Send("ö")
sleep(200)
Send("{SPACE}")
Sleep(1000)


;resign
send("-")
Sleep(200)
send("r")
Sleep(200)
send("e")
Sleep(200)
send("s")
Sleep(200)
send("i")
Sleep(200)
send("g")
Sleep(200)
send("n")
Sleep(200)
send("{ENTER}")
Sleep(Random(4000, 5000))
MouseClick ("Left", 507, 402, 1, 5)
Sleep(Random(4000, 5000))
EndIf

; start again
	$runs +=1
	RndSleep(4000)
Code:
Func _LootAllItems($max = 10)
	$Aktion = "Items aufheben..."
	$time2 = TimerInit()
	While _memoryread($memnpcidselect, $hprocess) > 0 Or $nr <> $max
		$max = $max + 1
		ControlSend($hwnd, "", "", "{o}")
		Sleep(Random(350, 400))
		ControlSend($hwnd, "", "", "{space}")
		If TimerDiff($time2) > 7000 Then
			ExitLoop
		EndIf
	WEnd
	Sleep(1000)
EndFunc   ;==>_LootAllItems

Hier hört er auf wenn die anzahl der aufgehobenen items = $max ist oder er o drückt und nix mehr anvisiert hat und 7 Sekunden um sind. Durch die $max_$min Funktion gibts dann auch keine Probleme mehr mit Truhen oder so.
04/07/2009 13:37 Zabrus#11
das mit dem aufheben geht nicht

Er teleportiert sich zu leiche und gibt gleich /resign ein...er lässt dann alles liegen
04/07/2009 18:37 cab_killer#12
Da gibt es eine Funktion in der tt6
CollectLoot(20)
Die 20 kannst du belibig ändern, die sagt nur aus wieviel gegenstände er aufheben soll.

Für die Runden angabe kannst du entweder am Anfang While und am ende deines bottes Wend eingeben
damit wiederholt er es andauernd.
Oder du baust dir eine Schleife rein
For $i = 1 To 20
deine funktionen
Next

Somit wiederholt er deine Funktionen 20 mal


MFG
04/08/2009 11:21 Zabrus#13
vielen dank , jetz geht es