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

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