Cooking / Повар

Only tested and approved scripts

Moderators: Murderator+, Murderator

Post Reply
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Cooking / Повар

Post by Yoko »

Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?t=605
Author or poster:_________
BETEP Flash_4444@List.ru ICQ 233461603
Tested on:_______________
Dragon World (v0.55i) http://www.drw.ru
Must work:_______________
Sphere emu
Customization required:____
No
Description:______________
(синтакс автора соблюдён) Скилл Повара нужен для пригатовления вкусной пищи. Скрипт применяет скилл Повар и готовит вкусные рыбные котлеты.Ищет в Сумке героя "Сырые" рыбные стейки и жарит их на "жаровне",если стейков нету то берет в "сундуке".Готовые котлеты складывает в "сундук" Для того чтобы макрос работал вы должны:

1)Иметь сундук заполненый "сырой" едой (в данном случие в скрипте прописаны Рыбные стейки).
2)Иметь Жаровню (на шарде ДРВ можно жарить на "Форже" Домашняя печь для переплавки руды)

Скрипт "Цикличен"(повторяется безконечно).

Наловите побольше рыбы и порезав ее при помощи ножа получите Рыбные стейки (сырые).Стейки сложите в Сундук (можно в несколько кучек) Встаньте в место где вам никто не помешает (дома к примеру). встаньте так что бы в пределах досигаемости был сундук и жаровня. Откройте сундук с Стейками и Бэкпак (так как инжект не может открывать их сам и ссответственно искать там "Стейки"),если вы этого не зделаете скрипт не сможет пополнять запас сырых стейков в "кормане" .Запустите скрипт. Появится прицел. Инжект спросит вас "Выбери СУНДУК С Жратвой", укажите прицелом на сундук с сырыми продуктами.Потом появится еще один прицел Инжект спросит вас "Выбери жаровню",прицелом на жаровню.

Скрипт может отключится.
Возможные причины:
1)Скипт не может продолжить работу так как вы Мертвы.
2)Сбился прицел,так как придмет который вы используете не в приделах досигаемости .
3)Закончились Сырые продукты.
Yoko comment:___________
none
________________________

Code: Select all

sub Cook() 
VAR Exit=0, LastTimer, TryToPoison
uo.print('Выбери СУНДУК С Жратвой:')
uo.exec('addobject Container')
while uo.targeting()
wait(100)
wend
uo.print('Выбери Жаровню:')
uo.exec('addobject Forge')
while uo.targeting()
wait(100)
wend
while Exit<>1
UO.DeleteJournal()
UO.FindType('0x097B','0x0000','backpack');
If UO.GetQuantity('finditem')>200 Then
UO.SetReceivingContainer('Container');
wait(1000)
UO.Grab('all','finditem')
wait(1000)
UO.UnSetReceivingContainer()
Endif
UO.FindType('0x097A',-1,'backpack') ;
If UO.GetQuantity('finditem')<2 then
UO.FindType('0x097A','0x0000','Container') ;
wait(1000)
UO.Grab('300','finditem')
wait(1000)
Endif
LastTimer=UO.Timer()
UO.DeleteJournal()
UO.FindType('0x097A','0x0000','backpack')
UO.WaitTargetObject('Forge')
UO.UseObject('finditem')
wait(4000)
CheckLag()
If UO.InJournal("You burn") then
repeat
wait(100)
until UO.Timer()>=LastTimer+100
Else
EndIf
wend
end sub

sub CheckLag()
UO.DeleteJournal()
UO.Click('backpack')

repeat
wait(500)
until UO.InJournal('backpack')
end sub
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

Discussion:______________
http://yoko.netroof.net/forum/viewtopic.php?p=7933#7933
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; also check up types)
Description:______________
Встаем рядом среколлкой на базе, рядом с чаром в АМЗ ставим сундук или ящик. В него раскладываем много кучек хвороста не больше чем по 500 в кучке (иначе чар не сможет взять 1 шт.) и кладем несколько стопок стейков (можно по 10к в стопке).
Берем из сундука 1 шт хвороста, кладем в координаты TX, TY и зажигаем ее. Потом берем 1 шт. стейков из этого же сундука и жарим на костре или углях. При этом перед жаркой проверяем, есть ли в вокруг чара огонь или угли. если есть жарим, иначе опять жгем костер. Готовый стейк скидывается в этот же сундук.
Yoko comment:___________
none
________________________

Code: Select all

