Page 1 of 1

Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 20:14
by Envy
Сегодня, из нескольких найденных на форуме скриптов, слепил нужный мне, но работает он не так как хотелось бы. Задача скрипта - впарить НПЦу инги, чтоб стоимость одной сделки не превышала 50к гп. У чара полный пак различных ингов весом в пару сотен тысяч. Отношение цена/количество я завел в массив. Как сделать, чтоб он продавал только один тип/цвет за раз, а не как сейчас все сразу?
Скрипт

Code: Select all

Program sell_ingots;
{$Include 'all.inc'} 
type toreinfo = record
  name: string;
  qnty: word;
  ingotColor: word;
  ingotType: word;
end;

type tloginfo = record
  name: string;
  color: word;
end;

var
  cnt_gold, i, k : integer; 
  TimeStart : TDateTime;
  oreInfo: array of toreinfo;
  
procedure initingots;

  begin
    setlength(oreInfo, 30);
    oreInfo[0].name :=       'Iron       ';
    oreInfo[0].qnty :=        999;
    oreInfo[0].ingotColor :=  $0000;
    oreInfo[0].ingotType :=   $1BEF;
    ////////////
    oreInfo[1].name :=       'Rusty      ';
    oreInfo[1].qnty :=        999;
    oreInfo[1].ingotColor :=  $0750;
    oreInfo[1].ingotType :=   $1BEF;
    ////////////
    oreInfo[2].name :=       'Old Copper ';
    oreInfo[2].qnty :=        999;
    oreInfo[2].ingotColor :=  $0590;
    oreInfo[2].ingotType :=   $1BEF;
    ////////////
    oreInfo[3].name :=       'Dull Copper';
    oreInfo[3].qnty :=        999;
    oreInfo[3].ingotColor :=  $060A;
    oreInfo[3].ingotType :=   $1BEF;
    ////////////
    oreInfo[4].name :=       'Copper     ';
    oreInfo[4].qnty :=        999;
    oreInfo[4].ingotColor :=  $0000;
    oreInfo[4].ingotType :=   $1BE3;
    ////////////
    oreInfo[5].name :=       'Bronze     ';
    oreInfo[5].qnty :=        999;
    oreInfo[5].ingotColor :=  $0488;
    oreInfo[5].ingotType :=   $1BEF;
    ////////////
    oreInfo[6].name :=       'Silver     ';
    oreInfo[6].qnty :=        999;
    oreInfo[6].ingotColor :=  $0000;
    oreInfo[6].ingotType :=   $1BF5;
    ////////////
    oreInfo[7].name :=       'Gold       ';
    oreInfo[7].qnty :=        999;
    oreInfo[7].ingotColor :=  $0000;
    oreInfo[7].ingotType :=   $1BE9;
    ////////////
    oreInfo[8].name :=       'Shadow     ';
    oreInfo[8].qnty :=        999;
    oreInfo[8].ingotColor :=  $096B;
    oreInfo[8].ingotType :=   $1BEF;
    ////////////
    oreInfo[9].name :=       'Rose       ';
    oreInfo[9].qnty :=        980;
    oreInfo[9].ingotColor :=  $0014;
    oreInfo[9].ingotType :=   $1BEF;
    ////////////
    oreInfo[10].name :=      'Agapite    ';
    oreInfo[10].qnty :=       735;
    oreInfo[10].ingotColor := $0193;
    oreInfo[10].ingotType :=  $1BEF;
    ////////////
    oreInfo[11].name :=      'Blood rock ';
    oreInfo[11].qnty :=       588;
    oreInfo[11].ingotColor := $04C2;
    oreInfo[11].ingotType :=  $1BEF;
    ////////////
    oreInfo[12].name :=      'Verite     ';
    oreInfo[12].qnty :=       490;
    oreInfo[12].ingotColor := $07D5;
    oreInfo[12].ingotType :=  $1BEF;
    ////////////
    oreInfo[13].name :=      'Valorite   ';
    oreInfo[13].qnty :=       367;
    oreInfo[13].ingotColor := $00CE;
    oreInfo[13].ingotType :=  $1BEF;
    ////////////
    oreInfo[14].name :=      'Mitheril   ';
    oreInfo[14].qnty :=       294;
    oreInfo[14].ingotColor := $052D;
    oreInfo[14].ingotType :=  $1BEF;
    ////////////
    oreInfo[15].name :=      'Black Rock ';
    oreInfo[15].qnty :=       245;
    oreInfo[15].ingotColor := $0455;
    oreInfo[15].ingotType :=  $1BEF;
    ////////////
    oreInfo[16].name :=      'Obsidian   ';
    oreInfo[16].qnty :=       184;
    oreInfo[16].ingotColor := $0028;
    oreInfo[16].ingotType :=  $1BEF;
    ////////////
    oreInfo[17].name :=      'Plutonium  ';
    oreInfo[17].qnty :=       0;
    oreInfo[17].ingotColor := $08AF;
    oreInfo[17].ingotType :=  $1BEF;
    ////////////
    oreInfo[18].name :=      'Dragon     ';
    oreInfo[18].qnty :=       0;
    oreInfo[18].ingotColor := $0085;
    oreInfo[18].ingotType :=  $1BEF;
    ////////////
    oreInfo[19].name :=      'Crystaline ';
    oreInfo[19].qnty :=       0;
    oreInfo[19].ingotColor := $09A4;
    oreInfo[19].ingotType :=  $1BEF;
    ////////////
    oreInfo[20].name :=      'Krynite    ';
    oreInfo[20].qnty :=       0;
    oreInfo[20].ingotColor := $010F;
    oreInfo[20].ingotType :=  $1BEF;
    ////////////
    oreInfo[21].name :=      'Vulcan     ';
    oreInfo[21].qnty :=       0;
    oreInfo[21].ingotColor := $09DA;
    oreInfo[21].ingotType :=  $1BEF;
    ////////////
    oreInfo[22].name :=      'Sand Rock  ';
    oreInfo[22].qnty :=       0;
    oreInfo[22].ingotColor := $008F;
    oreInfo[22].ingotType :=  $1BEF;
    ////////////
    oreInfo[23].name :=      'Blood Crest';
    oreInfo[23].qnty :=       0;
    oreInfo[23].ingotColor := $09EC;
    oreInfo[23].ingotType :=  $1BEF;
    ////////////
    oreInfo[24].name :=      'Steel      ';
    oreInfo[24].qnty :=       0;
    oreInfo[24].ingotColor := $09D3;
    oreInfo[24].ingotType :=  $1BEF;
    ////////////
    oreInfo[25].name :=      'Elvin      ';
    oreInfo[25].qnty :=       0;
    oreInfo[25].ingotColor := $09E6;
    oreInfo[25].ingotType :=  $1BEF;
    ////////////
    oreInfo[26].name :=      'Gorgan     ';
    oreInfo[26].qnty :=       0;
    oreInfo[26].ingotColor := $09F0;
    oreInfo[26].ingotType :=  $1BEF;
    ////////////
    oreInfo[27].name :=      'Acid       ';
    oreInfo[27].qnty :=       0;
    oreInfo[27].ingotColor := $09B9;
    oreInfo[27].ingotType :=  $1BEF;
    ////////////
    oreInfo[28].name :=      'Aqua       ';
    oreInfo[28].qnty :=       0;
    oreInfo[28].ingotColor := $0060;
    oreInfo[28].ingotType :=  $1BEF;
    ////////////
    oreInfo[29].name :=      'Eldar      ';
    oreInfo[29].qnty :=       0;
    oreInfo[29].ingotColor := $0BA7;
    oreInfo[29].ingotType :=  $1BEF;

  end;
  end;

