Page 1 of 1

Простенький скрипт на ходдилку

Posted: 2009-12-11 21:52:35
by bitnerik
Ребята очень нуждаюсь в вашей помощи. Мне требуется простенькая ходилка с аварийным обходом препядствия в одну клетку. Искал подобные темы по обучений написать такой скрипт,и нечево хорошево ненашол,пробовал разбирать различных видов ходилки но тоже особых результатов это недало. Буду очень благодарен если вы мне поможете в написании такова скрипта.Выложу скрины и кординаты точек.

Image

Чар подходит к точки А,открывает двери и идет дальше по точкам
Тайлы1 :
A - 1848 5877 2870 0
B - 400 5875 2870 5
C - 400 5868 2870 5
D - 400 5868 2867 5

Дальше поднимается на второй этаж....

Image

Тайлы2 :
E - 400 5863 2867 27
F - 400 5863 2870 27
G - 400 5869 2870 27
H - 1323 5869 2867 27

И на третий...
Image

Тайлы3 :
J - 400 5875 2867 47
K - 400 5875 2871 47
L - 1317 5866 2871 47
M - 400 5866 2877 47

После чево останавливается там куёт( ну это я уже сам допишу ) и возвращается обратно к точки А. Вобщем вот так вот.Надеюсь на вашу помощь.Ещё если можно будет хоть коротко пояснить какая строчка к чему относится.
Примного блогодарен.

Posted: 2009-12-12 03:22:28
by Nmy
Вот скрипт

Вот главный скрипт:

Code: Select all

sub main()
   WalkN(123,123,"")
   WalkN(124,124,"")
   WalkN(125,125,"")
endsub

Posted: 2009-12-12 07:37:59
by Mirage
Если на инжекте то мне больше Walker(X,Y,Prec) нравится (ут на форуме его много раз постили в ламберах)
А так лучше всего изиуо использовать.

Posted: 2009-12-13 09:01:58
by bitnerik
Nmy wrote:Вот скрипт

Вот главный скрипт:

Code: Select all

sub main()
   WalkN(123,123,"")
   WalkN(124,124,"")
   WalkN(125,125,"")
endsub


Опа,а поподробней можно,это откуда ты это узнал? Распиши какнибудь,потомучто я ево больше 5 раз посматрел и нечо ненашол. А потом глянул на твой пост,сложил всё это дело и ОПААА :o :D Чудо,он пошол.Собственно говоря почему немогу разобрать,так это потому что о скриптописании в инжекте знаком тока по тем урокам которые выложены тут.Если помучатся,могу написать то что хочу,но тока без ходилки,тобиш для меня передвежение хоть на пару клеток является большой проблеммой. Так как даже незнаю с чево начать двигатся к большему. :roll:

Posted: 2009-12-13 09:03:18
by bitnerik
И кстате что там обозначает таргет? WalkN(x,y,Target)

Posted: 2009-12-13 14:10:15
by Grin
Понравилось оформление вопроса:)

для простых хождений достаточно будет и

Code: Select all

sub Abs(num)
   if num < 0 then
      return -num
   end if
   return num
end sub

sub Sig(num)
if num < 0 then
   return -1
else
   if num == 0 then
      return 0
   endif
endif
return 1
end sub
      
sub MoveToXY(x, y, prec)
   var dx, dy
   dim Key[9]
      Key[0]=37
      Key[1]=35
      Key[2]=40
      Key[3]=36
      Key[4]=12
      Key[5]=34
      Key[6]=38
      Key[7]=33
      Key[8]=39
      dx=x-uo.GetX()
      dy=-y+uo.GetY()
   while (Abs(dx) > prec) or (Abs(dy) > prec)
      dx=x-uo.GetX()
      dy=-y+uo.GetY()
      uo.Press(Key[(Sig(dy)+1)*3+1+Sig(dx)])
      wait(10)
   wend
end sub