Page 2 of 2

Posted: 2007-06-09 11:58:04
by to4a
ну если бы я не сеял в ряды панику ты бы и не узнал как получить кординаты на экране.

так кстати что кроме меня анхендледы от этой команды ни у кого не бывают?

зы: если кому интересно сделал для стягивания статуса с ластстатуса, правда контроль за наличием цели на экране остаётся на человеке:

Code: Select all

sub grabStatus()
var mx,my,tx,ty,dx,dy
mx=uo.GetX("self")
my=uo.GetY("self")
tx=uo.GetX("lastattack")
ty=uo.GetY("lastattack")
if abs(mx-tx)<14 and abs(my-ty)<14 then
   dx=(mx-tx)*22-(my-ty)*22
   dy=(mx-tx)*22+(my-ty)*22
   uo.print(str(585-dx)+" "+str(455-dy))
   UO.Drag(585-dx,420-dy);
else
   uo.print("цель вне экрана")
endif
endsub

Posted: 2007-06-10 17:11:51
by targitai25
to4a wrote:зы: если кому интересно сделал для стягивания статуса с ластстатуса, правда контроль за наличием цели на экране остаётся на человеке:
Я так понял контроль за наличием цели должна быть abs()?И можеш скоординировать меня,как этот контроль сделать?

Posted: 2007-06-10 17:48:20
by to4a
abs это модуль вообщето, просто суть в том что по диагонали видно 14 тайлов, а вверх и по бокам - 8, поскольку мне это не надо я не ломал себе голову особо этой проверкой, там стоит проверка на 14 тайлов, если это юзать в бою то и так видно есть ли цель на экране, особой не обходимости в этой проверке нет

Code: Select all

sub abs(num)
if num<0 then
   return -num
else
   return num
endif
endsub