Code: Select all
Program BlackSmithy;
{$Include 'all.inc'}
var
TimeStart : TDateTime;
k :integer;
Item : Cardinal;
const
Mainbag1 = $549DC9FA; //сумка с добычей
Mainbag2 = $549DC9FA; //сумка с добычей
Ingots = $1BF2; // руда
ItemType = $1415; // куем пузо 1415, Gorget 1413, Arms 1410, Legs 1411
ItemCost = 25; // вес
ForgeObj = $401965B5; // тут указываем серийник плавильни
HammerType = $13E3; // молот
TongsType = $0FBB; // плавка
procedure ArmsLore;
begin
CancelTarget; //на всякий случай уберем таргет
WaitTargetType($0E85);
UseSkill('Arms Lore'); //используем скилл
wait (5000);
end;
procedure Resmelt;
begin
findtype(ItemType,backpack);
while FindCount() > 0 do
begin
Clearjournal();
checksave;
CheckTargetError(2,2);
if targetpresent then canceltarget;
k:=0;
TimeStart:=Now;
Item:=FindType(ItemType,Backpack);
WaitTargetObject(Item)
repeat
UseObject(FindType(TongsType,Backpack));
k := k + 1;
wait(2000);
until (InJournalBetweenTimes('What do you wish to smelt into ingots?|has to be', TimeStart, Now)<>-1) or (k > 7);
WaitTargetObject(ForgeObj);
repeat
wait(100);
k := k + 1;
until (InJournalBetweenTimes('You turned|ailed|That cannot be melted down!', TimeStart, Now)<>-1) or (k > 300);
findtype(ItemType,backpack);
clearjournal;
end;
findtype(ItemType,backpack);
end;
Begin
SetARStatus(true);
Hungry(1,backpack);
while (not Dead) do
begin
Hungry(1,-1);
CancelTarget; //на всякий случай уберем таргет
WaitTargetType($0E85);
UseSkill('Arms Lore'); //используем скилл
wait (4000);
ClearJournal;
CancelMenu;
k:=0;
TimeStart:=Now;
UseObject(FindType(HammerType,Backpack));
findtype(Ingots,backpack);
WaitTargetObject(finditem);
wait(500)
WaitMenu('What would you like to make?', 'Armors');
wait(500)
WaitMenu('What kind of armor?', 'Platemail');
wait(500)
WaitMenu('What would you like to make?', 'Platemail');
repeat
wait(100);
k := k + 1;
wait(500);
until (InJournalBetweenTimes('stop|pack|finished', TimeStart, Now)<>-1) or (k > 300);
wait(100);
// if (InJournal('Success: hernya.') > -1) or (InJournal('Success: Perfect.') > -1) then
// begin
// ClearJournal;
// Findtype(ItemType,backpack);
// wait(100);
// MoveItem(finditem, 0, Mainbag1, 0, 0, 0);
// wait(100);
// end;
// if InJournal('Success')<>-1 then
// begin
// wait(500);
// Findtype(ItemType,backpack);
// wait(100);
// MoveItem(finditem, 0, Mainbag2, 0, 0, 0);
// wait(100);
// end;
Resmelt;
ArmsLore;
ClearJournal;
end;
End.