Спаринг

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Спаринг

Post by Alex82 »

Кому не тяжко гляньте. Пишу скрипт на спарринг. Чар должен бить оппонента, и при хп жертвы меньше 50% останавливать бой и лечить его. И так до победного.
Проблема в том что не могу нормально зациклить действие. Чар все время пытается юзать оружие на цель. Вот сам скрипт


sub sparing()
while not uo.Dead()
if uo.GetHp('0x0029D60B') > uo.getMaxHP('0x0029D60B')/2 then
atak()
else
hil()
endif
wend
end sub

sub hil()
uo.deletejournal()
repeat
uo.warmode(0)
UO.Usetype("0x0E21")
UO.Exec("waittargetobject 0x0029D60B")
wait(4500)
until uo.injournal('does not need you to heal or cure him')
end sub

sub atak()
uo.warmode(1)
UO.Exec("attack 0x0029D60B")
wait(100)
uo.usetype("0x13FA") # тип оружия
wait(100)
uo.waittargetobject("0x0029D60B")
UO.Exec("attack 0x0029D60B")
end sub


По отдельности процедуры атаки и лечения работают а вот свести вместе не получается Помогите пожалуйста.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Спаринг

Post by Mirage »

Alex82 wrote:Чар все время пытается юзать оружие на цель.


sub atak()
uo.warmode(1)
UO.Exec("attack 0x0029D60B")
wait(500)
end sub


Вот так можно.
Я не уверен что инжект умеет определять хиты оппонента.

Скрипты на паринг были тут.
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Post by Alex82 »

Так как ты предложил,чар не возьмет в руки нужное мне оружие. Да и главной проблемы это не решает.
ynkemer
Posts: 23
Joined: 2009-02-14 14:22:37

Post by ynkemer »

Попробуй терминейт сделать.
sub sparing()
while not uo.Dead()
if uo.GetHp('0x0029D60B') > uo.getMaxHP('0x0029D60B')/2 then
atak()
else
uo.exec('terminate atak')
hil()
endif
wend
end sub
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Post by Alex82 »

Все всем кто отписался спасибо.Взял и тупо переделал скрипт на спаринг с лошадью. :D Тема закрыта
Alex82
Posts: 70
Joined: 2008-03-16 12:36:48

Post by Alex82 »

Вдруг кому понадобится. Скрипт нагло содран с спарринга с лошадью неизвестного автора :roll:


Code: Select all

;перетащите ОБЯЗАТЕЛЬНО полоску с жизньями жертвы!!!!!!!!! 
;Жертве в руки лук без стрел :=)))

var kykla='0x0190' ;тип человека -)
var orygie='0x13B9';тип оружия -)
var bints='0x0E21'; тип бинта -)

sub train()
uo.findtype(kykla,'-1','ground')
while not uo.dead()
uo.findtype(kykla,'-1','ground')
if uo.gethp('finditem')>20 then
  atack()
 else
  heal()
endif
uo.warmode(0)
wait(100)
wend
endsub

sub atack()
uo.usetype(orygie)
uo.waittargetself()
wait(500)
uo.warmode(1)
uo.ignorereset()
uo.ignore('self')
uo.findtype(kykla,'-1','ground')
uo.attack('finditem')
while uo.gethp('finditem')>20
 uo.findtype(kykla,'-1','ground')
 wait(100)
 if uo.gethp('finditem')<19 then
  uo.warmode(0)
 endif
wend
uo.warmode(0)
endsub

sub heal()
var moy
var BandBL ='0x0E20'
uo.warmode(0)
UO.Disarm()

uo.FindType('0x1008','-1')
moy=uo.GetSerial('finditem')
UO.WaitTargetObject(Moy)
UO.UseType(BandBL)

uo.deletejournal()
uo.findtype(kykla,'-1','ground')
while not uo.injournal("does not need")
 uo.warmode(0)
 CheckLag()
 uo.waittargetobject('finditem')
 uo.usetype(bints)
 wait(4000)
 uo.findtype(kykla,'-1','ground')
 wend
  endsub
 


Sub CheckLag()
    UO.DeleteJournal()
    UO.Click('backpack')
    repeat
       wait(50)
    until UO.InJournal('backpack')
end sub

Post Reply