Program AlchemyDRW; // (c) v26RuS (Galiano{ASTARTA} DRW) v1.1 {$Include 'all.inc'} var STime: TDateTime; q: integer; AlchemyFlag : Boolean;
const WhatYouDo = 'Poison'; // Что делаем TypBottles = $0F0E; // Тип пустых бутылок TypPotion = $0F0E; // Тип готовых бутылок ColPotion = $0998; // Цвет готовых бутылок TypReag= $0F88; // Тип реагентов из которых делаем CountRegs = 100; // Какое количество реагентов брать CountBottles = 50; // Какое количество пустых бутылок брать Sunduk_reags_bottels = $400FA2CD; // ИД сундука с которого берем бутылки и реагенты Sunduk_craft = $400FA2CD; // ИД сундука в который кладем готовый продукт
procedure check_reag; begin FindType(TypReag,Backpack); if (FindCount=0) OR (Count(TypReag)<10) then begin UseObject(Sunduk_reags_bottels); wait(250); FindType(TypReag,Sunduk_reags_bottels); if (FindCount>0) and (CountEx(TypReag,$0000,Sunduk_reags_bottels)>100) then begin MoveItem(FindItem,CountRegs,Backpack,0,0,0); wait(250); AddToSystemJournal('Добрали '+IntToStr(CountRegs)+' реагентов. На данный момент имеем '+IntToStr(Count(TypReag))+' штук. Осталось ещё '+IntToStr(CountEx(TypReag,$0000,Sunduk_reags_bottels))+' реагентов.'); end else begin AddToSystemJournal('Ошибка во время добора реагентов.'); AlchemyFlag := false;end; end end;
procedure check_bootle; begin FindTypeEx(TypBottles,$0000,Backpack,false); if (FindCount=0) OR (Count(TypBottles)<10) then begin UseObject(Sunduk_reags_bottels); wait(250); FindTypeEX(TypBottles,$0000,Sunduk_reags_bottels,false); if (FindCount>0) and (CountEx(TypBottles,$0000,Sunduk_reags_bottels)>100) then begin MoveItem(FindItem,CountBottles,Backpack,0,0,0); wait(250); AddToSystemJournal('Добрали '+IntToStr(CountBottles)+' бутылок. На данный момент имеем '+IntToStr(CountEx(TypBottles,$0000,backpack))+' штук. Осталось ещё '+IntToStr(CountEx(TypBottles,$0000,Sunduk_reags_bottels))+' бутылок.'); end else begin AddToSystemJournal('Ошибка во время добора реагентов.'); AlchemyFlag := false;end; end end;
procedure craft_bottle; begin FindTypeEx(TypPotion,ColPotion,Backpack,false); if (FindCount>0) AND (CountEx(TypPotion,ColPotion,backpack) > 9) then begin MoveItem(FindItem,1,Sunduk_craft,0,0,0); wait(800); end; end;
Begin AlchemyFlag := true; CancelMenu; wait(500) Automenu('What','(2)'); repeat
check_reag; check_bootle;
UseObject(FindType(TypReag,Backpack)) Wait(10000); { repeat STime := Now; wait(1000) q := q+1; checksave; until (InJournalBetweenTimes('You put', STime, Now)<>-1) or (InJournalBetweenTimes('failed mixture',STime, Now) > 0) or (AlchemyFlag = false) or (q > 30); } craft_bottle;
until (AlchemyFlag = false) or Dead;
//FullDisconnect;
End.
|