Page 1 of 2
laststatus глючит??
Posted: 2007-11-21 12:20:44
by grundick
Простейший скриптец
Code: Select all
Sub band()
uo.waittargetobject('self')
uo.usetype(bint_clear)
wait(400)
uo.cast('Magic Arrow','laststatus')
while not uo.injournal('кладете|совсем не помогли|не могу так быстро|хотите сделать')
wait(200)
wend
wait(2000)
if uo.waiting() then
uo.canceltarget()
endif
arrm2()
end sub
Стрелку кидает то на себя, то на ластстатус...В чём проблема? Как с ней бороться? Или кидаешь на противника Clumsy и ставишь стену на тайл по координатам ластстатуса...Опять же эпизодически кидает стену на себя...Такое впечатление что в эти моенты laststatus подменяется self'ом.
Posted: 2007-11-21 13:06:20
by Scripts Writer
1. Кидай по ластстатусу а не ласттаргету
2. Лучше разъедени скрипт на 2 отдельных (1 хоткей-лечение, 2 хоткей-каст стрелки)
Posted: 2007-11-21 19:24:59
by Destruction
Scripts Writer wrote:1. Кидай по ластстатусу а не ласттаргету
В сабже автора ласттаргет не упоминается нигде.. особенно в скрипте.. Ты ничего не перепутал?..
Posted: 2007-11-21 19:54:01
by grundick
Дестр, это я ошибся.Сначала написал ласттаргет, позже поправил.Экспериментировал, думал может с ласттаргетом такого не будет...
Posted: 2007-11-22 07:31:29
by Destruction
Понятно.. А отлаживать пробовал? Там типа uo.print( uo.getserial( 'laststatus' ) ) ?
Posted: 2007-11-22 10:40:50
by omi4
В первой строчке сам себя в ласт пихаешь(вернее личилка это сделает). Перед лечением извлеки ласт и сохрани, потом верни на место.
Posted: 2007-11-22 11:45:23
by grundick
Внял обоим советам
Code: Select all
Sub band()
VAR Enemy
Enemy=uo.GetSerial('laststatus')
uo.print(uo.getserial('laststatus'))
uo.bandageself()
wait(200)
uo.print(uo.getserial('laststatus'))
uo.cast('Magic Arrow',Enemy)
while not uo.injournal('кладете|совсем не помогли|не могу так быстро|хотите сделать')
wait(200)
wend
wait(2000)
if uo.waiting() then
uo.canceltarget()
endif
arrm2()
end sub
Он выдает сериал противника(и до накладывания бинта, и после), но стрелку кидает на себя.Вот так вот

Posted: 2007-11-22 11:56:29
by grundick
Вообщем если стрелку кидает до того, как залечится (то есть будет сообщение, что вы положили грязные бинты в сумку или лечение не удалось), стрелка летит в меня.Если сообщение от сервера уже пришло, стрелка летит в ластстатус...
Posted: 2007-11-22 16:40:55
by omi4
это не ласт глючит, это таргет висит на тебе.
Таргеты с русским текстом в журнале работают через жопу(там не то что они ждут).
Posted: 2007-11-22 17:03:10
by Grin
Таргеты с русским текстом?
ничего не глючит, просто скрипт карявый;)
Posted: 2007-11-22 18:23:36
by grundick
Не знаю что здесь корявого, но вот это я испытывал при использовании отдельных макросов на лечение и кидание стрелки на противника:
grundick wrote:Вообщем если стрелку кидает до того, как залечится (то есть будет сообщение, что вы положили грязные бинты в сумку или лечение не удалось), стрелка летит в меня.Если сообщение от сервера уже пришло, стрелка летит в ластстатус...
ВОТ!
Posted: 2007-11-24 17:57:32
by grundick
Грин, в чём корявость, подскажи.
Posted: 2007-11-24 21:57:04
by Grin
ты лечишься бинтами через waittarget*стрелка кидпется через тотже механизм, сначала инжект ждет ответа от сервера на таргет, перехватывает и шлет ответ... Инжект ксожелениию неможет ставить разные ловушки (хотя в некоторых ловушках можно указать несколько объектов, типов), тоесть попросту говоря ловушка переписалась...
как минимум нало перемостреть твои скрипты на лечени и тд...
ну и как максимум познакомится с uo.target...
Posted: 2007-11-25 02:01:55
by grundick
весь форум перерыл, не найду ни одного примера использования uo.target()

Posted: 2007-11-25 07:30:43
by Cornor
Можн просто через lastattack стрелку кидать ...
ЗЫ Хая Грин )
Posted: 2007-11-25 14:52:52
by Grin
grundick не слушай Cornor он не в теме;)
PS Хая Cornor
Posted: 2007-11-25 16:06:35
by grundick
вообщем пробовал так
Code: Select all
uo.UseType(bint_clear)
uo.target('0x0000002D',Ya)
wait(400)
uo.Cast('Magic Arrow')
uo.target('0x00000029',Enemy)
ситуация не изменилась...Я так понимаю чтобы послать прицел, сначала надо его дождаться от клиента? А как узнать что в клиенте появился прицел?И как это прицел сбивать из инжекта?
Posted: 2007-11-25 16:29:58
by Destruction
grundick wrote:вообщем пробовал так
Code: Select all
uo.UseType(bint_clear)
uo.target('0x0000002D',Ya)
wait(400)
uo.Cast('Magic Arrow')
uo.target('0x00000029',Enemy)
ситуация не изменилась...Я так понимаю чтобы послать прицел, сначала надо его дождаться от клиента? А как узнать что в клиенте появился прицел?И как это прицел сбивать из инжекта?
Обсуждалось всё..
uo.targeting()
uo.say( chr( 27 ) )
Вместо фразы "я так понимаю" - мог бы взять и проверить

Posted: 2007-11-25 20:09:02
by grundick
Попробую выпытывать истину по чуть чуть

Вообщем вот такой простейший скрипт н а лечение
Code: Select all
Sub BandT()
var ya=uo.GetSerial('self')
uo.UseType(bint_clear)
while not uo.targeting()
wait(100)
wend
uo.target('0x0000002D',Ya)
end sub
Раз- через раз выдаёт ошибку :warning:error in command .Когда вылетает ошибка, соответственно не лечится.
Posted: 2007-11-25 21:34:44
by omi4
Grin wrote:Таргеты с русским текстом?

ничего не глючит, просто скрипт карявый;)
Самим таргетам язык до лампочки, а вот при кастах таргеты инжа гасит читая журнал. Обойти это можно используя uo.canceltarget()