Problem beim Laufen

04/06/2010 16:21 menchecktor#1
hey^^

ich wollte heute früh ausprobieren,meinen char einen längeren weg über die map laufen zu lassen.
das sah bei mir dann so aus:
Code:
#include "GWCAConstants.au3"

HotKeySet ("{t}", "Move")

Func Move()
	Cmd($CA_Move, _FloatToInt(-3116), _FloatToInt(2972))
	Cmd($CA_Move, _FloatToInt(-3035), _FloatToInt(-382))
	Cmd($CA_Move, _FloatToInt(-1911), _FloatToInt(-1449))
	Cmd($CA_Move, _FloatToInt(-712), _FloatToInt(-3608))
	Cmd($CA_Move, _FloatToInt(-1860), _FloatToInt(-4777))
EndFunc

While 1
	Sleep (100)
WEnd
Aber damit läuft mein char direkt zum letzten punkt:confused::confused::confused:

hoffe ihr könnt mir helfen^^
04/06/2010 16:55 kknb#2
ja logisch du wartest ja nicht bis du den ersten punkt erreicht hast.
guck dir die move funktion in der gwcaconstants.au3 an
04/06/2010 17:07 menchecktor#3
Quote:
Originally Posted by kknb View Post
ja logisch du wartest ja nicht bis du den ersten punkt erreicht hast.
guck dir die move funktion in der gwcaconstants.au3 an
giebts ne möglichkeit das skript warten zu lassen bis er da ist,oder muss man da jezt bei jedem laufen mitstoppen und dann Sleep´s setzen?
04/06/2010 17:11 kknb#4
guck doch einfach mal in die gwcaconstants, dort ist bereits eine FERTIGE funktion.

naturlich kannst du auch das script warten lassen

do sleep until position=wo du sein willst
04/06/2010 17:11 ddl#5
Quote:
Originally Posted by kknb View Post
guck dir die move funktion in der gwcaconstants.au3 an
Schau dir die MoveToEx Func an.
04/06/2010 17:17 menchecktor#6
Quote:
Originally Posted by DDL View Post
Schau dir die MoveToEx Func an.
da steht:
Code:
Func MoveEx($x, $y, $random = 50)
	Cmd($CA_MOVE, _FloatToInt($x+Random(-$random,$random)), _FloatToInt($y+Random(-$random,$random)))
EndFunc
und woher weiß ich daraus jezt wie ich das skript warten lassen soll?(sry bin ziemlich neu was autoIT angeht^^)
04/06/2010 17:21 ddl#7
Quote:
Originally Posted by DDL View Post
Schau dir die MoveToEx Func an.
MoveToEx nicht MoveEx.
04/06/2010 17:28 menchecktor#8
Quote:
Originally Posted by DDL View Post
MoveToEx nicht MoveEx.
sry zu schnell gelesen...

also bei MoveToEx steht:
Code:
Func MoveToEx($x, $y, $random = 50)
	Local $iBlocked = 0

	$cbType = "int"
	$mState = CmdCB($CA_GetMapLoading)

	$cbType = "float"
	MoveEx($x, $y, $random)

	CmdCB($CA_GETCOORDS, -2)
	Do
		Sleep(250)
		$oldCoords = $cbVar
		$cbType = "int"
		CmdCB($CA_GETDEAD)
		If $cbVar[0] = 1 Then Return

		$mStateOld = $mState
		$mState = CmdCB($CA_GetMapLoading)
		If $mState[0] <> $mStateOld[0] Then Return

		$cbType = "float"
		CmdCB($CA_GETCOORDS, -2)
		If $oldCoords[0] = $cbVar[0] AND $oldCoords[1] = $cbVar[1] Then
			$iBlocked += 1
			MoveEx($x, $y, $random)
		EndIf
	Until ComputeDistanceEx($cbVar[0], $cbVar[1], $x, $y) < 250 OR $iBlocked > 20
EndFunc
ist es das??: ComputeDistanceEx($cbVar[0], $cbVar[1], $x, $y)
und wenn ja,einfach bei $x/$y seine koordinaten rein?
04/06/2010 17:34 kknb#9
ja die funktion einfach so aufrufen
MoveToEx(34534, 324523)

jetzt wartet der bis der an der position angelangt ist.
04/06/2010 17:45 menchecktor#10
Quote:
Originally Posted by kknb View Post
ja die funktion einfach so aufrufen
MoveToEx(34534, 324523)

jetzt wartet der bis der an der position angelangt ist.
hat geklappt=) --->thx für alle


hab noch ne kurze farge:
wie mach ich,dass das skript über einen bestimmten zeitraum(also wenn der bot grade im gebiet ist) alle 22sec skill 1 castet?
04/06/2010 17:50 Neon™#11
Entweder mit Schleifen oder mit Timern...
04/06/2010 17:54 menchecktor#12
Quote:
Originally Posted by Neon™ View Post
Entweder mit Schleifen oder mit Timern...
ja,aber wenn ich das mit ner while-schleife mach läuft der rest vom bot ja nichtmehr weiter...

wie sieht ein "Timer" aus?^^
04/06/2010 18:20 kknb#13
du kannst dir eine funktion machen die überprüft ob der skill bereit zum casten ist, wenn ja dann halt skill casten.

diese funktion kannst du dann per adlibregister aufrufen.
hier
[Only registered and activated users can see links. Click Here To Register...]
und in der autoit hilfe (scite->f1)
steht alles was du dazu brauchst.
04/06/2010 19:32 Neon™#14
TimerSetTimer