WladL wrote:Code: Select all
Procedure razgruzz; begin if GetDistance(Sunduk) > 2 then exit; //проверка на расстояние до сундука addtosystemjournal('Разгрузка'); .....
А как у меня не будет работать?
WladL wrote:Code: Select all
Procedure razgruzz; begin if GetDistance(Sunduk) > 2 then exit; //проверка на расстояние до сундука addtosystemjournal('Разгрузка'); .....
Code: Select all
Procedure razgruzz;
begin
  addtosystemjournal('Разгрузка');
    if GetDistance(Sunduk) < 2 then //проверка на расстояние до сундука 
    begin
      addtosystemjournal('Есть сундук, выгружаем');
        while count(ore)>0 do 
        begin
          //addtosystemjournal(inttostr(count(ore)));
          MoveItem(FindType(Ore,$ffff),0,Sunduk,0,0,0);
          wait(1500);
          CheckSave; 
        end;
           for i:=1 to 6 do if count(b[i])>0 then
           begin
              MoveItem(FindType(b[i],$ffff),0,Sunduk,0,0,0);
              wait(1500);
              CheckSave; 
           end;
    end
    else returnn; // если рядом сундука нет отсылает в процедуру рекола домой!!!
wait(2000);
CheckSave;
end;
Code: Select all
if (GetDistance(Sunduk)>-1) and (GetDistance(Sunduk)<2) then
..чар стоит менее чем в 2 тайлах от сундука.Code: Select all
Procedure returnn;
begin
   addtosystemjournal('Рекол к дому');
   cast('Recall');
   Wait(3500);
   FindType (homm,$ffffffff);
   TargetToObject(homm);         
   Wait(2500);
   Useskill('Hiding');
   Wait(500);
end;Code: Select all
Procedure returnn;
begin
     addtosystemjournal('Домой');
        Repeat 
          addtosystemjournal('Реколимся');
          cast('Recall');
          WaitTargetObject (homm);
          Wait(2000);
        Until  GetDistance(Sunduk) < 2  //провторит всю процедуру пока не найдет ящик
end;до очередного лага..Sfairat wrote:ЗЫЫ т.е гетдистанс и так вроди работает
Code: Select all
Procedure returnn;
begin
        Repeat 
          addtosystemjournal('Реколимся Домой');
          cast('Recall');
          WaitTargetObject (homm);
          Wait(2000);
        Until  (GetDistance(Sunduk)>-1) and (GetDistance(Sunduk)<2)  
end;Code: Select all
Procedure razgruzz;
begin
  addtosystemjournal('Разгрузка');
    if (GetDistance(Sunduk)>-1) and (GetDistance(Sunduk)<2) then 
    begin
      addtosystemjournal('Есть сундук, выгружаем');
        while count(ore)>0 do 
        begin
          //addtosystemjournal(inttostr(count(ore)));
          MoveItem(FindType(Ore,$ffff),0,Sunduk,0,0,0);
          wait(1000);
        end;
           for i:=1 to 6 do if count(b[i])>0 then
           begin
              MoveItem(FindType(b[i],$ffff),0,Sunduk,0,0,0);
              wait(1000);
           end;
    end
    else returnn;
wait(2000);
end;Code: Select all
Procedure returnn;
begin
     addtosystemjournal('Домой');
        Repeat
          addtosystemjournal('Реколимся');
          cast('Recall');
          WaitTargetObject (homm);
          Wait(2000);
        Until  (GetDistance(Sunduk)>-1) and (GetDistance(Sunduk)<2)  //провторит всю процедуру пока не найдет ящик
end;Code: Select all
Procedure returnn; 
begin 
     addtosystemjournal('Домой'); 
<===проверку на наличие регов
        Repeat 
          addtosystemjournal('Реколимся'); 
          cast('Recall'); 
          WaitTargetObject (homm); 
          Wait(2000); <===Увеличить паузу, вставить защиту от сейва
        Until  (GetDistance(Sunduk)>-1) and (GetDistance(Sunduk)<2) AND ПРОВЕРКА НА РЕГИ //провторит всю процедуру пока не найдет ящик 
end;что-бы не "казалось" почитать тут.просто повторяет но на книгу кажется не жмет...