Page 1 of 1

проблема хилинг напарника и ласттаргет, ресурект

Posted: 2005-02-15 12:17:17
by PoinT
проблема в том чт опосле хила напарник он становится ласт таргетом и спелы идут на него. помогите решить пробелму. вот примеры моих макросов

Code: Select all

sub GHFriend1() # хилинг напарника
var Max="0x0000E4FF" 
        uo.waittargetobject(Max)
        UO.Exec("usetype bandage")
        wait(300)
	if  UO.Count("s_gh") > 0  then
			uo.waittargetobject(Max)
			UO.Exec("usetype s_gh")
			VAR cnt=UO.Count("s_gh") - 1
			UO.PRINT(""+STR(cnt)+" Greater Heal")
	else
			uo.waittargetobject(Max)
			UO.Exec("cast 'Greater Heal'")
			UO.Print("No Greater Heal Scrolls")
	end if
	UO.print("Max Greater Heal") 
end sub


sub FSLast() #атака врага
click()
	if UO.Count("s_fs") > 0 then
			UO.waittargetlast()
			UO.Exec("usetype s_fs")
			VAR cnt=UO.Count("s_fs") - 1
			UO.Print(""+STR(cnt)+" Flame Strike")
	else
			UO.waittargetlast()
			UO.Exec("cast 'Flame Strike'")
			UO.Print("No Flame Strike Scrolls")
	end if
end sub

и вот еще проблема ресуректа =(

sub Res()
var ghost_type="0x0192"  #гост мужик
var ghostW_type="0x0193" #гост баба
var Player="0x00000009" # типа айдишники игроков var Player2="0x00000008"
var healdelay="1000"
 if uo.GetGraphic(Player)==ghostW_type and uo.GetDistance(Player)<=1 then
        uo.waittargetobject(Player)
        UO.Exec("usetype bandage")
        wait(healdelay)
        UO.Print("Player res")
 end if

 if uo.GetGraphic(Player2)==ghost_type and uo.GetDistance(Player2)<=1 then
        uo.waittargetobject(Player2)
        UO.Exec("usetype bandage")
        wait(healdelay)
        UO.Print("Player2 res")
 end if

end sub

требуется что бы на живого человека макрос не реагировал а вот на госта ресал. на практике и на живого ин а мертвого не реагирует.

Надеюсь на помощь..

Posted: 2005-02-15 12:39:43
by 666Man666
на хилинг бинтами а если нету магией... (не проверял)

Code: Select all

sub GHFriend() 
var Friend='0x00001D1B' # айдишник напарника 
var ManaNeed=9 # кол-во маны
If UO.Count('bandage') Then
	UO.WaitTargetObject(Friend)
	UO.UseType('bandage')
Else
	UO.Print("Bandage is Off")
	If UO.Mana > ManaNeed Then
		UO.WaitTargetObject(Friend)
		UO.Cast('Greater Heal')
	Else
		UO.Print("Low Mana!")
	EndIf
EndIf
end sub

Posted: 2005-02-15 13:02:08
by 666Man666
А это на ресс ( тоже не тестил )

Code: Select all

sub Res() 
var Friend='0x00001D1B' # айдишник напарника 
var ManaNeed=50 # кол-во маны 
If UO.Count('bandage') >= 20 and UO.GetDistance('lastcorpse') <= 2 Then 
   UO.WaitTargetObject(Friend) 
   UO.UseType('bandage') 
Else 
   UO.Print("Bandage is Off") 
   If UO.Mana > ManaNeed Then 
      UO.WaitTargetObject(Friend) 
      UO.Cast('Resurrection') 
   Else 
      UO.Print("Low Mana!") 
   EndIf 
EndIf 
end sub

Posted: 2005-02-15 14:03:56
by PoinT
извеняюсь конечно но помойму ты не понел сути моей проблемы (


хилинг.
сним все оки, но после подхила своего на него ставится ласт таргет что портит всю картину т.к. надо чтобы он остался на том кого я атаковал до этого. я незнаю как это воплотить поэтому и пишу..


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

ах да.. я так понел таргет жмется именно в тело на земле.. у меня на шарде ресурект именно в чара, а не в тело =-)

Posted: 2005-02-15 14:57:45
by 666Man666
PoinT wrote:извеняюсь конечно но помойму ты не понел сути моей проблемы (


хилинг.
сним все оки, но после подхила своего на него ставится ласт таргет что портит всю картину т.к. надо чтобы он остался на том кого я атаковал до этого. я незнаю как это воплотить поэтому и пишу..
Тогда "врага" заноси в обджекты и кастуй магию уже по обжекту "враг" например:

Code: Select all

sub Select()
UO.Print("!!!SELECT YOU TARGET!!!") 
UO.Exec('addobject Target') 
While UO.Targeting() 
	Wait(500) 
Wend 
end sub
А потом биндиш

Code: Select all

,cast 'Magic Arrow' Target
PoinT wrote:ресурект.
идею понел.. но как бы это на мой взгляд ненадежно потому что... есличерес долю секунды умрет враг, то ресурект подействует на него =) в идеале хочется чтобы нажав кнопку ресуректа макрос ненайдя трупа своего либо стоя больше чем в 1 клетке от трупа нечего неделал и выключался =)

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

Posted: 2005-02-15 17:44:31
by PoinT
спасибо.
а вот как бы с одной кнопки сделать дабавление обжекта и каста стрелки на этот же обжект? =) немогу своей головой додумать =-(

Posted: 2005-02-15 20:10:33
by 666Man666
PoinT wrote:спасибо.
а вот как бы с одной кнопки сделать дабавление обжекта и каста стрелки на этот же обжект? =) немогу своей головой додумать =-(
смотря, что ты кастуеш...

Code: Select all

sub Select() 
UO.Print("!!!SELECT YOU TARGET!!!") 
UO.Exec('addobject Target') 
While UO.Targeting() 
   Wait(500) 
Wend 
UO.Cast('Magic Arrow', Target)
end sub