Page 1 of 1

Daggers for DRW

Posted: 15.07.2008 16:19
by v26RuS
Скриптик на ковку дагеров с разных руд тест прошел нормально
Некоторые функции и алгаритмы позаимствованы у Scripts Writer

Code: Select all

Program color_daggers;
// (c) v26RuS (Galiano{ASTARTA} DRW)
{$Include 'all.inc'} 

const
rmax = 12;
Cnt=$403FED23; //Сундук с ингами
Container=$404261A5; //Сундук с ингами
Containerb=$40325D14; //Сундук с багами
Unload=$404D54D9; //Куда все кидать
CountIng=400; // Сколько ингов брать
bag=$0E76; //Тип бага
dagger=$0F51; //Тип дагера


type 
in_rail = array[1..rmax] of String;
i_rail = array[1..rmax] of Integer;

var
ColorIng,TypeIng : i_rail;
NameIng : in_rail;
i, l : Integer;
Flag1 : Boolean;  
k : integer;
TimeStart : TDateTime;
dagger_bag : Cardinal; 


procedure Ruda_int;
begin
NameIng[1]:=' ';
NameIng[2]:='Rusty ';
NameIng[3]:='Old Copper ';
NameIng[4]:='Dull Copper ';
NameIng[5]:='Copper ';
NameIng[6]:='Bronze ';
NameIng[7]:='Silver ';
NameIng[8]:='Shadow ';
NameIng[9]:='Agapite ';
NameIng[10]:='Rose ';
NameIng[11]:='Blood Rock ';
NameIng[12]:='Verite ';


ColorIng[1]:=$0000;
ColorIng[2]:=$0750;
ColorIng[3]:=$0590;
ColorIng[4]:=$060A;
ColorIng[5]:=$FFFF;
ColorIng[6]:=$0488;
ColorIng[7]:=$0000;
ColorIng[8]:=$096B;
ColorIng[9]:=$0193;
ColorIng[10]:=$0014;
ColorIng[11]:=$04C2;
ColorIng[12]:=$07D5;

TypeIng[1]:=$1BEF;
TypeIng[2]:=$1BEF;
TypeIng[3]:=$1BEF;
TypeIng[4]:=$1BEF;
TypeIng[5]:=$1BE3;
TypeIng[6]:=$1BEF;
TypeIng[7]:=$1BF5;
TypeIng[8]:=$1BEF;
TypeIng[9]:=$1BEF;
TypeIng[10]:=$1BEF;
TypeIng[11]:=$1BEF;
TypeIng[12]:=$1BEF;

AddToSystemJournal('Загружена руда');
end;

procedure Check_dagger; 
 begin 
   FindType(dagger,Backpack); 
   if FindCount>0 then 
     begin 
       while FindCount <> 0 do 
         begin 
           l:=l+1; 
           MoveItem(FindItem,1,dagger_bag,0,0,0); 
           wait(500); 
           FindType(dagger,Backpack); 
         end; 
     end; 
 end;

procedure Get_Bag; 
 begin 
   FindType(Bag,Backpack); 
   if FindCount=0 then 
     begin 
       UseObject(cnt); 
       wait(500); 
       UseObject(Containerb); 
       wait(1000); 
       FindType(Bag,Containerb); 
       if FindCount>0 then 
         begin 
           MoveItem(FindItem,1,Backpack,0,0,0); 
           wait(1000); 
           UseObject(FindItem); 
           wait(1000); 
         end 
     end    
   dagger_bag:=FindType(Bag,Backpack); 
 end; 

procedure Check_Last_Bag; 
  begin 
    FindType(Bag,Backpack); 
    if FindCount>0 then 
      begin 
        UseObject(FindItem); 
        wait(500) 
        dagger_bag:=FindType(Bag,Backpack);  
        FindType(dagger,dagger_bag); 
        l:=FindCount; 
        AddToSystemJournal('В мешке '+IntToStr(l)+' daggers.'); 
      end 
  end;  