begin 
  initingots; 
  ClearJournal;
  checksave;
  //Продажа ингов.
  addtosystemjournal('Продаем инги');
  SetAutoSellDelay(7);
  for i := 0 to high(oreInfo) do
    AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, oreInfo[i].qnty); 
    repeat
      begin 
        k:=0; 
        cnt_gold := Gold
        checksave;
        UOSay(GetName($004E0C6F)+' sell');
          repeat
            wait(1000);
            k := k + 1;
          until (cnt_gold <> Gold) or (k > 30);
        UOSay('Guards'); 
        wait(5000)
      end;
    until (InJournal('Thou doth posses|You have nothing')<>-1);  

  addtosystemjournal('Успешно!');
end.

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 20:19
by Vizit0r
потому что AutoSell это не ловушка только на один тип, а стек. Ты добавляешь новые, а старые кто удалять будет?
Quantity 0 со старым типом удалит его из стека продажи.

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 20:36
by Envy
Вот сейчас не очень понял. Тоесть, после каждой продажи мне надо обнулять количество? Как-то так?

Code: Select all

 begin
        AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, oreInfo[i].qnty); 
        k:=0; 
        cnt_gold := Gold
        checksave;
        UOSay(GetName($004E0C6F)+' sell');
          repeat
            wait(1000);
            k := k + 1;
          until (cnt_gold <> Gold) or (k > 30);
        UOSay('Guards'); 
        AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0);
        wait(5000)
      end;

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 21:48
by Vizit0r
скрипт не полный, непонятно, что именно в итоге будет.
Но да,

