В чем ошибка скрипта ?

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Boris
Posts: 24
Joined: 2005-06-18 15:55:25

В чем ошибка скрипта ?

Post by Boris »

Code: Select all

sub Lootopen() 
   DIM N[5] 
   N[0]  = '0x0F87'  ;glazki  
   N[1]  = '0x0F78'  ;batva  
   N[2]  = '0x1088'  ;neklear 
   N[3]  = '0x0EED'  ;money 
   N[4]  = '0x0DF2'  ;ident 
    VAR i 
    var otmi4ki = '0x14FB' 
    var ms1 = 'Your lockpick breaks!' 
    var ms2 = 'Your fail to open the lock!' 
    var ms3 = 'You opened the lock!' 
     uo.exec('addobject sunduk') 
        while uo.targeting() 
          wait(100) 
        wend 
          repeat 
            UO.useobject('otmi4ki') 
            wait(200) 
       uo.waittargetground('sunduk')       ;пытаться взломать сундук
       wait(10000) 
              if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then 
                wait(2000)  
              endif    
          until UO.InJournal(ms3) 
                UO.useobject('sunduk') 
                wait( 1000 ) 
                  For i = 0 To 4 
                     UO.FindType( N[i], '-1', 'sunduk' ) 
                        if uo.findcount() > 0 then 
                           UO.MoveItem( 'finditem' ) 
                           wait( 100 ) 
                        endif 
                 Next 
     UO.Print( '/\yT 3aKoH4eH :-)' ) 
endsub
он почему не открывает сундук
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Возможно айди сундука меняется, после его взлома?
Boris
Posts: 24
Joined: 2005-06-18 15:55:25

Post by Boris »

flake wrote:Возможно айди сундука меняется, после его взлома?
он даже не начинает ломать сундук(
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Code: Select all

repeat 
            UO.useobject('otmi4ki') 
            wait(200) 
       uo.waittargetground('sunduk')       ;пытаться взломать сундук 
       wait(10000) 
              if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then 
                wait(2000)  
              endif    
until UO.InJournal(ms3) 
Так, две ошибки:

1. В переменной, ты указываешь тип otmi4ki. А тут используешь обьект otmi4ki.
Соответственно, используй

Code: Select all

UO.UseType( otmi4ki ) ; именно так, без кавычек


2. Ловушка для прицела должна идти перед использованием обьекта/типа, тобишь:

Code: Select all

 uo.waittargetground('sunduk')       ;пытаться взломать сундук 
       wait(200)
       UO.UseType( otmi4ki )
       wait(10000)
Boris
Posts: 24
Joined: 2005-06-18 15:55:25

Post by Boris »

flake wrote: 2. Ловушка для прицела должна идти перед использованием обьекта/типа, тобишь:

Code: Select all

 uo.waittargetground('sunduk')       ;пытаться взломать сундук 
       wait(200)
       UO.UseType( otmi4ki )
       wait(10000)
с 1 понял ошибку
а вот со вторым это выходит сначала надо задать куда будет попадть ловушка а токо потом от чего эта ловушка появится ?
flake
Expert!
Posts: 746
Joined: 2004-08-11 23:56:17
Location: The Citadel
Contact:

Post by flake »

Да, ты верно понял.
Короче говоря, вот:

Code: Select all

sub Lootopen() 
   DIM N[5] 
   N[0]  = '0x0F87'  ;glazki  
   N[1]  = '0x0F78'  ;batva  
   N[2]  = '0x1088'  ;neklear 
   N[3]  = '0x0EED'  ;money 
   N[4]  = '0x0DF2'  ;ident 
    VAR i 
    var otmi4ki = '0x14FB' 
    var ms1 = 'Your lockpick breaks!' 
    var ms2 = 'Your fail to open the lock!' 
    var ms3 = 'You opened the lock!' 
     uo.exec('addobject sunduk') 
        while uo.targeting() 
          wait(100) 
        wend 
          repeat
            uo.waittargetground( 'sunduk' )    ;пытаться взломать сундук  
            Wait(200)
            UO.UseType( otmi4ki )        
       wait(10000) 
              if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then 
                wait(2000)  
              endif    
          until UO.InJournal(ms3) 
                UO.useobject('sunduk') 
                wait( 1000 ) 
                  For i = 0 To 4 
                     UO.FindType( N[i], '-1', 'sunduk' ) 
                        if uo.findcount() > 0 then 
                           UO.MoveItem( 'finditem' ) 
                           wait( 100 ) 
                        endif 
                 Next 
     UO.Print( '/\yT 3aKoH4eH :-)' ) 
endsub
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Boris wrote:а вот со вторым это выходит сначала надо задать куда будет попадть ловушка а токо потом от чего эта ловушка появится ?
wait* устанавливает не таргеты а ловушки.

Для большей понятности рекомендую попробывать забиндить стрелку, кликнуть на себя и сразу запустить - именно так будет срабатывать и скрипт.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Boris
Posts: 24
Joined: 2005-06-18 15:55:25

Post by Boris »

вообщем вот сделал что мог

Code: Select all

sub Lootopen() 
   DIM N[19] 
   N[0]  = '0x0F87'  ;glazki  
   N[1]  = '0x0F78'  ;batva  
   N[2]  = '0x1088'  ;neklear
   N[3]  = '0x0EED'  ;money
   N[4]  = '0x0F63'  ;magic spear
   N[5]  = '0x0E87'  ;magic fork  
   N[6]  = '0x0F4E'  ;magic bardiche 
   N[6]  = '0x13FE'  ;magic sword  
   N[7]  = '0x1402'  ;magic wotik 
   N[8]  = '0x0F4B'  ;magic axe
   N[9]  = '0x0F49'  ;magic axe topor
   N[10]  = '0x143C'  ;magic hammerpick
   N[11]  = '0x143A'  ;magic maul
   N[12]  = '0x0F47'  ;magic hat4et
   N[13]  = '0x13B9'  ;magic svord(me4)
   N[14]  = '0x1401'  ;magic krys
   N[15]  = '0x0F5C'  ;magic mace
   N[16]  = '0x1404'  ;magic vilka
   N[17]  = '0x143E'  ;magic haleb
   N[18]  = '0x13B5'  ;magic skrimitar
    VAR i
    var otmi4ki = '0x14FB'
    var ms1 = 'Your lockpick breaks!'
    var ms2 = 'Your fail to open the lock!'
    var ms3 = 'You opened the lock!'
    var ms4 = 'No item found. Next  target request will be canceled'
     uo.exec('addobject sunduk') 
        while uo.targeting() 
          wait(100) 
        wend 
          repeat
            uo.waittargetground('sunduk')       ;пытаться взломать сундук 
            wait(100)
            UO.UseType( otmi4ki )
               wait(10000)
              if ( UO.InJournal(ms1) or UO.InJournal(ms2) ) then
                wait(2000)  
              endif   
          until UO.InJournal(ms3)
                UO.useobject('sunduk') 
                wait( 1000 ) 
                  For i = 0 To 18 
                     UO.FindType( N[i], '-1', 'sunduk' ) 
                        if uo.findcount() > 0 then 
                           UO.MoveItem( 'finditem' ) 
                           wait( 100 ) 
                        endif 
                 Next 
     UO.Print( '/\yT 3aKoH4eH :-)' ) 
endsub
Щас проблема в том что если отменяешь таргет в начале (появлятся надпись ms4) то он пытается дальше использовать отмычки. А надо чтобы просто останавливал скрипт
Edred
Expert!
Posts: 2544
Joined: 2004-04-03 17:36:29
Location: Saint-Petersburg

Post by Edred »

Интересный способ - обсуждать один и тот же скрипт одновременно на двух форумах... А что ты будешь делать если тебе на разных посоветуют разное? :lol: В общем, на Цитовском я тебе уже объяснил что к чему...
Post Reply