Yoko

All sides of Injection
It is currently 2017-11-19 16:11:02

All times are UTC+02:00




Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: 2004-10-24 23:11:49 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1968
Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?t=1713
Author or poster:_________
Edred, tercia@spb.lanck.net
Tested on:_______________
Цитадель http://ultima.e-burg.ru
Must work:_______________
Sphere emu
Customization required:____
Yes/place (serial Sunduk, runebook, rune to town, FinalX coordinate; also check up types)
Description:______________
Берем в пак 200 хвороста и реги, реколлимся по руне туда где можно жечь костры, врубаем медитацию, отделяем по 1 шт. хвороста, кладем их вокруг чара с трех сторон, дважды щелкаем по этим кучкам хвороста для их разжигания (с повторами в случае физлов). Отходим назад (направление на правый нижний угол - клавиша "3" на нумпаде). Повторям последнюю операцию пока чар не придет в точку FinalX. Реколлимся на базу, добираем из ящика хворост и реги. И по кругу.
Разметьте руну где-нибудь в непосещаемом городе, прогуляйтесь шагов на 30-50 по диагонали по направлению цифры 3 на нумпаде, занесите координату X этой точки в FinalX (для надежности и защиты от лагов будет лучше если в этой точке чар упрется в стенку). На базе рядом с реколлкой поставьте сундук и в него положите много хвороста (можно одной "неподьъемной" кучкой и побольше регов для реколла. Занесите руну в этот город в ту же рунбуку, где и руна на базу.
Yoko comment:___________
none
________________________
Code:
#===================================================================#
# CAMPING                                                           #
#===================================================================#
#   v.1.04b (с) Edred                                               #
#===================================================================#
; Берем в пак 200 хвороста и реги, реколлимся по руне туда где можно
; жечь костры, врубаем медитацию, отделяем по 1 шт. хвороста, кладем их
; вокруг чара с трех сторон, дважды щелкаем по этим кучкам хвороста
; для их разжигания (с повторами в случае физлов). Отходим назад
; (направление на правый нижний угол - клавиша "3" на нумпаде).
; Повторям последнюю операцию пока чар не придет в точку FinalX.
; Реколлимся на базу, добираем из ящика хворост и реги. И по кругу.
;
; Разметьте руну где-нибудь в непосещаемом городе, прогуляйтесь шагов
; на 30-50 по диагонали по направлению цифры 3 на нумпаде, занесите
; координату X этой точки в FinalX (для надежности и защиты от лагов
; будет лучше если в этой точке чар упрется в стенку). На базе рядом
; с реколлкой поставьте сундук и в него положите много хвороста (можно
; одной "неподьъемной" кучкой и побольше регов для реколла.
; Занесите руну в этот город в ту же рунбуку, где и руна на базу.
;
sub camping()
   DIM Regs[3]
   Regs[0] = '0x0F7A'         ; Black Pearl
   Regs[1] = '0x0F7B'         ; Bood Moss
   Regs[2] = '0x0F86'         ; Mandrake Root
   VAR Hvorost = '0x0DE1'
   VAR flag, myx, myy, myz, fin, i
   VAR FinalX = 1350
   VAR Sunduk = '0x40591B82'
   VAR RuneToBase = '20'
   VAR RuneToFire = '30'
   ;
   ; Стартуем стоя в начале пути.
;      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.Exec( 'set finddistance 3' )
   While UO.SkillVal( 'Camping' ) < 1000
      fin = 0
      UO.UseSkill( 'Meditation' )
      UO.FindType ( Hvorost )
      While ( UO.FindCount() > 0 ) AND ( fin == 0 )
         myx = UO.GetX()
         myy = UO.GetY()
         myz = UO.GetZ()
         UO.MoveItem('finditem', '1', 'ground', str(myx-1), str(myy), str(myz))
         wait(1000)
         CheckLag()
         UO.FindType ( Hvorost )
         UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy+1), str(myz))
         wait(1000)
         CheckLag()
         UO.FindType ( Hvorost )
         UO.MoveItem('finditem', '1', 'ground', str(myx), str(myy-1), str(myz))
         wait(1000)
         CheckLag()
         UO.Findtype( Hvorost, -1, 1 )
         While UO.FindCount() > 0 AND NOT UO.InJournal( "You can't ignite several" )
            repeat
               flag = 1
               DeleteJournal( "You fail to ignite" )
               DeleteJournal( "You can't ignite several" )
               DeleteJournal( "You must wait" )
               UO.UseFromGround( Hvorost )
               wait(1000)
               CheckLag()
               If UO.InJournal( "You must wait" ) OR UO.InJournal( "You fail to ignite" ) Then
                  flag = 0
                  wait(1000)
               Endif
               If UO.InJournal( "You can't ignite several" ) Then
                  UO.FindType( Hvorost, -1, 1 )
                  While UO.FindCount() > 0
                     If UO.GetQuantity( 'finditem' ) > 1 Then
                        UO.Grab( str( UO.GetQuantity( 'finditem' ) - 1 ), 'finditem' )
                        wait(1000)
                        CheckLag()
                     Endif
                     UO.Ignore( 'finditem' )
                     UO.FindType( Hvorost, -1, 1 )
                  Wend
                  UO.IgnoreReset()
               Endif
            until flag
            UO.Findtype( Hvorost, -1, 1 )
         Wend
         While ( UO.GetX() < myx + 1 ) AND ( fin == 0 )
            UO.Press( 34 )
            wait(300)
            CheckLag()
            If UO.GetX() == FinalX Then
               fin = 1
            Endif
         Wend
         UO.FindType ( Hvorost )
      Wend
      ; достигли конца маршрута или кончился хворост
      Recalling( 'CommonRunbook', RuneToBase )
      UO.UseObject( Sunduk )
      wait(1000)
      CheckLag()
      for i = 0 To 2
         If UO.Count( Regs[i] ) < 6 Then
            ; этого рега меньше 6
            UO.FindType( Regs[i], '-1', Sunduk )
            UO.Grab( str( 6 - UO.Count( Regs[i] ) ), 'finditem' )
            Wait( 1000 )
            CheckLag()
         Endif
      next
      If UO.Count( Hvorost ) < 200 Then
         ; хвороста меньше 200
         UO.FindType( Hvorost, '-1', Sunduk )
         UO.Grab( str( 200 - UO.Count( Hvorost ) ), 'finditem' )
         Wait( 1000 )
         CheckLag()
      Endif
