Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Forest Wars - Blacksmithy

Only working scripts
Post Reply
Scripts Writer
Novice
Novice
Posts: 130
Joined: 06.05.2008 18:03

Forest Wars - Blacksmithy

Post by Scripts Writer »

Для шарда Forest Wars, качаем Blacksmithy.

Кушаем, добираем инги, крафтим, выбрасываем вещь в мусорку.
Использование: Встаём около форжи, рядом сундук с инготами и мусорка, на пол бросаем свинку, в руки берём молоток, меняем константы и меню.
Примечание: После того, как измените все константы, не забудьте изменить путь в меню до изделия, в процедуре InitMenu.

Code: Select all

Program Blacksmithing; 
 
{$Include 'all.inc'} 

const
tIngot = $1BEF; // Тип инготов
cIngot = $0000; // Цвет инготов
iCount = 10; // Кол-во инготов, для изготовления вещи
tPig = $09BB; // Тип еды на полу (свинка)
idContainer = $4004AD75; // Сундук с инготами
idTrashCan = $40035305; // Мусорка
tItem = $0F51; // Тип изготавливаемой вещи
MoveDelay = 750; // Задержка на перемещение
Msg1 = 'переместили'; // Сообщение при крафте
Msg2 = 'fail'; // Сообщение при физле

var
k, eat : Integer;
TimeStart : TDateTime;

// Кушаем каждые 100 попыток крафта. Свинку на пол
procedure CheckHungry;
  begin
    eat := eat + 1;
    if (eat > 100) then
      begin
        eat := 0;
        if GetQuantity(FindType(tPig, Ground)) > 0 then
          begin  
            UseObject(FindItem);
          end
        else
          begin
            AddToSystemJournal('Свинки кончились.');
          end;
      end;
  end;

// Возвращаем инги в сундук
procedure ClearIngot;
  begin
    if GetQuantity(FindTypeEx(tIngot, cIngot, Backpack, false)) > 0 then
      begin
        MoveItem(FindItem, 0, idContainer, 0, 0, 0);
        wait(MoveDelay);
      end;
  end;

// Добираем инги  
procedure GetIngot;
  begin
    MoveItem(FindTypeEx(tIngot, cIngot, idContainer, false), iCount, Backpack, 0, 0, 0);
    wait(MoveDelay);
    AddToSystemJournal('Добрали ' + IntToStr(iCount) + ' инготов.'); 
  end;

// Проверяем инги  
procedure CheckIngot;
  begin
    ClearIngot;
    if GetQuantity(FindTypeEx(tIngot, cIngot, Backpack, false)) < iCount then
      begin
        if GetQuantity(FindTypeEx(tIngot, cIngot, idContainer, false)) > 0 then
          begin
            AddToSystemJournal('В сундуке ещё ' + IntToStr(FindFullQuantity) + ' инготов.');
            GetIngot;
          end
        else
          begin
            AddToSystemJournal('В сундуке закончились инги.');
          end; 
      end;
  end;

// Перемещаем скрафченную вещь в мусорку
procedure MoveItemToTrashCan;
  begin
    if FindType(tItem, Backpack) <> 0 then
      begin
        MoveItem(FindItem, 0, idTrashCan, 0, 0, 0);
        wait(MoveDelay);
      end;
  end;

// Инициализация меню
procedure InitMenu;
  begin
    AutoMenu('Blacksmithing','Throwing Weapons');    
    AutoMenu('Throwing Weapons','Heavy Throwing Knife');
    eat := 0;
  end;

// Чистимся  
procedure CancelTargetsAndMenu;
  begin
    if TargetPresent then CancelTarget;
    while MenuPresent do CloseMenu;
  end;

// Крафтим одну вещь и перемещаем в мусорку    
procedure MakeItem;
  var m1, m2 : Integer;
  begin
    CancelTargetsAndMenu;
    UseObject(FindTypeEx(tIngot, cIngot, Backpack, false)); 
    ClearJournal;
    k:=0;
    TimeStart:=Now;
    repeat
      wait(100);
      k := k + 1;
      m1 := InJournalBetweenTimes(Msg1, TimeStart, Now);
      m2 := InJournalBetweenTimes(Msg2, TimeStart, Now); 
    until (m1<>-1) or (m2<>-1) or (k > 100);
    MoveItemToTrashCan;  
  end;

// Инициализируем меню, кушаем, добираем инги, крафтим        
Begin
  InitMenu;
  repeat
    begin
      CheckHungry;
      CheckIngot;
      MakeItem;
    end;
  until Dead;
End.
Проще научить человека ловить рыбу, чем постоянно ею его кормить. (с) Destruction
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Re: Forest Wars - Blacksmithy

Post by Fenix »

Цены бы этому скрипту не было, если бы он вместо того, чтобы добро выбрасывать в мусорку - прыгал бы к вендорам по руне и продавал бы скрафченое, а деньги в другой сундук. :)
Помните – ничто так не защищает ваши зубы 12 часов днем и 12 часов ночью как уважительное отношение к окружающим.
"Многие из вас знакомы с достоинствами программиста. Их всего три, и разумеется это: лень, нетерпеливость и гордыня"© Larry Wall
Scripts Writer
Novice
Novice
Posts: 130
Joined: 06.05.2008 18:03

Re: Forest Wars - Blacksmithy

Post by Scripts Writer »

К сожалению, на шарде Forest Wars практически отсутствует такая составляющая, как продажа вещей НПЦ, за исключением тех, которые выбиваются в ПвМ, либо по цене, ниже себестоимости (алхимия).
Так бы конечно этот скрипт делал деньги :)
Проще научить человека ловить рыбу, чем постоянно ею его кормить. (с) Destruction
Post Reply