Page 1 of 1

Scripting by LEO... (archery)

Posted: 2006-05-06 22:49:25
by ghost_hnt
в чем дело?
пытается стрелять , но потом сразу же хелит не тронутого чара(((
помогите

Code: Select all

var Doll = '0x0026B61A' ##ID чара в которого стреляем 
var Cont = '0x4009EDAD' ##ID контейнера где лежат стрелы 
var Arrow = '0x0F3F'    ##тип стрел 
var Bow = '0x13B1'      ##тип лука 
sub Archery() 
#¤Leo¤# 
while 1 
   UO.UseType(Bow) 
   UO.Attack(Doll) 
   Repeat 
      wait (500) 
   if UO.InJournal('destroyed') then 
   UO.UseType(Bow) 
   UO.DeleteJournal() 
   endif 
   Until UO.GetHP(Doll)<100 
   repeat 
   wait (500) 
   UO.WarMode(0) 
      if UO.FindCount('0x0E21')<30 then 
         UO.WaitTargetType('0x1008') 
         UO.UseType('0x0E20') 
         CheckLag() 
      endif 
      UO.Usetype('0x0E21') 
      UO.WaitTargetObject(Doll) 
      wait(3500) 
   Until UO.InJournal('you need') 
      If UO.Count(Arrow) < 100 Then 
         UO.Findtype(Arrow, '-1',Cont) 
         If UO.FindCount() > 0 Then 
            UO.Grab('500','finditem') 
            wait(1000) 
            CheckLag() 
         Endif 
      Endif 
      UO.DeleteJournal() 
wend 
end sub 

sub Start() 
   repeat 
   UO.Findtype(Arrow) 
   If UO.FindCount() > 0 Then 
      UO.MoveItem('finditem','0',Cont) 
         wait(1000) 
   Endif 
   UO.Findtype(Arrow, '-1', '1' ) 
   If UO.FindCount() > 0 Then 
      UO.MoveItem('finditem','0',Cont) 
         wait(1000) 
   Endif 
      wait(10000) 
   until UO.Dead() 
endsub 

Sub CheckLag() 
   UO.DeleteJournal( 'backpack' ) 
   UO.Click( 'backpack' ) 
   repeat 
      wait(100) 
   until UO.InJournal( 'backpack' ) 
endsub

Posted: 2006-05-06 22:52:40
by CONDOMchick
попробуй увеличить задержку

Posted: 2006-05-06 23:02:14
by ghost_hnt
блин он почему то пробует стрельнуть, а потом сразу хелит и хелит все время чара с полными жизнями_(
ошибка где-то в этой строчке

Code: Select all

Until UO.GetHP(Doll)<100 
   repeat 
   wait (500) 
   UO.WarMode(0) 
      if UO.FindCount('0x0E21')<30 then 
         UO.WaitTargetType('0x1008') 
         UO.UseType('0x0E20') 
         CheckLag() 
      endif 
      UO.Usetype('0x0E21') 
      UO.WaitTargetObject(Doll) 
      wait(3500) 
   Until UO.InJournal('you need') 
можете скинуть другой рабочий скрипт)_!

Posted: 2006-05-06 23:06:33
by ghost_hnt
как-то надо изменить проверку hp у куклы
что-то вместо until uo.getHP
типо if жизней у куклы меньше половины то бери бинты

Posted: 2006-05-06 23:10:15
by flake

Code: Select all

Until UO.GetHP(Doll)<100 
замени на

Code: Select all

Until UO.GetHP(Doll)< (UO.GeMaxHP(Dol)/2)

Posted: 2006-05-06 23:14:56
by ghost_hnt
не не хрена)
там подправил, но он убивает чара_)

Posted: 2006-05-07 08:14:39
by Kynep
flake wrote:

Code: Select all

Until UO.GetHP(Doll)<100 
замени на

Code: Select all

Until UO.GetHP(Doll)< (UO.GeMaxHP(Dol)/2)
Скока писал так ни разу не получалось, лучше сделать проверку по журналу на фразу, пробуй:

Code: Select all

var Doll = '0x0026B61A' ##ID чара в которого стреляем 
var Cont = '0x4009EDAD' ##ID контейнера где лежат стрелы 
var Arrow = '0x0F3F'    ##тип стрел 
var Bow = '0x13B1'      ##тип лука 
sub Archery() 
#¤Leo¤# 
while 1 
   UO.UseType(Bow) 
   UO.Attack(Doll) 
   Repeat 
      wait (500) 
   if UO.InJournal('destroyed') then 
   UO.UseType(Bow) 
   UO.DeleteJournal() 
   endif 
   until UO.InJournal('Stop')
   UO.DeleteJournal() 
   repeat 
   wait (500) 
   UO.WarMode(0) 
      if UO.FindCount('0x0E21')<30 then 
         UO.WaitTargetType('0x1008') 
         UO.UseType('0x0E20') 
         CheckLag() 
      endif 
      UO.Usetype('0x0E21') 
      UO.WaitTargetObject(Doll) 
      wait(3500) 
   Until UO.InJournal('need healing') 
      If UO.Count(Arrow) < 100 Then 
         UO.Findtype(Arrow, '-1',Cont) 
         If UO.FindCount() > 0 Then 
            UO.Grab('500','finditem') 
            wait(1000) 
            CheckLag() 
         Endif 
      Endif 
      UO.DeleteJournal() 
wend 
end sub 

sub Start() 
   repeat 
   If UO.GetHP() < UO.GetMaxHP() / 2 then
   UO.Say('Stop')
   repeat
   wait(100)
   until UO.GetHP() == UO.GetMaxHP()
   else
   wait(100)
   endif
   UO.Findtype(Arrow) 
   If UO.FindCount() > 0 Then 
      UO.MoveItem('finditem','0',Cont) 
         wait(1000) 
   Endif 
   UO.Findtype(Arrow, '-1', '1' ) 
   If UO.FindCount() > 0 Then 
      UO.MoveItem('finditem','0',Cont) 
         wait(1000) 
   Endif  
   until UO.Dead() 
endsub 

Sub CheckLag() 
   UO.DeleteJournal( 'backpack' ) 
   UO.Click( 'backpack' ) 
   repeat 
      wait(100) 
   until UO.InJournal( 'backpack' ) 
endsub

Posted: 2006-05-07 15:13:42
by ghost_hnt
блин сначало норм, но потом, как чар-кукла сказал STOP
атакующий его хилит, даже если у него хп полные(
надо что-то в этом роде

Code: Select all

 until UO.InJournal('Stop') 
until заменить на if

Posted: 2006-05-07 15:52:43
by Kynep
ghost_hnt wrote:блин сначало норм, но потом, как чар-кукла сказал STOP
атакующий его хилит, даже если у него хп полные(
надо что-то в этом роде

Code: Select all

 until UO.InJournal('Stop') 
until заменить на if
Немнога поправил, посмотри. Ты как запускаешь его? Кто качает должен запускать Archery, а кукла Start

Posted: 2006-05-07 18:28:05
by ghost_hnt
да эт я понял
скоро буду тестить

Posted: 2006-05-11 14:05:32
by ghost_hnt
блин не ПАШЕТ((((((((((
стреляет, пока тот не скажет STOP
потом хелит его до бесконечности..............

Posted: 2006-05-11 17:02:37
by Kynep
ghost_hnt wrote:блин не ПАШЕТ((((((((((
стреляет, пока тот не скажет STOP
потом хелит его до бесконечности..............
Мля!! телепаты в отпуске!!! В этой строке напиши что пишет клиент, когда у чела жизни полные и пытается лечить:

Code: Select all

Until UO.InJournal('need healing')

Posted: 2006-05-11 17:53:01
by ghost_hnt
скрипт работает, но почему то когда у куклы меньше половины хп он все время кричит STOP!!!!!!!!!!!!!!
не останавливаясь, поэтому чар стрельнет, потом сразу хелит :?

Posted: 2006-05-11 21:02:28
by Kynep
ghost_hnt wrote:скрипт работает, но почему то когда у куклы меньше половины хп он все время кричит STOP!!!!!!!!!!!!!!
не останавливаясь, поэтому чар стрельнет, потом сразу хелит :?
Попробуй так, ссылка на мой пост:
Тут
Только не забудь исправить это:

Code: Select all

Until UO.InJournal('need healing') 

Posted: 2006-05-12 12:10:36
by ghost_hnt
спасибо вроде норм!