;      EatChar( Sunduk, 2, 1, 60 )
      Recalling( 'CommonRunbook', RuneToFire )
   Wend
endsub

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

#####################################################################
Sub DeleteJournal( string1 )
   VAR nom = UO.InJournal( string1 )
   If nom > 0 Then
      UO.SetJournalLine( Nom - 1, 'string replaced' )
      DeleteJournal( string1 )
   Endif
endsub

#####################################################################
Sub Recalling( Runbk, NRune )
   ; Runbk - сериал или ссылка на объект рунбуки
   ; NRune - десятичный номер (текстом) руны для реколла
   VAR myx = UO.GetX()
   VAR myy = UO.GetY()
   VAR OldMana = UO.Mana
   VAR i = 0
   DeleteJournal( 'fizzles' )
   UO.Exec("recall " + Runbk + " " + NRune)
   repeat
      CheckLag()
      wait(1000)
      i = i + 1
   until ( i > 6 ) OR ( UO.Mana < OldMana - 8 ) OR UO.InJournal( 'fizzles' )
   wait(500)
   If myx == UO.GetX() AND myy == UO.GetY() Then
      UO.WarMode( 'flip' )
      wait(100)
      UO.WarMode( 'flip' )
      Recalling( Runbk, NRune )
   Endif
endsub


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited