Page 1 of 1

Помогите с переплавкой

Posted: 20.04.2012 12:42
by alpi

Code: Select all

Program pereplavka_itemov;

const 
pechka=$400B35A1;
plavit=$0F51; //ID predmeta dlya pereplavki
tip_symki=$0E76;
sumka_s_predmetami=$40133D92;
sumka_dlya_sumok_i_ingotov=$40224BBB;

var ingot: array[0..3] of word;
i,kol_predm:byte;
predm,sumka:cardinal;

begin

ingot[0]:=$1BE9;     
ingot[1]:=$1BE3;     
ingot[2]:=$1BF5;      
ingot[3]:=$1BEF;       
    
  UseObject(sumka_s_predmetami);
 
 while not dead do 
 begin
AddToSystemJournal('Начало макроса');
   FindType(tip_symki,backpack);
    if findcount > 0 then
     begin AddToSystemJournal('В бекпаке найдена сумка');
      sumka:=FindType(tip_symki,backpack); wait(2000);
      UseObject(sumka); 
       while FindType(plavit,sumka) > 0 do
         begin      AddToSystemJournal('Найдены предметы для переплавки');
          predm:=FindType(plavit,sumka);
           moveitem(predm,1,backpack,0,0,500);
            UseObject(pechka);
             WaitTargetObject(FindType(plavit,backpack));
              wait(2000);
         end;
       if FindType(plavit,sumka) = 0 then 
        begin
         AddToSystemJournal('Убираю пустую сумку');
          moveitem(sumka,1,sumka_dlya_sumok_i_ingotov,0,0,500);
           for i:=0 to 3 do
            begin
             FindType(ingot[i],backpack);
              if findcount > 0 then moveitem(finditem,findcount,sumka_dlya_sumok_i_ingotov,0,0,500);
              wait(1000);
              AddToSystemJournal('Перемещаю инготы в сундук');   
            end;
        end;
       Ignore(sumka);
     end
    else 
    begin  AddToSystemJournal('Попытка добрать сумку с предметами'); 
      if GetQuantity(FindType(tip_symki,sumka_s_predmetami)) > 0 then begin AddToSystemJournal('Перемещаю сумку');
       moveitem(FindType(tip_symki,sumka_s_predmetami),1,backpack,0,0,500); wait(1000);end 
      else AddToSystemJournal('Закончились сумки с предметами');
    end;
 end;
end.
Кидает сумку с кинжалами в пак, открывает, тут же выкидывает полную сумку в контейнер для пустых, и не перемещает инготы.
чяднт ??? уже мозг сломал, раз 10 переписывал. после того как добавил вейт после открытия сумки - переплавил одну сумку, после этого скинул ее в контейнер, инготы при этом не переместил, и со следующего круга начал просто перекидывать сумки, не пытаясь что-либо найти и зайти в while...

Re: Помогите с переплавкой

Posted: 20.04.2012 14:09
by nepopus
попробуй разобраться с finditem, возвращаемым значением у findtype и позаботься от открытых сумках, прежде чем в них искать(включая бекпак). Ожидание, после открытия контейнера, должно быть обязательно.

Re: Помогите с переплавкой

Posted: 20.04.2012 15:31
by alpi
спасибо за совет, переделал циклы, добавил задержку при открытии сумки - все зашуршало.