Yoko
http://forum.yoko.com.ua/

Примитивная ходьба.
http://forum.yoko.com.ua/viewtopic.php?f=17&t=14581
Page 1 of 1

Author:  Jekaaa [ 2009-03-21 18:35:24 ]
Post subject:  Примитивная ходьба.

Доброго времени суток. Облазил весь форум ни где не нашел объяснений как можно заставить персонажа ходить... Вообщем ребят мне нужно что бы чар шел по координатам (расстояние где-то 2-3 таила) затем возвращался на прежнюю позицию и ждал 6 секунд, повторял эту комбинацию 5 раз, затем делал тоже самое но с задержкой в 10 секунд, а потом начинал читать скрипт с начала (то есть вся операция 5 раз по 6 сек, 1 раз 10 сек и опять 5 раз по 6 сек, 1 раз 10 сек и так до бесконечности) Знаю что скрипт пустяковый но сам я его написать не смогу... Или хотя бы киньте ссылочку где можно прочитать как это можно реализовать. Заранее спасибо!

Author:  Successful [ 2009-03-21 20:39:36 ]
Post subject: 

что-то тип таго )

Code:
sub go()
var x, y, x1, y1
x = 2000
y = 1000
x1 = 2003
y1 = 1003
var i
while not uo.dead()
for i=1 to 5
gotoxy( x, y, 0)
wait(100)
gotoxy( x1, y1, 0)
wait(6000)
next
gotoxy( x, y,  0)
wait(100)
gotoxy( x1, y1, 0)
wend
end sub

sub GotoXY(x,y,prec)
var myX,myY,LastX=0,LastY=0,i,halt=0,z,r=0
for i=1 to 60
   myX=uo.GetX()
   myY=uo.GetY()
   if LastX==myX and LastY==myY then
      halt=halt+1
   else
      halt=0
   end if
   if halt>=10 then
      if uo.GetDir()==1 then
         for z=0 to 8
            uo.Press(40)
         next
      end if
      if uo.GetDir()==3 then
         for z=0 to 8
            uo.Press(37)
         next
      end if
      if uo.GetDir()==5 then
         for z=0 to 8
            uo.Press(38)
         next
      end if
      if uo.GetDir()==7 then
         for z=0 to 8
            uo.Press(39)
         next
      end if
      halt=15
   end if
   if Numb(x-myX) <= prec and Numb(y-myY) <= prec then
      return 1
   end if
   if x<=myX then
      if y<=myY then
         for z=0 to 3
            uo.Press(38)
         next
      else
         for z=0 to 3
            uo.Press(37)
         next
      end if
   else
      if y<=myY then
         for z=0 to 3
            uo.Press(39)
         next
      else
         for z=0 to 3
            uo.Press(40)
         next
      end if
   end if
   LastX=myX
   LastY=myY
   wait(200)
next
return 0
end sub

sub Numb(num)
if num>=0 then
   return num
else
   return num*(-1)
end if
end sub

Author:  Destruction [ 2009-03-21 20:42:04 ]
Post subject: 

А еще есть FAQ..

viewtopic.php?t=804

Author:  Jekaaa [ 2009-03-21 20:44:47 ]
Post subject: 

ввел координаты, ходит тупо по рандомным точкам =(

Author:  Successful [ 2009-03-21 22:37:37 ]
Post subject: 

Jekaaa wrote:
ввел координаты, ходит тупо по рандомным точкам =(

Норм %))))
попробуй ходилку поменять)

Author:  Jekaaa [ 2009-03-21 22:38:43 ]
Post subject: 

Мне нужно что бы ходила строго по определенным координатам и не обходила препятствия =)

Author:  Kynep [ 2009-03-21 22:55:35 ]
Post subject: 

Jekaaa wrote:
Мне нужно что бы ходила строго по определенным координатам и не обходила препятствия =)

UO.Press() и НумПад вам в помощь. (для справки: НумПад это цифровые клавиши в правой части клавиатуры.)

Author:  Jekaaa [ 2009-03-21 23:40:04 ]
Post subject: 

А можно по точнее?

Author:  Successful [ 2009-03-21 23:57:47 ]
Post subject: 

Code:
uo.press(34)
uo.press(36)

в скобах код клавиш,сейчас это нум7 и нум 3,код клавиши можно посмотреть в скрипт эдиторе,в ячейке кей код,вписав свою кнопочку))

Author:  Jekaaa [ 2009-03-22 00:26:47 ]
Post subject: 

Спасибо написал наитупкриптейший скрипт но он работает как надо =)

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/