Code: Select all

AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0);
как-то так.

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 22:03
by Envy
скрипт

Code: Select all

Program sell_ingots;
{$Include 'all.inc'} 
type toreinfo = record
  name: string;
  qnty: word;
  ingotColor: word;
  ingotType: word;
end;

type tloginfo = record
  name: string;
  color: word;
end;

var
  cnt_gold, i, k : integer; 
  oreInfo: array of toreinfo;
  
procedure initingots;

  begin
    setlength(oreInfo, 30);
    oreInfo[0].name :=       'Iron       ';
    oreInfo[0].qnty :=        999;
    oreInfo[0].ingotColor :=  $0000;
    oreInfo[0].ingotType :=   $1BEF;
    ////////////
    oreInfo[1].name :=       'Rusty      ';
    oreInfo[1].qnty :=        999;
    oreInfo[1].ingotColor :=  $0750;
    oreInfo[1].ingotType :=   $1BEF;
    ////////////
    oreInfo[2].name :=       'Old Copper ';
    oreInfo[2].qnty :=        999;
    oreInfo[2].ingotColor :=  $0590;
    oreInfo[2].ingotType :=   $1BEF;
    ////////////
    oreInfo[3].name :=       'Dull Copper';
    oreInfo[3].qnty :=        999;
    oreInfo[3].ingotColor :=  $060A;
    oreInfo[3].ingotType :=   $1BEF;
    ////////////
    oreInfo[4].name :=       'Copper     ';
    oreInfo[4].qnty :=        999;
    oreInfo[4].ingotColor :=  $0000;
    oreInfo[4].ingotType :=   $1BE3;
    ////////////
    oreInfo[5].name :=       'Bronze     ';
    oreInfo[5].qnty :=        999;
    oreInfo[5].ingotColor :=  $0488;
    oreInfo[5].ingotType :=   $1BEF;
    ////////////
    oreInfo[6].name :=       'Silver     ';
    oreInfo[6].qnty :=        999;
    oreInfo[6].ingotColor :=  $0000;
    oreInfo[6].ingotType :=   $1BF5;
    ////////////
    oreInfo[7].name :=       'Gold       ';
    oreInfo[7].qnty :=        999;
    oreInfo[7].ingotColor :=  $0000;
    oreInfo[7].ingotType :=   $1BE9;
    ////////////
    oreInfo[8].name :=       'Shadow     ';
    oreInfo[8].qnty :=        999;
    oreInfo[8].ingotColor :=  $096B;
    oreInfo[8].ingotType :=   $1BEF;
    ////////////
    oreInfo[9].name :=       'Rose       ';
    oreInfo[9].qnty :=        980;
    oreInfo[9].ingotColor :=  $0014;
    oreInfo[9].ingotType :=   $1BEF;
    ////////////
    oreInfo[10].name :=      'Agapite    ';
    oreInfo[10].qnty :=       735;
    oreInfo[10].ingotColor := $0193;
    oreInfo[10].ingotType :=  $1BEF;
    ////////////
    oreInfo[11].name :=      'Blood rock ';
    oreInfo[11].qnty :=       588;
    oreInfo[11].ingotColor := $04C2;
    oreInfo[11].ingotType :=  $1BEF;
    ////////////
    oreInfo[12].name :=      'Verite     ';
    oreInfo[12].qnty :=       490;
    oreInfo[12].ingotColor := $07D5;
    oreInfo[12].ingotType :=  $1BEF;
    ////////////
    oreInfo[13].name :=      'Valorite   ';
    oreInfo[13].qnty :=       367;
    oreInfo[13].ingotColor := $00CE;
    oreInfo[13].ingotType :=  $1BEF;
    ////////////
    oreInfo[14].name :=      'Mitheril   ';
    oreInfo[14].qnty :=       294;
    oreInfo[14].ingotColor := $052D;
    oreInfo[14].ingotType :=  $1BEF;
    ////////////
    oreInfo[15].name :=      'Black Rock ';
    oreInfo[15].qnty :=       245;
    oreInfo[15].ingotColor := $0455;
    oreInfo[15].ingotType :=  $1BEF;
    ////////////
    oreInfo[16].name :=      'Obsidian   ';
    oreInfo[16].qnty :=       184;
    oreInfo[16].ingotColor := $0028;
    oreInfo[16].ingotType :=  $1BEF;
    ////////////
    oreInfo[17].name :=      'Plutonium  ';
    oreInfo[17].qnty :=       0;
    oreInfo[17].ingotColor := $08AF;
    oreInfo[17].ingotType :=  $1BEF;
    ////////////
    oreInfo[18].name :=      'Dragon     ';
    oreInfo[18].qnty :=       0;
    oreInfo[18].ingotColor := $0085;
    oreInfo[18].ingotType :=  $1BEF;
    ////////////
    oreInfo[19].name :=      'Crystaline ';
    oreInfo[19].qnty :=       0;
    oreInfo[19].ingotColor := $09A4;
    oreInfo[19].ingotType :=  $1BEF;
    ////////////
    oreInfo[20].name :=      'Krynite    ';
    oreInfo[20].qnty :=       0;
    oreInfo[20].ingotColor := $010F;
    oreInfo[20].ingotType :=  $1BEF;
    ////////////
    oreInfo[21].name :=      'Vulcan     ';
    oreInfo[21].qnty :=       0;
    oreInfo[21].ingotColor := $09DA;
    oreInfo[21].ingotType :=  $1BEF;
    ////////////
    oreInfo[22].name :=      'Sand Rock  ';
    oreInfo[22].qnty :=       0;
    oreInfo[22].ingotColor := $008F;
    oreInfo[22].ingotType :=  $1BEF;
    ////////////
    oreInfo[23].name :=      'Blood Crest';
    oreInfo[23].qnty :=       0;
    oreInfo[23].ingotColor := $09EC;
    oreInfo[23].ingotType :=  $1BEF;
    ////////////
    oreInfo[24].name :=      'Steel      ';
    oreInfo[24].qnty :=       0;
    oreInfo[24].ingotColor := $09D3;
    oreInfo[24].ingotType :=  $1BEF;
    ////////////
    oreInfo[25].name :=      'Elvin      ';
    oreInfo[25].qnty :=       0;
    oreInfo[25].ingotColor := $09E6;
    oreInfo[25].ingotType :=  $1BEF;
    ////////////
    oreInfo[26].name :=      'Gorgan     ';
    oreInfo[26].qnty :=       0;
    oreInfo[26].ingotColor := $09F0;
    oreInfo[26].ingotType :=  $1BEF;
    ////////////
    oreInfo[27].name :=      'Acid       ';
    oreInfo[27].qnty :=       0;
    oreInfo[27].ingotColor := $09B9;
    oreInfo[27].ingotType :=  $1BEF;
    ////////////
    oreInfo[28].name :=      'Aqua       ';
    oreInfo[28].qnty :=       0;
    oreInfo[28].ingotColor := $0060;
    oreInfo[28].ingotType :=  $1BEF;
    ////////////
    oreInfo[29].name :=      'Eldar      ';
    oreInfo[29].qnty :=       0;
    oreInfo[29].ingotColor := $0BA7;
    oreInfo[29].ingotType :=  $1BEF;

  end;

