Выручайте... начал играть магом, и никак немогу выкупить растояние между арчером) все время достают гады...
Вот такая идея... я много раз встречал кучу ходилок, догонялок на форуме... Как подсчитывать количество тайлов до противника???
Может это евозможно, но если есть вариант буду рад) (было бы круто если бы при изменении количества тайлов до противника он просто кричал цыфру) 11 и 12 самый жир) как говориться)
если уже был на форуме такой скриптец то сорри лучьше дайте ссылочку)
Элементарно. Вычитаешь из координат чара координаты противника. Берешь модуль от разниц (координат X и координат Y, естественно). Сравниваешь между собой. Какой результат больше - это и есть расстояние до противника.
Last edited by Edred on 2008-02-25 12:44:29, edited 1 time in total.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
sub DistFlooder() var cur, new cur = max(abs(GetX('laststatus')-uo.getx()),abs(GetY('laststatus')-uo.gety())) UO.Say('Расстояние до ластстатуса ' + str(cur)) repeat wait(100) new = max(abs(GetX('laststatus')-uo.getx()),abs(GetY('laststatus')-uo.gety()))
if cur <> new then UO.Say('Расстояние до ластстатуса ' + str(new)) new = cur endif until UO.Dead() endsub
Sub abs(a) Var b If a<0 Then b=-a Else b=a endif return b endsub
Sub max(A,B) Var C If A>B Then C=A Else C=B EndIf Return C EndSub
Пробуй.
Last edited by Edred on 2008-02-25 16:40:32, edited 1 time in total.
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
---------------------------
Execute at 3
---------------------------
Line 3: Function not found - GETX
---------------------------
ОК
---------------------------
Таргет я бросаю в ,addobject h На чела может это поможет : )
угу... писалось прямо на форуме, а скриптов под инжект я не писал уже года так полтора...
Хочешь в h - замени 'laststatus' на 'h'. Я вписал в скрипт определение расстояния до ластстатуса. Если не хочешь чтобы скрипт флудил - замени uo.say на uo.print...
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Такс есть но он несчитает чето... пишет просто как бы сказать координату 4 цыфры...
и ели по 1 паралели двигаться то цыфра неменяется... что то тут нетак...
У тайла есть личный адресс икс и игрик... если я х1у1 а противник х2у2 то растояние между нами х1-х2 в квадрат плюс у1-у2 тоже в квадрат и с этой суммы снять корень и округлить до целого... как у пифагора( НО как зделать на инже бы( ?
у пифагора была декартова плоскость, а унас почти что гексогональная, только унас не гексы, а ромбы;) тут растояние по 8 направлениям равно 1, в декартовой нет...
по этому кратчайшее растояние это максимальная разность из координат.
BulldoZer Если не можешь осилить то, что написал Грин, советую сделать так: возьми лист из тетради в клеточку. Одну клетку заштрихуй - это ты. В другой поставь крестик - это враг. А теперь считай сколько клеток между вами. Как ни ставь крестик, как не считай - это будет либо расстояние между вами по горизонтали, либо по вертикали. Что больше - то и будет.
Хинт здесь в том, что считаем не в миллиметрах или еще чем-то, а в клетках. А как клетку ни считай, по стороне или по диагонали - это все равно одна клетка.
ЗЫ: Грин, гексогональность тут ни коим боком не завязана, я имею в виду в задаче вычисления дистанции...
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
поросто гексогональная система куда понятней должна быть по тем же Героям.
а метематика простая тут...
за один ход равно ценно можно изменить как 1 кординату так и 2.
следовательно как не крути а число ходов из А в Б
есть
dx = x1-x2
dy = y1-y2
c = Min(dx, dy) //число ходов с изменением 2х координат
d = Max(dx, dy) - c //число ходов с изменением 1й координаты
отсюда R = d+c //минимальное число ходов
R = Max(dx, dy) //растояние
Ты кому это рассказываешь? Мне? Дык у меня за "плечами" мат-мех Ленинградского (тогда еще) универа, пусть и 20 с гаком лет назад... Бульдозеру? Ну-ну. Сходи на стройку ближайшую, попробуй бульдозеру что-нибудь такое объяснить...
Ни один скрипт не работает? Пора обновить Инжект...
Все работает, но хочется большего? Пора переходить на стелс...
Хорошо на теории я понял как считаеться растояние...
Эд как поправить твой скрипт что бы при движениях по одной линии число изменялось? ну и было 2х значным а не 4х) в скриптах я несилен а в стройке нармально шарю... здмакс моя стройка
Да это Эд дурачится;)
его скрипт не выводит 4-х значные числа, выходит столько разрядов сколько надо.
Просто ты не снял статус с игрока, ну и twi скорей всего не включен.