Проблема с таргетом.
Moderators: Murderator+, Murderator
Проблема с таргетом.
Привет всем.Очень нужна помощь!!
Проблема значит такая - я играю на сервере где сначала идет каст а потом уже таргет . Пример скрипта на парализ в ласт таргет
sub pa()
uo.cast('Paralyze')
uo.waittargetlast()
end sub
проблема заключается в том что если я начинаю кастовать допустим парализ и враг убегает то каст сбивается внизу экрана пишется что ласт таргет не найдет и приходится кастовать еще раз.
Вопрос можно ли как нибудь вставить проверку на врага в поле зрения или что нибудь в этом духе?
что бы шел каст парализ и кидался только в том случает если цель видно а если не видн просто ждал пока появится и кидался в нее .
Проблема значит такая - я играю на сервере где сначала идет каст а потом уже таргет . Пример скрипта на парализ в ласт таргет
sub pa()
uo.cast('Paralyze')
uo.waittargetlast()
end sub
проблема заключается в том что если я начинаю кастовать допустим парализ и враг убегает то каст сбивается внизу экрана пишется что ласт таргет не найдет и приходится кастовать еще раз.
Вопрос можно ли как нибудь вставить проверку на врага в поле зрения или что нибудь в этом духе?
что бы шел каст парализ и кидался только в том случает если цель видно а если не видн просто ждал пока появится и кидался в нее .
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
А причём здеь порядок прицел-каст? так у всех. А uo.waittargetlast() вообщн можно куда угодно запихнуть... есть команда uo.canceltarget(). Вобщем можно попробовать что-то типа этого:
PS: Не тестил, поэтому могут быть ошибки.
Code: Select all
sub pa()
uo.waittargetlast()
uo.cast('Paralyze')
wait(тут четь меньше чем время каста заклинания<где то на 400 мс>)
if uo.getdistace('lasttarget')>10 then
uo.canceltarget()
while uo.getdistace('lasttarget')>10
wait(250)
wend
uo.lclick('lasttarget')
end if
end sub
PS: Не тестил, поэтому могут быть ошибки.
DerMeister сейчас на нейрале!
DerMeister =) wrote:А причём здеь порядок прицел-каст? так у всех. А uo.waittargetlast() вообщн можно куда угодно запихнуть... есть команда uo.canceltarget(). Вобщем можно попробовать что-то типа этого:Code: Select all
sub pa()
uo.waittargetlast()
uo.cast('Paralyze')
wait(тут четь меньше чем время каста заклинания<где то на 400 мс>)
if uo.getdistace('lasttarget')>10 then
uo.canceltarget()
while uo.getdistace('lasttarget')>10
wait(250)
wend
uo.lclick('lasttarget')
end if
end sub
PS: Не тестил, поэтому могут быть ошибки.
ммм, ему не то нужно, ему нужен некий инжектовский аналог сферной canseelos
-
- Posts: 2259
- Joined: 2005-04-19 18:00:29
- Location: Московская область
- Contact:
Допиши :
а вообще врага догонять нао, чтобы не убегал
Code: Select all
поиск врага
если найден тогда
враг=в переменную
если дистанция меньше 5(хз скока те надо) то
каст
прицел на переменную
а вообще врага догонять нао, чтобы не убегал
You Must Die wrote:Допиши :Code: Select all
поиск врага
если найден тогда
враг=в переменную
если дистанция меньше 5(хз скока те надо) то
каст
прицел на переменную
а вообще врага догонять нао, чтобы не убегал
да блин, смари, между ними только стена и всё, но дистанция меньше 5, он будет физлить

Фишка в том, что на мандайн легаси сначало идёт каст спелла, ты стоишь в парализе, потом появляется таргет и ты можешь бегать и кастануть вовремя!
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
-
- Expert!
- Posts: 1032
- Joined: 2006-02-25 21:48:38
BigMouseI wrote:You Must Die wrote:Допиши :Code: Select all
поиск врага
если найден тогда
враг=в переменную
если дистанция меньше 5(хз скока те надо) то
каст
прицел на переменную
а вообще врага догонять нао, чтобы не убегал
да блин, смари, между ними только стена и всё, но дистанция меньше 5, он будет физлить![]()
Фишка в том, что на мандайн легаси сначало идёт каст спелла, ты стоишь в парализе, потом появляется таргет и ты можешь бегать и кастануть вовремя!
Тада почему он так сразу не написал? Он бы еще играл на Самурай Импаер (там вообще ппц всё подругому) и присил что-то типа как этот...
DerMeister сейчас на нейрале!
На прекастах придется юзать это....
target послать прицел
Описание: target •
Синтакс: ,target target_key lasttile/object/ground [ttype type X Y Z]
none uo.target(target_key,lasttile/object/ground,[ttype,type,X,Y,Z])
--------------------------------------------------------------------------------
Реккомендуется не использовать эту команду тем кто не в курсе, что он делает.
Создаёт и посылает на сервер пакет прицела согласно заданым параметрам. Не отменяет прицела в клиенте. Если вы отменили
вручную прицел в клиенте после команды target то создали десинхронизацию, на которую возможна реакция в спектре от сообщения
о ошибке и отметки в логе на сервере до бана аккаунта.
Первый параметр это уникальный нормер прицела. Для магии он один, скилов другой, предметов третий, четвёртый и так далее. Узнать
его можно с помощью особого указателя lasttargetkey, см. object. Он показывает какой номер был у последнего прицела,
использованого клиентом.
Второй парамер указывает где взять основной параметр пакета прицела - серийный номер обьекта object на который нужно навести прицел.
lasttile указывает взять последний использованый в клиенте; object указывает взять серийный номер указаного обьекта, ground указывает
что прицелом есть статический обьект (земля, деревья, вода и т.п.).
Третий параметр, ttype (0 или 1) указывает должен ли сервер считать это прицелом на статик (укажите 1 если вы писали в предыдущем
параметре ground иначе 0)
Следующий параметр, если он указан, является типом вещи если прицел обьектный, или тайлом если прицел статический.
Далее идут, если указаны, координаты вещи в сумке (обычно не требуется, берётся из данных о обьекте) если прицел обьектный, и
координаты тайла в мире если прицел статический
По возможности следует не использовать команду target, заменяя её на команду waittargetobject для обьектов и waittargettile для статики.
Данные для команды target можно получить правильно применяя команды info и infotile.