Page 1 of 1

Каст со скролла. Доработка.

Posted: 2006-09-08 06:06:57
by 1a2a3a4a5a6a
Вот есть обычный скрипт на парализ со скролла.

Code: Select all

sub kastsoskrolla()
   UO.FindType(typeofskroll,-1,'backpack')
   If UO.GetQuantity('finditem')>0 then
      if UO.Mana>=mana/2 then
         UO.WaitTargetObject('laststatus')
         UO.UseObject('finditem')
         UO.Print('Скролл')
      endif
   else
      if UO.Mana>=mana then
         UO.Cast(kastname,'laststatus')
         UO.Print('Спелл')
      endif
   endif
end sub

Вроде бы все нормально. Если этот скрипт приспособить для каста Диспела в себя, то попытка каста со свитка Диспела будет неудачной, когда ты в парализе. Как можно это обойти?

Posted: 2006-09-08 15:59:59
by Nmy
hotkeys:

Code: Select all

cast 'Dispel' self

Posted: 2006-09-08 16:34:07
by 1a2a3a4a5a6a
NMY
Не логично биндить две кнопки для разных ситуаций на одно и тоже действие.

Posted: 2006-09-09 16:25:56
by Nmy

Code: Select all

if uo.injournal('You cannot move') then
uo.waittargetself()
uo.cast('Dispel')
uo.deletejournal()
else
...
endif


идёт?

Posted: 2006-09-09 19:52:28
by 1a2a3a4a5a6a
Идет, только журнал не есть хорошо в ПвП.

Posted: 2006-09-09 20:11:57
by DerMeister =)
А что по твоему хорошо? Опиши хотябы еще 1 способ, как определить что ты в параллизе...
ЗЫ: Есть что то вроде uo.ismoving()... Но 100% определить парализ можно только по журналу (помоему).

Posted: 2006-09-09 21:38:47
by 1a2a3a4a5a6a
DerMeister =) wrote:А что по твоему хорошо? Опиши хотябы еще 1 способ, как определить что ты в параллизе...
ЗЫ: Есть что то вроде uo.ismoving()... Но 100% определить парализ можно только по журналу (помоему).

В том то и дело, что кроме журнала я пока ничего не придумал... Но ведь есть uo.hidden(), вот я и подумал, что может есть подобие...
Надо попробовать uo.ismoving().

Posted: 2006-09-09 22:00:36
by DerMeister =)
Вообще, мне почему-то казалось, что есть команда uo.frozen() или что то вроде того...
И еще, тут както это обсуждалось и, вроде бы, эту команду "сделать" не сложно...

Posted: 2006-09-09 23:24:48
by Mihail
не проверку на is frozen() is paralyzed() и тп. нету
можно сделать скрипт типа

Code: Select all

sub paralyzed()
uo.deletejournal()
uo.press(36)
checklag()
if uo.injournal('can not|не можете') then
return 1
else
return 0
end if
end sub
ну и соотвественно в скрипте вставишь if paralyzed()==1 then

Posted: 2006-09-09 23:44:32
by 1a2a3a4a5a6a
Mihail wrote:не проверку на is frozen() is paralyzed() и тп. нету

Жаль, значит только журнал... :cry:

Posted: 2006-09-10 00:38:46
by Nmy
журнал неплох если правильно все делать, например сровнять мсг полученную от сервера с иго сериальником чтоб игроки немогли сбить тебя... :roll:

Posted: 2006-09-10 09:04:50
by Scripts Writer
NMY wrote:журнал неплох если правильно все делать, например сровнять мсг полученную от сервера с иго сериальником чтоб игроки немогли сбить тебя... :roll:


Только как бы путаницы не было с DeleteJournal() и проверкой на журнал.

Т.к. если ты сначала удалишь журнал-потом проверишь его на месагу , а потом двинешься =) то эффект = 0.
Тут тож надо привыкнуть к действию самого скрипта, если по журналу брать.