срочно нужна помощь!!!!

Ask for scripts here

Moderators: Murderator+, Murderator

Post Reply
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

срочно нужна помощь!!!!

Post by kama26 »

Люди где ошибка в скрипте ???

Code: Select all

sub main()
   VAR Sunduk = "0x400E0DD2"
   VAR bytil = "0x0F0E"
   VAR reg = "0x0F88"
   VAR pestik = "0x0E9B"
   VAR lesepoison = "0x0F0A"
   VAR k
  
     UO.Set('norbcalc',1)
     UO.Set('norbcheck',1)
     
 
   While TRUE
      If UO.Count( bytil ) == 0 Then
         UO.FindType( bytil, '-1', Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Leathers not found, script terminated")
            return
         Endif
         UO.Grab( '100', 'finditem' )
         wait(500)
         while UO.Count( bytil ) == 3
            wait(100)
         wend
      Endif
      
          If UO.Count( reg ) == 0 Then
         UO.FindType( reg, '-1', Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Leathers not found, script terminated")
            return
         Endif
         UO.Grab( '300', 'finditem' )
         wait(500)
         while UO.Count( reg ) == 3
            wait(100)
         wend
      Endif
    
      UO.DeleteJournal()
      
      wait(100)
      UO.UseType( pestik )
      UO.OnGump('0x0004f288','0x0000003a','17')
      UO.Recall('0x0000003b','802')
      
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 70)
 
         k = k + 1
         wait(300)
      wend
      if UO.Count( lesepoison ) > 10 then
         uo.useobject('0x400B14EC')
         UO.WaitTargetType( lesepoison )
         wait( 500 )
         while UO.Count( lesepoison ) > 10
            wait(100)
         wend
         wait(100)
      endif
   Wend
  wait(100)
end sub 
мин через 5-20 вылетает критическая ошибка (((
помогите плз
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Вот один цикл непонятный

Code: Select all

while UO.Count( bytil ) == 3 
            wait(100) 
         wend 
Пока бутылок 3 ждать 0,1 сек, т.е. как тока бутылок останется 3 штуки, скрипт повиснет в ожидании и вылетит в итоге

Вот ещё один

Code: Select all

while UO.Count( reg ) == 3 
            wait(100) 
         wend 
тож самое с регом, как только 3 рега останется, скрипт виснет

Вот ещё один загадочный кусок

Code: Select all

if UO.Count( lesepoison ) > 10 then 
         uo.useobject('0x400B14EC') 
         UO.WaitTargetType( lesepoison ) 
         wait( 500 ) 
         while UO.Count( lesepoison ) > 10 
            wait(100) 
         wend 
         wait(100) 
      endif 
тут, значится, если пойзонок станет больше 10, использовать какой-то предмет, прицелится в пойзонку, полсекунды подождать, если пойзонок больше 10, опять повиснуть в непонятном ожидании
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Post by GAUHAR »

Честное слово экспериментов провел тьму, но

Code: Select all

UO.OnGump()
мне не удалось укратить, только клики (но это же не наш стиль, хотя меня это вполне удовлетворило).
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

Millerbeer wrote:
Вот ещё один загадочный кусок

Code: Select all

if UO.Count( lesepoison ) > 10 then 
         uo.useobject('0x400B14EC') 
         UO.WaitTargetType( lesepoison ) 
         wait( 500 ) 
         while UO.Count( lesepoison ) > 10 
            wait(100) 
         wend 
         wait(100) 
      endif 
тут, значится, если пойзонок станет больше 10, использовать какой-то предмет, прицелится в пойзонку, полсекунды подождать, если пойзонок больше 10, опять повиснуть в непонятном ожидании


ну ето всмысле как тока бутылок с пойсоном становится 10 штук он их переливает в кегу )))
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

GAUHAR wrote:Честное слово экспериментов провел тьму, но

Code: Select all

UO.OnGump()
мне не удалось укратить, только клики (но это же не наш стиль, хотя меня это вполне удовлетворило).
что бы своять то что своял ,а прежде всего понять как ето делается (потому не учился я на програмирование)убил наверное часов 20 )))
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

