Code: Select all
 while life > 20 do
    begin
    UseObject(BeeHive);
    Wait(100);
    CheckLag;
    end;Второй вопрос касается функций по перемещению обьектов.Какую минимальную паузу я должен выдерживать после ,скажем, МувАйтема? Когда я могу быт ьуверен, что функция сработала? Есть ли в стелсклиенте в этих функциях какая то встроенная задержка?
Написал функцию для загрузки предметов из сундука в бекпак:
Code: Select all
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//                 Процедура загрузки ресурсов типа Item из контейнера Container. Qauntity-требуемое количество,                      //
//                 Min-минимальное кол-во ресурсов в паке.Если русерсов меньше чем Min, происходит подгрузка.                         //
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Procedure LoadItems(Item: word;Container: cardinal;Quantity,Min: integer);
Var 
   STime: TDateTime;
   S: String;
Begin
If (CountEx(Item,$FFFF,backpack)>=Min) then Exit;
UseObject(Container);  
wait(500);
If Dead or (Not Connected) then Exit;
FindType(Item,Container);
If FindQuantity=1 then
   begin
   If FindCount<Quantity then 
       begin
       FullllDisconnect; 
       raiseException(erCustomError,'В контейнере кончились подгружаемые ресурсы!');
       end
   Else
       begin
       Repeat
          STime:=Now;
	  CheckLag;
          FindType(Item,Container);
	  ClickOnObject(FindItem);
	  Wait(200);
	  S:=LastJournalMessage;
	  Delete(S,1,7);
          Grab(FindItem,1); 
          AddToSystemJournal('Берем единичные ресурсы '+S);
          Wait(250); 
	  FindType(Item,backpack);
	  If (InJournalBetweenTimes('at your feet.',stime,Now)<>-1) then raiseException(erCustomError,'У НАС ЯВНЫЙ ПЕРЕГРУЗ!!!РЕСУРСЫ ПОД НОГИ ПАДАЮТ!!!');
       Until (FindCount>=Quantity);
       end;
   Exit;
   end;
If FindQuantity>=Quantity then
   begin
   Stime:=Now;
   CheckLag;
   FindType(Item,Container);
   ClickOnObject(FindItem);
   Wait(200);
   S:=LastJournalMessage;
   Delete(S,1,7);
   Grab(FindItem,1); 
   AddToSystemJournal('Берем ресурсы '+S);
   Wait(250);
   If (InJournalBetweenTimes('at your feet.',stime,Now)<>-1) then raiseException(erCustomError,'У НАС ЯВНЫЙ ПЕРЕГРУЗ!!!РЕСУРСЫ ПОД НОГИ ПАДАЮТ!!!');
   end
Else
   begin
   FullllDisconnect; 
   raiseException(erCustomError,'В контейнере кончились подгружаемые ресурсы!');
   end;
End;