Собственно - вопрос!
У меня не получается уничтожать менюшки которые стакаются при крафте большого количества итемов. Пока обхожусь пилотным автокликом, но сами понимаете - масса неудобств! Помогите кто советом кто кодом, рад буду всему.
З.Ы. Вставлял в разные стадии скрипта CloseMenu или не помогает, или использую не правильно.
Скрипт:
Code: Select all
Program Carpentry;
{$Include 'all.inc'}
const
Tool = $1034;
M_Success = 'You put';
M_Fizzle = 'You fail';
Bank = $40094466;
Logi = $1BDD;
SkolkoBrat = 100;
var k, mPos, mFiz : Integer;
var ctime : TDateTime;
var currBool : Integer;
//сколько логов в бекпаке
function SkolkoLogov : Integer;
begin
Result := 1;
FindType(Logi, backpack);
if GetQuantity(FindItem) < 4 then Result := 2;
//UOSay(IntToStr(GetQuantity(FindItem))+' ');
end;
//в процессе разработки
procedure Vugryzka;
begin
//FindType();
end;
//взять логи из банка,
procedure GetLogi;
begin
//UOSay('BANK');
UseObject($400D0341); //банкомат в "туалете" для нубов, туалет не мой он для всех нубов шарда.
Wait(1000);
CheckSave;
FindType(Logi, Bank);
addtosystemjournal(IntToStr(GetQuantity(FindItem)) + 'логов в банке!');
MoveItem(FindItem, SkolkoBrat, backpack, 0,0,0);
end;
//"меин класс"
begin
while not Dead do
begin
currBool := SkolkoLogov;
if (HP < 90) then UOSay('GUARDS');
if currBool = 2 then GetLogi;
//if currBool = 1 then UOSay('ничо не брал'); //штучка для проверки куда ходит скрипт и что делает
ctime := Now;
UseObject(FindType(Tool,backpack));
WaitMenu('Carpentry','Weapons & Tools');
wait(500);
WaitMenu('Weapons & Tools','(First)');
k := 0;
repeat
wait(100)
CheckSave;
k := k + 1;
mPos := InJournalBetweenTimes(M_Success, ctime, Now);
mFiz := InJournalBetweenTimes(M_Fizzle, ctime, Now);
until (mPos <> -1) or (mFiz <> -1) or (k > 50) or Dead;
wait(1500);
CloseMenu;
end;
end.