Пара скриптов на доработку.

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
ooverturn
Posts: 4
Joined: 2011-08-27 17:55:16

Пара скриптов на доработку.

Post by ooverturn »

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

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
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Пара скриптов на доработку.

Post by Mirage »

3)

Code: Select all

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: Select all

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: Select all

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:
ooverturn
Posts: 4
Joined: 2011-08-27 17:55:16

Re: Пара скриптов на доработку.

Post by ooverturn »

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

Code: Select all

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


так получилось)
ooverturn
Posts: 4
Joined: 2011-08-27 17:55:16

Re: Пара скриптов на доработку.

Post by ooverturn »

Палки парализа пока нету, не проверить)) спасибо за помощь) одно но - тип палок одинаковый, а касты разные - там никак уникальную привязку не сделать ?
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Пара скриптов на доработку.

Post by Mirage »

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

Хм. Затык будет не в использовании. Там все просто. Проблема будет в поиске.
Можно пойти длинным путем - цикличный поиск типа, игнорирование несовпадающего ID с заданным, выход из цикла при совпадении ID... Но имхо игра не стоит свеч. Палка либо есть в паке либо ее нет.
ooverturn
Posts: 4
Joined: 2011-08-27 17:55:16

Re: Пара скриптов на доработку.

Post by ooverturn »

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

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



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