begin 
  initingots; 
  ClearJournal;
  checksave;  
  for i := 0 to high(oreInfo) do
  AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0);
  //Продажа ингов.
  addtosystemjournal('Продаем инги');
  SetAutoSellDelay(7);
    repeat
      for i := 0 to high(oreInfo) do
      AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, oreInfo[i].qnty); 
      begin 
        k:=0; 
        cnt_gold := Gold
        checksave;
        UOSay(GetName($004E0C6F)+' sell');
          repeat
            wait(1000);
            k := k + 1;
          until (cnt_gold <> Gold) or (k > 30);
        UOSay('Guards'); 
        wait(5000)
      end; 
      for i := 0 to high(oreInfo) do
      AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0); 
    until (InJournal('Thou doth posses|You have nothing')<>-1);  

  addtosystemjournal('Успешно!');
end.
Продал, но снова все инги

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 22:11
by Vizit0r
ад какой-то.

Code: Select all

begin 
  initingots; 
  ClearJournal;
  checksave;  
  for i := 0 to high(oreInfo) do
  AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0);
  //Продажа ингов.
  addtosystemjournal('Продаем инги');
  SetAutoSellDelay(7);
  for i := 0 to high(oreInfo) do
  begin
    AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, oreInfo[i].qnty); 
    repeat
        k:=0; 
        cnt_gold := Gold
        checksave;
        UOSay(GetName($004E0C6F)+' sell');
          repeat
            wait(1000);
            k := k + 1;
          until (cnt_gold <> Gold) or (k > 30);
        UOSay('Guards'); 
        wait(5000)
    until (InJournal('Thou doth posses|You have nothing')<>-1);  
    AutoSell(oreInfo[i].ingotType, oreInfo[i].ingotColor, 0); 
  end;
  addtosystemjournal('Успешно!');
