Вопрос
Posted: 10.09.2010 14:08
				
				Помогите, в чем проблема ?
Если на земле чар видит хотя бы несколько болтов, он хватает их в сумку и игнорирует труп, в котором также лежат болты. Хотя в скрипте указано, что если в паке менее чем, то нужно добрать ?
И наоборот, если я кидаю в труп болты, но менее чем заданное кол-во, он их берет, а вот с земли добирать отказывается ?
Или я не добавил проверку, что если FindType($1BFB, ground) = 0, то....?
Суть - ищем в паке, если нет - вокруг, если нет - ищем рядом труп и далее в нем. А если в паке положенное кол-во болтов, то игнорировать, если лежит на земле или в найденом трупе.
И, можно ли как то определить свой труп ?
Т.е. если рядом лежит два трупа, лутить только из своего, а второй игнорировать.
			Если на земле чар видит хотя бы несколько болтов, он хватает их в сумку и игнорирует труп, в котором также лежат болты. Хотя в скрипте указано, что если в паке менее чем, то нужно добрать ?
И наоборот, если я кидаю в труп болты, но менее чем заданное кол-во, он их берет, а вот с земли добирать отказывается ?
Или я не добавил проверку, что если 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.