Page 1 of 1
Ув. Destruction, что не так в вашем скрипте?
Posted: 2007-12-15 02:11:20
by GrandMaster Ranger
А конкретнее с этим
Code: Select all
; Получение направление хождения
; v1.1 (c) 2006, Destruction.
; x = координата X точки - uo.getX();
; y = координата Y точки - uo.getY();
; type = 0 - получение кода клавиши, чтобы пойти.
; type = 1 - получение направления в котором идти (см. uo.getDir).
; walk = 0 - направление, чтобы подойти
; walk = 1 - обратно направление (чтобы отойти в противоположную сторону)

я его даже не сливаю с другими скриптами, я элементарно пытаюсь проверить его на работоспособность
Code: Select all
sub main()
getWalkDir(2574, 467, 1, 0)
end sub
вот таким образом. Ставил все варианты комбинаций флагов тайп и волк. Он не рыпается в сторону заданных координат в любом случае. Не пойму, что я делаю не так?
Posted: 2007-12-15 02:30:16
by GrandMaster Ranger
Стало еще интереснее. Увидел фишку с относительными координатами. Заменил на относительные, по формуле написаной в начале скрипта. Все равно не рыпается.
Posted: 2007-12-15 11:14:44
by Destruction
Ф-ция не нажимает клавиши, функция возвращает циферки..
Предназначется для тех, кто пишет ходилки. Простейшее хождение без обхода препятствий с использованием этой функции - пара строчек
Например:
Code: Select all
Sub walker( x, y )
var cx, cy, p, c
while not uo.getX() == x || uo.getY() == y
cx = uo.getX()
cy = uo.getY()
p = 1
if not uo.getDir() == getWalkDir( x - cx, y - cy, 1, 0 ) then
p = 2
endif
uo.press( getWalkDir( x - cx, y - cy, 0, 0 ), p )
c = 100
repeat
c = c - 1
wait( 100 )
until not cx == uo.getX() && not cy == uo.getY() && c == 0
if cx == uo.getX() && cy == uo.getY() then
uo.print( "Blocked." )
return false
endif
wend
endsub
Не тестировал, но теоретически - должно ходить
А если в последнем аргументе использовать единичку - можно написать неплохую убегалку

Posted: 2007-12-15 13:53:05
by GrandMaster Ranger
Code: Select all
uo.press( getWalkDir( x - cx, y - cy, 0, 0 ), p )
аха, вот значит как!
Дело в том, что как я и писал в этом топике
http://forum.yoko.com.ua/viewtopic.php?t=12903
, мой мининг не должен ходить, он просто должен крутиться вокруг своей оси и выкапывать точки которые к нему лицом (я уже и скрипт такой нарыл, но он не крутится, вот буду пытаться вписать).
Значит поидеи с помощью
Code: Select all
; type = 1 - получение направления в котором идти (см. uo.getDir).
это можно реализовать, правда?

Posted: 2007-12-15 14:26:12
by GrandMaster Ranger
Реализовал, всё прекрасно работает

Спасибо за функцию!
Posted: 2007-12-15 17:29:45
by Destruction
Воё!
Пожалуйста!