end.
и кстати репит-антил работает как пара бегин-енд, так что можно внутри их не пихать.

Re: Помогите! Продажа инготов НПЦ

Posted: 19.02.2015 22:23
by Envy
Теперь он, гад, продает только айрон и снова зацикливается. Не переходит к остальным цветам..

Re: Помогите! Продажа инготов НПЦ

Posted: 20.02.2015 21:28
by Envy
Не знаю что делать... То он продает все, то только айрон, то вообще не продает. Неужели придется для каждого из видов руды делать отдельную процедуру продажи? Этож тексту как "Война и мир" :(

Re: Помогите! Продажа инготов НПЦ

Posted: 21.02.2015 16:17
by Vizit0r
в асю или скайп стукнись к мне, гляну

Re: Помогите! Продажа инготов НПЦ

Posted: 21.02.2015 22:59
by Envy
Кароч, запарился я с этой кухнЁй! Никогда не любил массивы..
Пошел по пути наименьшего сопротивления и явил сее чудо:
Скрипт

Code: Select all

Program sell_ing;
{$Include 'all.inc'} 
var
  cnt_gold, k : integer; 
procedure iron;
   begin  
   while FindTypeEx($1BEF,$0000,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0000,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0000,0);
    end; 
  end;
   
procedure rusty;
   begin  
   while FindTypeEx($1BEF,$0750,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0750,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0750,0);
    end; 
  end;  
  
procedure oldcopper;
   begin  
   while FindTypeEx($1BEF,$0590,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0590,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0590,0);
    end; 
  end;  
  
procedure dullcopper;
   begin 
   while FindTypeEx($1BEF,$060A,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$060A,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$060A,0);
    end; 
  end;   
  
procedure copper;
   begin  
   while FindTypeEx($1BE3,$0000,backpack,false) > 0 do
    begin
       AutoSell($1BE3,$0000,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BE3,$0000,0);
    end; 
  end;  
  
procedure bronze;
   begin  
   while FindTypeEx($1BEF,$0488,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0488,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0488,0);
    end; 
  end;     
  
procedure silver;
   begin  
   while FindTypeEx($1BF5,$0000,backpack,false) > 0 do
    begin
       AutoSell($1BF5,$0000,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BF5,$0000,0);
    end; 
  end;  
  
procedure golden;
   begin  
   while FindTypeEx($1BE9,$0000,backpack,false) > 0 do
    begin
       AutoSell($1BE9,$0000,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BE9,$0000,0);
    end; 
  end; 
  
procedure shadow;
   begin  
   while FindTypeEx($1BEF,$096B,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$096B,999); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$096B,0);
    end; 
  end;  
  
procedure rose;
   begin  
   while FindTypeEx($1BEF,$0014,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0014,980); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0014,0);
    end; 
  end;    
  
procedure agapite;
   begin  
   while FindTypeEx($1BEF,$0193,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$0193,735); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$0193,0);
    end; 
  end;    
  
procedure bloodrock;
   begin  
   while FindTypeEx($1BEF,$04C2,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$04C2,588); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$04C2,0);
    end; 
  end;           
  
procedure verite;
   begin  
   while FindTypeEx($1BEF,$07D5,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$07D5,490); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000)
    AutoSell($1BEF,$07D5,0);
    end; 
  end;                   
  
procedure valorite;
   begin  
   while FindTypeEx($1BEF,$00CE,backpack,false) > 0 do
    begin
       AutoSell($1BEF,$00CE,367); 
           k:=0; 
           cnt_gold := Gold
           checksave;
           UOSay(GetName($004E0C6F)+' sell');
             repeat
               wait(1000);
               k := k + 1;
             until (cnt_gold <> Gold) or (k > 30);
           UOSay('Guards'); 
           wait(2000) 
    AutoSell($1BEF,$00CE,0);
    end; 
  end;      
  
  
  
  
  
begin 
addtosystemjournal('Продаем инги');
ClearJournal;
SetAutoSellDelay(3);
iron;
rusty;
oldcopper;
dullcopper;
copper;
bronze;
silver;
golden;
shadow;
rose;
agapite;
bloodrock;
verite;
valorite;
addtosystemjournal('Успешно!');
end.
Вид, конечно, не тот, что задумывал изначально, но полностью функционирует и, главное - работает так, как я хотел!
Всем спасибо!