Если на земле чар видит хотя бы несколько болтов, он хватает их в сумку и игнорирует труп, в котором также лежат болты. Хотя в скрипте указано, что если в паке менее чем, то нужно добрать ?
И наоборот, если я кидаю в труп болты, но менее чем заданное кол-во, он их берет, а вот с земли добирать отказывается ?
Или я не добавил проверку, что если FindType($1BFB, ground) = 0, то....?
Суть - ищем в паке, если нет - вокруг, если нет - ищем рядом труп и далее в нем. А если в паке положенное кол-во болтов, то игнорировать, если лежит на земле или в найденом трупе.
И, можно ли как то определить свой труп ?
Т.е. если рядом лежит два трупа, лутить только из своего, а второй игнорировать.
Code: Select all
Program Loot;
var
bolts: integer;
Corpse: Cardinal;
procedure Loot;
begin
FindDistance := 2;
if FindType($1BFB, backpack) < 1000 then
begin
FindType($1BFB, ground);
DragItem(finditem, 2800);
DropItem(backpack,0,0,0);
AddToSystemJournal('Закончили с болтами.');
end
else
begin
If FindType($2006, ground) <> 0 then
begin
AddToSystemJournal('Найден труп ' + IntToStr(finditem));
Corpse := finditem;
UseObject(Corpse);
Wait(1000);
Ignore(Corpse);
If FindType($1BFB, Corpse) <> 0 then
begin
DragItem(finditem, 0);
Wait(500);
DropItem(backpack,0,0,0);
Wait(500);
end;
end;
end;
end;
//***************************************************************
//ОСНОВНАЯ ЧАСТЬ
//***************************************************************
BEGIN
bolts :=$1BFB;
while true do
begin
If not(isDead(self)) then Loot;
end;
end.