procedure Out_Bag; 
 begin 
   UseObject(Cnt); 
   wait(500); 
   FindType(Bag,Backpack); 
   if FindCount>0 then 
     begin 
       MoveItem(FindItem,1,Unload,0,0,0); 
       wait(1000) 
     end 
 end; 

procedure Checkrd(TypeIngs,ColorIngs: Integer; NameIngs :  String); 
 begin 
  FindTypeEx(TypeIngs,ColorIngs,Backpack,False);
  if (FindCount=0) OR (GetQuantity(FindItem)<5) then 
    begin 
      AddToSystemJournal('Добираем инги.') 
      UseObject(cnt); 
      wait(500); 
      UseObject(Container); 
      wait(1000); 
      FindTypeEx(TypeIngs,ColorIngs,Container,False); 
      if (FindCount>0) and (GetQuantity(FindItem)>10) then 
        begin 
          MoveItem(FindItem,CountIng,Backpack,0,0,0); 
          wait(1000); 
          AddToSystemJournal('Добрали '+IntToStr(CountIng)+' '+NameIngs+'. На данный момент имеем '+IntToStr(Count(TypeIngs))+' штук. Осталось ещё '+IntToStr(CountEx(TypeIngs,ColorIngs,Container))+' '+NameIngs+'. l='+IntToStr(l));
        end 
      else 
        AddToSystemJournal('Ошибка во время добора '+NameIngs); 
        Flag1 := false;
        exit; 
    end 
   FindType(TypeIngs,Ground); 
   if FindCount>0 then 
     begin 
       MoveItem(FindItem,0,Container,0,0,0); 
       wait(500); 
     end 

 end; 




Begin

 Ruda_int;
 for i:= 1 to 11 do
 begin
  AddToSystemJournal(IntToStr(i)+' руда '+NameIng[i]);
 UseObject(cnt); 
 wait(1000); 
 UseObject(Container);
 wait(1000);
  FindTypeEx(TypeIng[i],ColorIng[i],Container,false);
  if (FindCount > 0) AND (CountEx(TypeIng[i],ColorIng[i],Container) > 10) then
  begin
   CancelMenu;
   if i = 1 then
   begin
    AutoMenu('Blacksmithing','Weapons');
    wait(200);
    AutoMenu('Weapons','Swords');
    wait(200);
    AutoMenu('Swords','dagger');
   end;
   if i > 1 then
   begin
    AutoMenu('Blacksmithing','Colored');
    wait(200);
    AutoMenu('Colored',NameIng[i]+'Weapons');
    wait(200);
    AutoMenu(NameIng[i]+'Weapons',NameIng[i]+'Swords');
    wait(200);
    AutoMenu(NameIng[i]+'Swords',NameIng[i]+'Dagger');
   end;
   AddToSystemJournal('Делаем дагеры из: '+NameIng[i]);
   Flag1 := true;
  repeat
   Check_Last_Bag;
   Get_bag;
   Checkrd(TypeIng[i],ColorIng[i],NameIng[i]);
   checksave;
   TimeStart:=Now; 
   k:=0;
   UseObject(FindTypeEx(TypeIng[i],ColorIng[i],backpack,false));
   repeat
    wait(500);
    k := k + 1; 
    checksave;
  until (InJournalBetweenTimes('You put|failed', TimeStart, Now)<>-1) or (k > 50); 

  wait(200);

  if InJournalBetweenTimes('You put|failed', TimeStart, Now)<>-1 then
  begin
   Check_dagger;
  end;

  if l=255 then
  begin
   l:=0;
   Out_Bag;
  end;
  until Flag1 = false;
wait(3000);
  end;
 end;

End.

Posted: 15.07.2008 18:20
by Unholy
ГЫ! Сейчас у меня стоит 4 левача крафтят неклассы...
У соседа випка (он треш по селл стоуну продает, договорились что я его буду выносить и покупать как по стоуну)
Теперь будет еще 2 левача которые будут крафтить даггеры))) Круть)))

