Yoko
http://forum.yoko.com.ua/

Пара скриптов на доработку.
http://forum.yoko.com.ua/viewtopic.php?f=17&t=16753
Page 1 of 1

Author:  ooverturn [ 2011-09-06 17:33:30 ]
Post subject:  Пара скриптов на доработку.

Первый - на Парализ в противника:

sub Paralyze()
UO.Set('lasttarget','laststatus')
UO.FindType('0x1F52',-1,'my')
If UO.GetQuantity('finditem')>0 then
if UO.Mana>=22 then
UO.WaitTargetObject('lasttarget')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Print("Low mana!!! Scroll!")
endif
else
if UO.Mana>=45 then
UO.Cast('Paralyze','laststatus')
UO.Print("Spell")
else
UO.Print("Low mana!!! Spell!")
endif
endif
end sub

Ищет скролл - кастует, если скролла нету - кастует магией. Хотелось бы, чтобы в первую очередь он искал wand, кастовал с него и снова брал в руки прежнее оружие, потом уже искал скролл..

есть скриптик на резание трупа с даггером, который берет даггер, режет и снова берет прежнее оружие, может поможет для написания первого:

sub Rezz() ## 6
UO.UseObject('lastcorpse')
if UO.GetQuantity('lastcorpse') then
UO.SetArm('temp')
UO.WaitTargetObject('lastcorpse')
UO.UseType('0x0F51') ;dagger
wait(800)
UO.Arm('temp')
end sub


Второй - каст в себя на примере парализа в противника, так же - ванд -> скролл -> каст
Кидаю скрипт на каст зеркала (скролл + каст):

sub Reflection()
UO.FindType('0x1F50',-1,'backpack')
If UO.GetQuantity('finditem')>0 then
UO.WaitTargetObject('self')
UO.UseObject('finditem')
UO.Print("Scroll")
else
UO.Cast('Magic Reflect','self')
UO.Print("Spell")
endif
end sub

Третий - Антифриз, кастует в банку стрелку (скрипт ниже), хотелось бы добавить, чтобы если нету банок - кастовал Dispel в себя

ub Antifreeze() ## Антифризки
uo.findtype("0x0F03", "-1", "my")
wait(100)
If UO.FindCount() > 0 Then
uo.waittargetobject("finditem")
uo.cast("Magic Arrow")
else
UO.Print('Нету банок антифриза')
endif
end sub

Author:  Mirage [ 2011-09-06 18:50:11 ]
Post subject:  Re: Пара скриптов на доработку.

3)
Code:
sub Antifreeze() ## Антифризки
   uo.findtype("0x0F03", "-1", "my")
   If UO.FindCount() > 0 Then
      uo.cast('Magic Arrow','finditem')
   else
      UO.Print('Нету банок антифриза')
      uo.cast('номер спелла в книге или название','self')
   endif
end sub

2)
Code:
sub Reflection()
   if uo.count('тип палочки') then
      UO.WaitTargetObject('self')
      UO.UseType('ТИП палочки')
   else
      If UO.Count('0x1F50') Then
         UO.WaitTargetObject('self')
         UO.UseType('0x1F50')
      else
         UO.Cast('Magic Reflect','self')
      endif
   endif
end sub

1)
Code:
sub Paralyze()
   UO.Set('lasttarget','laststatus')
   UO.SetArm('temp')
   if UO.Mana>=25 then
      if uo.count('тип палочки') then
         UO.WaitTargetObject('lasttarget')
         UO.UseType('ТИП палочки')
         UO.Arm('temp')
      else
         If UO.Count('0x1F52') Then
            UO.WaitTargetObject('lasttarget')
            UO.UseType('0x1F52')
         else
            UO.Print("НЕТ СВИТКОВ!!!")
         endif
      endif
   else
      if UO.Mana>=45 then
         UO.Cast('Paralyze','laststatus')
      endif
   endif
end sub

как то так, если ничего с дремы не напутал :roll:

Author:  ooverturn [ 2011-09-06 19:40:46 ]
Post subject:  Re: Пара скриптов на доработку.

Антифриз работает отлично, спасибо.
Рефлект тоже - но упущен момент возврата оружия в руки - я так понимаю, UO.SetArm('temp')
этой строки. попробую сам впихнуть её)

Code:
sub Ref()
   if uo.count('0x0DF5') then
      UO.SetArm('temp')
      UO.WaitTargetObject('self')
      UO.UseType('0x0DF5')
   wait(3000)
UO.Arm('temp')
else
      If UO.Count('0x1F50') Then
         UO.WaitTargetObject('self')
         UO.UseType('0x1F50')
      else
         UO.Cast('Magic Reflect','self')
      endif
   endif
end sub


так получилось)

Author:  ooverturn [ 2011-09-06 19:52:17 ]
Post subject:  Re: Пара скриптов на доработку.

Палки парализа пока нету, не проверить)) спасибо за помощь) одно но - тип палок одинаковый, а касты разные - там никак уникальную привязку не сделать ?

Author:  Mirage [ 2011-09-06 23:41:51 ]
Post subject:  Re: Пара скриптов на доработку.

ooverturn wrote:
Палки парализа пока нету, не проверить)) спасибо за помощь) одно но - тип палок одинаковый, а касты разные - там никак уникальную привязку не сделать ?

Хм. Затык будет не в использовании. Там все просто. Проблема будет в поиске.
Можно пойти длинным путем - цикличный поиск типа, игнорирование несовпадающего ID с заданным, выход из цикла при совпадении ID... Но имхо игра не стоит свеч. Палка либо есть в паке либо ее нет.

Author:  ooverturn [ 2011-09-07 06:54:33 ]
Post subject:  Re: Пара скриптов на доработку.

Mirage wrote:
ooverturn wrote:
Палки парализа пока нету, не проверить)) спасибо за помощь) одно но - тип палок одинаковый, а касты разные - там никак уникальную привязку не сделать ?

Хм. Затык будет не в использовании. Там все просто. Проблема будет в поиске.
Можно пойти длинным путем - цикличный поиск типа, игнорирование несовпадающего ID с заданным, выход из цикла при совпадении ID... Но имхо игра не стоит свеч. Палка либо есть в паке либо ее нет.



Просто я боюсь, что Парализ и Зеркало - один тип палки будет))) хотя как я понял, зеркало смысла нету кастовать, время одинаковое. А вот парализ засчет того, что нету слов каста - оч полезно будет))

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/