начну с начала... играю в данное время на шарде Destiny of Middle-Earth
а ноги у моей проблемки растут оттуда, что для того чтобы использовать одну из абилок класса вор необходимо находиться строго за спиной у оппонента и смотреть с ним в одном направлении...
идея была такая - позиция создаётся ручками - т.е. активный скрипт, который проводит проверку положения и направления собственно своего чара и жертвы... и в момент Х срабатывает абилка... но остановило меня следующее:
Описание: GetDistance •
Синтакс: number uo.GetDistance([object])
Тема: Команды скриптов Ключевые слова: uoscript, objhandling
--------------------------------------------------------------------------------
Возвращает параметр обьекта object (по умолчанию - персонажа игрока) - расстояние до обьекта, которое вычисляется как минимальное из расстояний по осям X и Y.
т.е. если чар находится на расстоянии 1 клетки от жертвы по одной оси и смотрит с ней в одном направлении скрипт срабатывает полюбому... независимо от расстояния по другой....
подскажите - как это сделать иначе?
есть у меня ышо версия с проверкой координат и направления взгляда...
но это 8 на (4(координаты чара и жертвы)+2(куда смотрит чар и жертва)) 48 проверок в секунду.... думаю будет лагать нереально....
ах да.... собственно примерно так выглядит то, что я наваял
Code: Select all
sub navodka()
var dist, dir, myDir, i
uo.addobject('my', '0x01380a8a')
dist=uo.getdistance('zertva')
dir=uo.getdir('zertva')
mydir=uo.getDir('my')
uo.getx('my')
uo.gety('my')
while str(dist)<>1 AND str(dir)<>str(mydir)
dist=uo.GetDistance('zertva')
dir=uo.getdir('zertva')
mydir=uo.getDir('my')
wait(1)
wend
uo.waittargetobject('zertva')
uo.msg('.ab 1')
end sub
заранее спасибо...