#===================================================================#
# COOKING                                                           #
#===================================================================#
#   v.1.05b (с) Edred                                               #
#===================================================================#
;
; Встаем рядом среколлкой на базе, рядом с чаром в АМЗ ставим сундук или
; ящик. В него раскладываем много кучек хвороста не больше чем по 500
; в кучке (иначе чар не сможет взять 1 шт.) и кладем несколько стопок стейков
; (можно по 10к в стопке). Можно туда же добавить меда - уберите комментарий
; с EatChar() и добавьте эту функцию.
; Берем из сундука 1 шт хвороста, кладем в координаты TX, TY и зажигаем ее.
; Потом берем 1 шт. стейков из этого же сундука и жарим
; на костре или углях. При этом перед жаркой проверяем, есть ли в
; вокруг чара огонь или угли. если есть жарим, иначе опять жгем костер.
; Готовый стейк скидывается в этот же сундук.
;
; Перед разжиганием костра проверяем, прошло ли 5 минут с момента последней
; попытки прокачать Spirit Speak, если прошло - качаем.
;
sub cooking()
   VAR Sunduk = '0x40591B82'
   VAR Hvorost = '0x0DE1'
   VAR Koster = '0x0DE3'
   VAR Ugli = '0x0DE9'
   VAR Fish = '0x097A'
   VAR FishGot = '0x097B'
   VAR TX = 1873
   VAR TY = 387
   VAR i, flag
;   VAR SpiritTime = UO.Timer()
   UO.CancelTarget()
   UO.Exec( 'set finddistance 3' )
;      UO.SetGlobal( 'TimeProcess', str( UO.Timer() ) )
   UO.UseObject( Sunduk )
   While UO.SkillVal( 'Cooking' ) < 1000
;      EatChar( Sunduk, 2, 1, 120 )
; ----------------------------------
; блок запуска прокачки Spirit Speak
;      If ( UO.Timer() - SpiritTime ) / 600 > 5 Then
;         ; Прошло 5 минут с момента последней прокачки Spirit Speak
;         SpSpeak()
;         SpiritTime = UO.Timer()
;      Endif
; ----------------------------------
      wait(1000)
      UO.FindType( Hvorost, -1, Sunduk )
      If UO.FindCount() == 0 Then
         UO.Print( 'No kindling found. Script terminated' )
         return
      Endif
      UO.MoveItem( 'finditem', '1', 'ground', str(TX), str(TY), str(UO.GetZ()) )
      wait(1000)
      CheckLag()
      UO.Findtype( Hvorost, -1, 1 )
      If UO.FindCount() > 0 Then
         repeat
            UO.UseFromGround( Hvorost )
            wait(1000)
            UO.FindType( Koster, -1, 1 )
         until UO.FindCount() > 0
         ; костер горит
         flag = 1
         repeat
            ; взять из сундука 1 стейк
            If UO.Count( Fish ) == 0 Then
               UO.FindType( Fish, -1, Sunduk )
               If UO.FindCount() == 0 Then
                  UO.Print( 'No fish steaks found. Script terminated' )
                  return
               Endif
               UO.Grab( '1', 'finditem' )
               wait(1000)
               CheckLag()
            Endif
            ; теперь проверим не погас ли костер, не исчезли ли угли
            UO.FindType( Koster, -1, 1 )
            If UO.FindCount() <> 0 Then
               ; еще горит костер - жарим на нем стейк
               If UseSteake( Fish, UO.GetSerial('finditem') ) Then
                  flag = 0
               Endif
               ; стейк готов
            Else
               UO.FindType( Ugli, -1, 1 )
               If UO.FindCount() <> 0 Then
                  ; есть еще угли!
                  if UseSteake( Fish, UO.GetSerial('finditem') ) then
                     flag = 0
                  endif
               Else
                  flag = 0
               Endif
            Endif
            If UO.Count( FishGot ) > 0 Then
               UO.FindType( FishGot )
               UO.MoveItem( 'finditem', -1, Sunduk )
               wait(1000)
               CheckLag()
            Endif
         until flag == 0
      Endif
   Wend
endsub

Sub UseSteake( fish, koster )
   VAR msg1 = 'You burn the food'            ; физл
   VAR msg2 = 'You put the fish steak'         ; успех
   VAR msg22 = 'You put the fish steaks'      ; успех
   VAR msg3 = 'You must wait'               ; ждать
   VAR msg4 = "You can't see the target"
   repeat
      DeleteJournal (msg1 )
      DeleteJournal (msg2 )
      DeleteJournal (msg22 )
      DeleteJournal (msg3 )
      DeleteJournal (msg4 )
      UO.WaitTargetObject( 'finditem' )
      UO.UseType( Fish )
      repeat
         wait(500)
      until UO.InJournal(msg1) OR UO.InJournal(msg2) OR UO.InJournal(msg22) OR UO.InJournal(msg3) OR UO.InJournal(msg4)
      if UO.InJournal(msg4) then
         return 1
      endif
      if UO.InJournal(msg3) then
         wait(500)
      endif
   until UO.InJournal(msg2) OR UO.InJournal(msg22)
   return 0
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
Post Reply