проблема актуальна до сих пор ((((
то что сказали исправил правда ошибку до сих пор вышибаеть (((
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

Code: Select all

sub main()
   VAR Sunduk = "0x400E0DD2"
   VAR bytil = "0x0F0E"
   VAR reg = "0x0F88"
   VAR pestik = "0x0E9B"
   VAR lesepoison = "0x0F0A"
   VAR k
 
     UO.Set('norbcalc',1)
     UO.Set('norbcheck',1)
     
 
   While TRUE
      If UO.Count( reg ) < 0 Then
         UO.FindType( reg, '-1', Sunduk )
         If UO.FindCount() == 0 Then
            UO.Print("Больше ресов нет!!!!")
             uo.exec('terminate all')
	     uo.print ("все скрипты завершены")
            return
         Endif
         UO.Grab( '300', 'finditem' )
         wait(500)
        
      Endif
   
      UO.DeleteJournal()
     
      wait(100)
      UO.UseType( pestik )
      UO.OnGump('0x0004f288','0x0000003a','17')
      UO.Recall('0x0000003b','802')
     
      k = 0
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail') AND ( k < 70)
 
         k = k + 1
         wait(300)
      wend
      if UO.Count( lesepoison ) > 10 then
         uo.useobject('0x400B14EC')
         UO.WaitTargetType( lesepoison )
         wait( 500 )

      endif
   Wend
  wait(100)
end sub 

вот что после исправлений (вернее удалений) получилось ,но как я и говорил скрипт вылетает через те же самые 5-20 минуток (((
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Я так подозреваю, вылетает после World Save? А через waitmenu крафт не сделать?
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

Millerbeer wrote:Я так подозреваю, вылетает после World Save? А через waitmenu крафт не сделать?

нет ((( тока так либо через клики
Millerbeer
Posts: 247
Joined: 2008-09-12 05:07:34

Post by Millerbeer »

Code: Select all

sub main() 
   VAR Sunduk = "0x400E0DD2" 
   VAR bytil = "0x0F0E" 
   VAR reg = "0x0F88" 
   VAR pestik = "0x0E9B" 
   VAR lesepoison = "0x0F0A" 
  
     UO.Set('norbcalc',1) 
     UO.Set('norbcheck',1) 
      
   While TRUE 
      If  not UO.Count( reg ) Then 
         UO.FindType( reg, '-1', Sunduk ) 
         If not UO.FindCount() Then 
             UO.Print("Больше ресов нет!!!!") 
             uo.exec('terminate all') 
             uo.print ("все скрипты завершены") 
             return 
         Endif 
         UO.Grab( '300', 'finditem' ) 
         wait(1000) 
         checklag()
      Endif 
    
      UO.DeleteJournal() 
      
      wait(100) 
      UO.UseType( pestik ) 
      UO.OnGump('0x0004f288','0x0000003a','17') 
      UO.Recall('0x0000003b','802') 
      while NOT UO.InJournal('You put') AND NOT UO.InJournal('fail')
         wait(300) 
      wend 
      if UO.Count( lesepoison ) > 10 then 
          UO.WaitTargetType( lesepoison )
          uo.useobject('0x400B14EC')
          wait( 1000 ) 
          checklag()
      endif 
   Wend 
  wait(100) 
end sub 
Sub Checklag()
	deljournal('a backpack')
	uo.click('backpack')
	repeat
		wait(50)
	until uo.injournal('a backpack')
endsub
Sub deljournal(msg) 
	while uo.injournal(msg) 
		uo.setjournalline(uo.injournal(msg)-1,"") 
	wend 
endsub
Ну так попробуй, мож не будет вылетать
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

Ну так попробуй, мож не будет вылетать
всё равно вылетает чтоб ему пусто было (((
kama26
Posts: 23
Joined: 2009-02-04 10:51:57

Post by kama26 »

народ у мя подозрения что вылетает когда по какой то причине действие (т.е. нажатие на кнопочки в гампе ) не завершено а подвисает ((
можно ли сделать какую нить проверочку на время если текста нет то он юзает пестик а потом появившийся гамп просто правым кликом убирает ????
Post Reply