известая всем ходилка от Savagev'a

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Daniell
Posts: 16
Joined: 2005-03-30 09:57:23
Contact:

известая всем ходилка от Savagev'a

Post by Daniell »

играю я на дрв, написал скрипт где использую эту ходилку
но иногда она, то работает, то нет!
и незнаю в чем проблема

помогите рабобратся
иногда работает изумительно но через мин 10 перестает ходить
полсе реконекта опять работает мин 10-15 отлично а потом перестает

может в само ходилке проблема, подскажите плииз

Заранее спасибо!

#=============thx to SavageV==========
# WalkN(X,Y,Serial) - char is walking by dX and dY step
# sub using Home, End, PgUp, PgDown keys
# dnot rebind this key from default action!
# serial - Serial of target or "" - string
# walkwait - delay after keypress
# Example:
# WalkN(2080,2113,'') - go to coordinates
# WalkN(0,0,'0x12345678') - go to target position
#--------------------------------------------------------------
sub WalkN(x,y,Target)
VAR i,StepSucess
VAR dx,dy,Exit=0

While Exit<>1
If Target<>"" Then
dx=UO.GetX(Target)-UO.GetX()
dy=UO.GetY(Target)-UO.GetY()
If UO.GetDistance(Target)<2 Then
Exit=1
Endif
Else
dx=x-UO.GetX()
dy=y-UO.GetY()
If dx==0 AND dy==0 Then
Exit=1
Endif

Endif

If dx<>0 AND dy<>0 Then
If dx>0 AND dy>0 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
Endif

If dx>0 AND dy<0 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif

If dx<0 AND dy>0 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif

If dx<0 AND dy<0 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
Endif

Endif

If dx<>0 AND dy==0 Then
If dx>0 Then
StepSucess=Go(2,34,300) ;E - PgDown
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
Endif
Endif

If dx<0 Then
StepSucess=Go(6,36,300) ;W - Home
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
Endif
Endif
Endif


If dx==0 AND dy<>0 Then
If dy>0 Then
StepSucess=Go(4,35,300) ;S - End
If StepSucess==-1 Then
StepSucess=Go(3,40,300) ;SE - DownArrow
If StepSucess==-1 Then
StepSucess=Go(5,37,300) ;SW - LeftArrow
Endif
Endif
Endif

If dy<0 Then
StepSucess=Go(0,33,300) ;N - PgUp
If StepSucess==-1 Then
StepSucess=Go(7,38,300) ;WN - UpArrow
If StepSucess==-1 Then
StepSucess=Go(1,39,300) ;NE - RightArrow
Endif
Endif
Endif
Endif
Wend
end sub
sub Go(dir,key,walkwait)
VAR x,y

x=UO.GetX()
y=UO.GetY()

while UO.GetDir()<>dir
UO.Press(key)
wait(walkwait)
If UO.GetDir()<>dir Then
CheckLag()
Endif
wend

UO.Press(key)
wait(walkwait)

If x==UO.GetX() AND y==UO.GetY() Then
CheckLag()
Endif

If x==UO.GetX() AND y==UO.GetY() Then
return -1
Else
return 1
Endif
end sub
Savage
Expert!
Posts: 1205
Joined: 2004-04-04 11:13:54
Location: Балаково, Саратовская обл.
Contact:

Post by Savage »

Она работает только на ровной местности без препядствий. Предназначена для вип-шахты. Если она там у тебя неходит значит чар упирается в стену. Такое бывает если подходить к сундуку не по координатам а по сериалу. Попробуй юзать SuperWalk, может поможет...
Daniell
Posts: 16
Joined: 2005-03-30 09:57:23
Contact:

Post by Daniell »

спасиба
Post Reply