За скрипт Грейт спс!

Posted: 15.07.2008 18:23
by Unholy
вот только проблемка одна есть... Пот ДРВ!

Вообщем вот такой-же скрипт под инжу! Сам розберешься почему этот работать не будет (точнее будет но не корректно)

Code: Select all

###############################################################################
#
#   В сундуке 1 должна лежать руда от расти до агапита и круглые сумки
#   В сундук 2 будут сбрасываться полные мешки.
#   Можно чтоб сумка уже была в бек паке.
#
###############################################################################
var a, ruda, color, dager, z
sub main()


z=0
uo.Exec('addobject sunduk')
wait(200)
while uo.Targeting()
wait(100)
wend
uo.Exec('addobject sunduk2')
wait(200)
while uo.Targeting()
wait(100)
wend
uo.deletejournal()
uo.useobject('sunduk')
wait(500)
uo.useobject('sunduk2')
wait(500)
if uo.getquantity('^0x0E76')>0 then
uo.addobject('sumka','backpack.0x0E76')
uo.useobject('sumka')
wait(500)
endif
uo.findtype('0x1BEF','0x0750','sunduk')
if uo.getquantity('finditem')>0 then
a=0
else
uo.findtype('0x1BEF','0x0590','sunduk')
if uo.getquantity('finditem')>0 then
a=1
else
uo.findtype('0x1BEF','0x060A','sunduk')
if uo.getquantity('finditem')>0 then
a=2
else
uo.findtype('0x1BE3','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=3
else
uo.findtype('0x1BEF','0x0488','sunduk')
if uo.getquantity('finditem')>0 then
a=4
else
uo.findtype('0x1BF5','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=5
else
uo.findtype('0x1BE9','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=6
else
uo.findtype('0x1BEF','0x096B','sunduk')
if uo.getquantity('finditem')>0 then
a=7
else
uo.findtype('0x1BEF','0x1BEF','sunduk')
if uo.getquantity('finditem')>0 then ;===========
a=8
else
uo.findtype('0x1BEF','0x0193','sunduk')
if uo.getquantity('finditem')>0 then
a=9
else
a=10
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif
while uo.str<2000

;Agapite  ####################################################
if a==9 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BEF 
color = 0x0193
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Agapite Weapons')
uo.automenu('Agapite Weapons','Agapite Swords & Blades')
uo.automenu('Agapite Swords & Blades','Agapite Dagger (3 Agapite)')
endif


;Rose  #######################################################
if a==8 and z==0 then  ;=============
z=1
uo.cancelmenu()
ruda = 0x1BEF       
color = 0x1BEF                                     ;=============
uo.automenu()
uo.automenu()
uo.automenu()
endif


;Shadow  #####################################################
if a==7 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BEF   
color = 0x096B
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Shadow Weapons')
uo.automenu('Shadow Weapons','Shadow Swords & Blades')
uo.automenu('Shadow Swords & Blades','Shadow Dagger (3 Shadow In')
endif


;Gold  #######################################################
if a==6 and z==0 then 
z=1
uo.cancelmenu()
ruda = 0x1BE9     
color = 0x0000         
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Gold Weapons')
uo.automenu('Gold Weapons','Gold Swords & Blades')
uo.automenu('Gold Swords & Blades','Golden Dagger (3 gold ingot')
endif


;Silver  #####################################################
if a==5 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BF5     
color = 0x0000                         
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Silver Weapons')
uo.automenu('Silver Weapons','Silver Swords & Blades')
uo.automenu('Silver Swords & Blades','Silver Dagger (3 silver ingot)')
endif


;Bronza  #####################################################
if a==4 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BEF     
color = 0x0488                                     
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Bronze Weapons')
uo.automenu('Bronze Weapons','Bronze Swords & Blades')
uo.automenu('Bronze Swords & Blades','Bronze Dagger (3 Bronze Ing')
endif


;Copper  #####################################################
if a==3 and z==0 then 
z=1
uo.cancelmenu()
ruda = 0x1BE3   
color = 0x0000
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Copper Weapons')
uo.automenu('Copper Weapons','Copper Swords & Blades')
uo.automenu('Copper Swords & Blades','Copper Dagger')
endif


;Dull Copper  ################################################
if a==2 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BEF     
color = 0x060A
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Dull Copper Weapons')
uo.automenu('Dull Copper Weapons','Dull Copper Swords & Blades')
uo.automenu('Dull Copper Swords & Blades','Dull Copper Dagger (3 Dull Co')
endif


;Old copper  #################################################
if a==1 and z==0 then 
z=1
uo.cancelmenu()
ruda = 0x1BEF   
color = 0x0590 
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Old Copper Weapons')
uo.automenu('Old Copper Weapons','Old Copper Swords & Blades')
uo.automenu('Old Copper Swords & Blades','Old Copper Dagger (3 Old Cop')
endif



;Rusty  ######################################################
if a==0 and z==0 then
z=1
uo.cancelmenu()
ruda = 0x1BEF
color = 0x0750
uo.automenu('Blacksmithing','Colored Armor & Weapons')
uo.automenu('Colored Armor & Weapons','Rusty Weapons')
uo.automenu('Rusty Weapons','Rusty Swords & Blades')
uo.automenu('Rusty Swords & Blades','Rusty Dagger (3 Rusty Ingot)')
endif


if a==10 and z==0 then
uo.print('Konchilas ruda......')
uo.exec('terminate main')
endif

container()
tovar()
wait(500)
uo.usetype(ruda)
while  not uo.injournal('your pack.') and not uo.injournal('have failed')
wait(1000)
wend
uo.deletejournal()
ypakovka()
sbros()
tovar()
wend
endsub

Sub container()
if uo.getquantity('^0x0E76')==0 then
uo.addobject('sumka','sunduk.0x0E76')
uo.grab('0','sumka')
uo.useobject('sumka')
endif
endsub

Sub tovar()
uo.findtype(ruda,color)
if uo.getquantity('finditem')<10 then
wait(1000)
uo.findtype(ruda,color,'sunduk')
if uo.getquantity('finditem')==0 then
uo.findtype(ruda,color)
uo.moveitem('finditem','0','sumka')



uo.findtype('0x1BEF','0x0750','sunduk')
if uo.getquantity('finditem')>0 then
a=0
else
uo.findtype('0x1BEF','0x0590','sunduk')
if uo.getquantity('finditem')>0 then
a=1
else
uo.findtype('0x1BEF','0x060A','sunduk')
if uo.getquantity('finditem')>0 then
a=2
else
uo.findtype('0x1BE3','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=3
else
uo.findtype('0x1BEF','0x0488','sunduk')
if uo.getquantity('finditem')>0 then
a=4
else
uo.findtype('0x1BF5','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=5
else
uo.findtype('0x1BE9','0x0000','sunduk')
if uo.getquantity('finditem')>0 then
a=6
else
uo.findtype('0x1BEF','0x096B','sunduk')
if uo.getquantity('finditem')>0 then
a=7
else
uo.findtype('0x1BEF','0x1BEF','sunduk')
if uo.getquantity('finditem')>0 then ;===========
a=8
else
uo.findtype('0x1BEF','0x0193','sunduk')
if uo.getquantity('finditem')>0 then
a=9
else
a=10
endif
endif
endif
endif
endif
endif
endif
endif
endif
endif



;a=a+1
z=0
wait(1000)
else
uo.moveitem('finditem','200')
wait(1000)
endif
endif
endsub

Sub ypakovka()
if uo.getquantity('^0x0F51')>0 then
uo.moveitem('^0x0F51','0','sumka')
wait(500)
endif
endsub

Sub sbros()
if uo.Count('0x0F51')>253 then
wait(1000)
uo.moveitem('sumka','0','sunduk2')
wait(1000)
endif
endsub

sub otkl()
uo.cancelmenu()
endsub 
Ты его тестил? (так чтоб кинуть кучу мешочков, все виды трей айрона...

Вот ссылка на крафт даггеров ТОЛЬКО из расти
http://stealth.od.ua/forum/viewtopic.php?t=1079

Posted: 15.07.2008 19:37
by Scripts Writer
Unholy wrote: Вот ссылка на крафт даггеров ТОЛЬКО из расти
http://stealth.od.ua/forum/viewtopic.php?t=1079
Там могут наблюдаться глюки, так что использовать тот скрипт только на свой страх и риск,-но это в меньшей степени связано с логикой работы скрипта, я надеюсь.

Что касается цветных, то в планах было изменить, но как то руки не дошли. Надеюсь автор темы справится с сей задачей ;)

Posted: 15.07.2008 20:24
by v26RuS
Scripts Writer wrote:
Unholy wrote: Вот ссылка на крафт даггеров ТОЛЬКО из расти
http://stealth.od.ua/forum/viewtopic.php?t=1079
Там могут наблюдаться глюки, так что использовать тот скрипт только на свой страх и риск,-но это в меньшей степени связано с логикой работы скрипта, я надеюсь.

Что касается цветных, то в планах было изменить, но как то руки не дошли. Надеюсь автор темы справится с сей задачей ;)
Я имелл ввиду что брал некоторые функции и алгаритмы проверки со скрипта на тинкер. А Данный скрипт на дагеры честно сказать я вообще не видел)

Posted: 16.07.2008 12:32
by Unholy
v26RuS wrote:
Scripts Writer wrote:
Unholy wrote: Вот ссылка на крафт даггеров ТОЛЬКО из расти
http://stealth.od.ua/forum/viewtopic.php?t=1079
Там могут наблюдаться глюки, так что использовать тот скрипт только на свой страх и риск,-но это в меньшей степени связано с логикой работы скрипта, я надеюсь.

Что касается цветных, то в планах было изменить, но как то руки не дошли. Надеюсь автор темы справится с сей задачей ;)
Я имелл ввиду что брал некоторые функции и алгаритмы проверки со скрипта на тинкер. А Данный скрипт на дагеры честно сказать я вообще не видел)
Ошибка (вернее недоработка) твоего скрипта лишь в том что на разных металлах Разные меню крафта. И их отличия не только в названии руды. но доделать я думаю будет не сложно... Тем более учитывая то что там все через массив сделано.

Posted: 16.07.2008 19:57
by v26RuS
Нова версия скрипта 1.1:
- Внесены некоторые изменения в алгоритм работы скриата
- Исправлены некоторые ошибки

Сам скрипт:

Code: Select all

Program color_daggers;
// (c) v26RuS (Galiano{ASTARTA} DRW) v1.1
{$Include 'all.inc'} 

const
rmax = 12;
Cnt=$403FED23; //Сундук с сундуками
Container=$4001CA81; //Сундук с ингами
Containerb=$40325D14; //Сундук с багами
Unload=$404D54D9; //Куда все кидать
CountIng=400; // Сколько ингов брать
bag=$0E76; //Тип бага
dagger=$0F51; //Тип дагера


type 
in_rail = array[1..rmax] of String;
i_rail = array[1..rmax] of Integer;

var
ColorIng,TypeIng : i_rail;
NameIng : in_rail;
i, l : Integer;
Flag1 : Boolean;  
k : integer;
TimeStart : TDateTime;
dagger_bag : Cardinal; 


procedure Ruda_int;
begin
NameIng[1]:=' ';
NameIng[2]:='Rusty ';
NameIng[3]:='Old Copper ';
NameIng[4]:='Dull Copper ';
NameIng[5]:='Copper ';
NameIng[6]:='Bronze ';
NameIng[7]:='Silver ';
NameIng[8]:='Shadow ';
NameIng[9]:='Agapite ';
NameIng[10]:='Rose ';
NameIng[11]:='Blood Rock ';
NameIng[12]:='Verite ';


ColorIng[1]:=$0000;
ColorIng[2]:=$0750;
ColorIng[3]:=$0590;
ColorIng[4]:=$060A;
ColorIng[5]:=$FFFF;
ColorIng[6]:=$0488;
ColorIng[7]:=$0000;
ColorIng[8]:=$096B;
ColorIng[9]:=$0193;
ColorIng[10]:=$0014;
ColorIng[11]:=$04C2;
ColorIng[12]:=$07D5;

TypeIng[1]:=$1BEF;
TypeIng[2]:=$1BEF;
TypeIng[3]:=$1BEF;
TypeIng[4]:=$1BEF;
TypeIng[5]:=$1BE3;
TypeIng[6]:=$1BEF;
TypeIng[7]:=$1BF5;
TypeIng[8]:=$1BEF;
TypeIng[9]:=$1BEF;
TypeIng[10]:=$1BEF;
TypeIng[11]:=$1BEF;
TypeIng[12]:=$1BEF;

AddToSystemJournal('Загружена руда');
end;

procedure Check_dagger; 
 begin 
   FindType(dagger,Backpack); 
   if FindCount>0 then 
     begin 
       while FindCount <> 0 do 
         begin 
           l:=l+1; 
           MoveItem(FindItem,1,dagger_bag,0,0,0); 
           wait(500); 
           FindType(dagger,Backpack); 
         end; 
     end; 
 end;

procedure Get_Bag; 
 begin 
   FindType(Bag,Backpack); 
   if FindCount=0 then 
     begin 
       UseObject(cnt); 
       wait(500); 
       UseObject(Containerb); 
       wait(1000); 
       FindType(Bag,Containerb); 
       if FindCount>0 then 
         begin 
           MoveItem(FindItem,1,Backpack,0,0,0); 
           wait(1000); 
           UseObject(FindItem); 
           wait(1000); 
         end 
     end    
   dagger_bag:=FindType(Bag,Backpack); 
 end; 

procedure Check_Last_Bag; 
  begin 
    FindType(Bag,Backpack); 
    if FindCount>0 then 
      begin 
        UseObject(FindItem); 
        wait(500) 
        dagger_bag:=FindType(Bag,Backpack);  
        FindType(dagger,dagger_bag); 
        l:=FindCount; 
        AddToSystemJournal('В мешке '+IntToStr(l)+' daggers.'); 
      end 
  end;  

procedure Out_Bag; 
 begin 
   UseObject(Cnt); 
   wait(500); 
   FindType(Bag,Backpack); 
   if FindCount>0 then 
     begin 
       MoveItem(FindItem,1,Unload,0,0,0); 
       wait(1000) 
     end 
 end; 

procedure Checkrd(TypeIngs,ColorIngs: Integer; NameIngs :  String); 
 begin 
  FindTypeEx(TypeIngs,ColorIngs,Backpack,False);
  if (FindCount=0) OR (GetQuantity(FindItem)<3) then 
    begin 
      AddToSystemJournal('Добираем инги.') 
      UseObject(cnt); 
      wait(500); 
      UseObject(Container); 
      wait(1000); 
      FindTypeEx(TypeIngs,ColorIngs,Container,False); 
      if (FindCount>0) and (GetQuantity(FindItem)>3) then 

        begin 
          MoveItem(FindItem,CountIng,Backpack,0,0,0); 
          wait(1000); 
          AddToSystemJournal('Добрали '+IntToStr(CountIng)+' '+NameIngs+'. На данный момент имеем '+IntToStr(CountEx(TypeIngs,ColorIngs,backpack))+' штук. Осталось ещё '+IntToStr(CountEx(TypeIngs,ColorIngs,Container))+' '+NameIngs+'. l='+IntToStr(l));
	  exit;
      end;

      FindType(TypeIngs,Backpack); 
      if FindCount > 0 then
      begin
      MoveItem(FindItem,0,Container,0,0,0); 
      end;
        AddToSystemJournal('Закончилась руда: '+NameIngs); 
        Flag1 := false;
        exit; 

 
  end;
   FindType(TypeIngs,Ground); 
   if FindCount>0 then 
     begin 
       MoveItem(FindItem,0,Container,0,0,0); 
       wait(500); 
     end 

 end; 




Begin

 Ruda_int;
 for i:= 1 to 12 do
 begin
  AddToSystemJournal(IntToStr(i)+' руда '+NameIng[i]);
 UseObject(cnt); 
 wait(1000); 
 UseObject(Container);
 wait(1000);
  FindTypeEx(TypeIng[i],ColorIng[i],Container,false);
  if (FindCount > 0) AND (CountEx(TypeIng[i],ColorIng[i],Container) > 3) then
  begin
   CancelMenu;
   if i = 1 then
   begin
    AutoMenu('Blacksmithing','Weapons');
    AutoMenu('Weapons','Swords');
    AutoMenu('Swords','dagger');
   end;
   if i > 1 then
   begin
    AutoMenu('Blacksmithing','Colored');
    AutoMenu('Colored',NameIng[i]+'Weapons');
    AutoMenu(NameIng[i]+'Weapons',NameIng[i]+'Swords');
    AutoMenu(NameIng[i]+'Swords',NameIng[i]+'Dagger');
   end;
   AddToSystemJournal('Делаем дагеры из: '+NameIng[i]);
   Flag1 := true;
  repeat
   Check_Last_Bag;
   Get_bag;
   if(CountEx(TypeIng[i],ColorIng[i],backpack)<3) then
   begin
   Checkrd(TypeIng[i],ColorIng[i],NameIng[i]);
   end;
   checksave;
   TimeStart:=Now; 
   k:=0;
 if Flag1 = true then
 begin
   UseObject(FindTypeEx(TypeIng[i],ColorIng[i],backpack,false));
   repeat
    wait(500);
    k := k + 1; 
    checksave;
  until (InJournalBetweenTimes('You put|failed', TimeStart, Now)<>-1) or (k > 50); 

  wait(200);

  if InJournalBetweenTimes('You put', TimeStart, Now)<>-1 then
  begin
   Check_dagger;
  end;

  if l=255 then
  begin
   l:=0;
   Out_Bag;
  end;
  end;
  until Flag1 = false;
wait(3000);
  end;
 end;

End.

Posted: 22.07.2008 17:29
by RaTaMaHaTTa
Делал из Роуза и Агапида так временами делались не кортики а какието куски из кольчужной брони )

Posted: 26.07.2008 7:00
by v26RuS
a konkretney kakie imenno kuski mogesh napisat?

Posted: 27.07.2008 20:09
by Edred
Позвольте поинтересоваться, а зачем между командами Automenu натырканы паузы? Настоятельно рекомендую автору скрипта разобраться что же все-таки это такое: ловушка на меню. Это совсем не клики мышкой для которых могут паузы потребоваться. Вообще, первый раз в жизни такую конструкцию увидел! Честно...

И еще. Если хочется поместить лог на форум - пожалуйста, контролируйте кодировку текста этого лога. А простыни с кракозябрами на форум вывешивать не надо.

Posted: 28.07.2008 7:41
by RaTaMaHaTTa
v26RuS wrote:a konkretney kakie imenno kuski mogesh napisat?
Да делал из Агапида, блудрока и когда например скрипт вырубаю всегда в паке был топор один Axe[12ingot] он в меню после ехикутиона.
огда заходиш через инжект проверить у всех чаров всегда один топор. Не разу не было 2 ) Кстате вот задержка на automenu может и проблема потомучто видно что в определённый момент збивается на топор).МОжет незнаю во время сейва. Надо смореть через логи.
А нашёт кусков так это было с роузом , силвером.
и делались плечи changmail.