Алхимия + по кегам

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Mguai
Posts: 83
Joined: 2004-06-18 09:03:31
Contact:

Алхимия + по кегам

Post by Mguai »

Конечно не мая Идея и не мой скрипт но мои дороботки :wink:....Так для жителей оскома решил запостит !!! :!: може и есть тут такой Скриптик Но я его вправду не нашол! :!:
################################################
Суть Скрипта делает ГХ Когда Закончились Банки берёт кег и Сливает все туда...
################################################
При себе Имейте 50 банок. так что дерзайте

Code: Select all



sub alchem()

VAR Exit=0, LastTimer
   VAR Bag = '0x40010156'         ;Сумка Где лежат Реги и
  VAR BaGofKeG ='0x40010170'   ;Сумка Где лежат Кеги
   VAR Bag2 = '0x4001015A'       ;Куда Кидать ПОлные кеги
   VAR Reg = '0x0F85'                  ; РеГ
uo.useobject( Bag )
uo.useobject( Bag2 )
uo.useobject( BaGofKeG )

while Exit<>1
UO.DeleteJournal()

UO.FindType( Reg ,-1, 'backpack' )       ;Ишем РЕГИ!
If UO.GetQuantity('finditem')<10 then
UO.FindType( Reg ,'0x0000', Bag )
wait(1000)
UO.Grab('770','finditem')
wait(1000)
Endif

LastTimer=UO.Timer()
UO.DeleteJournal()

UO.UseType(Reg) 
UO.WaitMenu('What','Greater') ;Делаем GH
wait(1000)
If UO.InJournal("You have no") then
   UO.FindType('0x1940','0x0000', BaGofKeG )  ###Ишем кег в сумке
   wait(500)
   uo.grab('1','finditem') ### Кидаем его в пак
   wait(2000)
   UO.UseObject('finditem') #############Залеваем шнягу в кег
   UO.WaitTargetType('0x0F0C')#Type of GH### Кликаем по Бутылки
   wait(1500)
   UO.UseObject('finditem') #############Залеваем шнягу в кег
   UO.WaitTargetObject('backpack')####Кликаем по паку
   wait(1500)
   UO.FindType('0x1940','0x0000','backpack') ### Ишем кег
   wait(500)
   UO.MoveItem('finditem', '1', bag2 ) ###Кидаем его на Бабло!
   wait(1500)
Endif
while NOT UO.InJournal("You put") AND NOT UO.InJournal("Вы смешали") ;ÕÓÉÍÞ
wait(50)
wend
If UO.InJournal("Вы смешали") then
   repeat
   wait(100)
until UO.Timer()>=LastTimer+100
Else
EndIf
wend   
end sub
Last edited by Mguai on 2006-09-16 14:18:04, edited 3 times in total.
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Альтернатива для пинжекта (шард - ZHResurrection [не ZH5] ;) )

Code: Select all

###(c) Der###

# Скрипт для крафта бутылок в кег.
# Пустые кеги хранятся в некотором контейнере (внимание: в скрипте нет проверки на содержимае кега, поэтому
# необходимо чтобы содержимое кега совпадало тем что производите). В процессе производства бутылки должны
# падать именно в БекПак! Как только кег переполняется, скрипт откладывает его в другой контейнер. Скрипт
# выполняется до тех пор пока имеются незаполненные кеги либо кончится рег. В настройках необходимо прописать
# типы, названия менюшек и сообщения вашего шарда. Кол-во строк массива @alch не ограничено.
# Настройка производится переменной $i.

sub main_alc() {

$keg_type=0x1940;           #Тип кега
$mortar=0x0E9B;             #Тип мортиры
$mess1='You stop';          #Сообщение о результате алхимии (такое чтоб учитывало все варианты)
$mess2='is already full';   #Сообщение о том, что кег переполнен

#####################################################################################
#######[qw(Название бутылки в меню алхимии|Тип рега|Тип бутылки)], ##################
@alch=(                                                            ######      ######
       [qw(Greater_Explosion                0x0F8C    0x0F0D)   ], ###### $i=0 ######
       [qw(Greater_Heal                     0x0F85    0x0F0C)   ], ###### $i=1 ######
      );                                                           ##### и т.д. #####
#####################################################################################
# Тут установите продукт:

$i=1;

# Настройка закончена =)
####################################################################################

&wait(1000);

uo::print("Сегодня мы будем делать:");
 for($j=0;$j<3;$j++) {uo::print($alch[$i][$j]);}

uo::canceltarget();
 &wait(1000);

uo::print("Выберите контейнер с пустыми кегами...");
 uo::addobject("kegcont");
  &wait(500);
   while(uo::targeting()) {&wait(250);}

uo::useobject(kegcont);
 &wait(1000);

uo::print("Выберите контейнер для складирования наполненных кегов...");
 uo::addobject("receive_cont");
  &wait(500);
   while(uo::targeting()) {&wait(250);}

uo::findtype($keg_type,-1,kegcont);
 if(uo::findcount()){
  do{
   uo::findtype($keg_type,-1,kegcont);
   uo::grab(0,finditem);
    $keg_cur=uo::getserial(finditem);
     uo::deletejournal();

      until(uo::injournal($mess2)) {     
       uo::deletejournal();
        uo::waitmenu('make',$alch[$i][0]);
         uo::waittargettype($alch[$i][1]);
          uo::usetype($mortar);
           until(uo::injournal($mess1)) {&wait(250);}
            uo::findtype($alch[$i][2],-1,-1);

             if(uo::findcount()) {
              $tmp=uo::findcount();
               uo::waittargetobject(finditem);
                uo::useobject($keg_cur);
                 while(uo::findcount()==$tmp && !uo::injournal($mess2)) {&wait(1000); uo::findtype($alch[$i][2],-1,-1);}
             }

      }

       uo::canceltarget();
        uo::moveitem($keg_cur,0,receive_cont);
         &wait(1000);   

  }while(uo::findcount());
 }
uo::print("Кеги кончились либо контейнер с кегами задан неверно...");
}
DerMeister сейчас на нейрале!
Post Reply