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

Он выдает сериал противника(и до накладывания бинта, и после), но стрелку кидает на себя.Вот так вот :o

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
Таргеты с русским текстом? :shock:
ничего не глючит, просто скрипт карявый;)

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 ) )

Вместо фразы "я так понимаю" - мог бы взять и проверить :wink:

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:Таргеты с русским текстом? :shock:
ничего не глючит, просто скрипт карявый;)


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