Page 1 of 1

Camping

Posted: 02.12.2009 4:37
by ti
скрипт останавливается после того как заканчивается хворост и пишет

12:26:27 [Killer]: Succesfully executed
12:26:27 [Killer]: Script camping.sc stoped successfuly

помогите подправить чтоб не останавливался а дальше работал

Code: Select all

{$Include 'all.inc'} 
// (c) v26RuS (Galiano{ASTARTA} DRW) 
// Простенький скрипт для прокачки кемпинга, 
// Становимся дома около сундука откуда брать хворост, он берет хворос летить к месту выкладки 
// передвигается по направлению на цифровой клаве 1 (нуп пад) 
// кончаеться хворост летит домой добирает и по новой при неуспешном поджиге пробует еще раз. 
// Доходит до финальнай кординаты опять летит домой добираеться и по новой 
const 
Hvorost = $0DE1; // Тип хвороста 
Sunduk_of_hvorost = $4002D5ED; // Сундук откуда брать хворост 
trash_id=$404A3ED8; 

var 
 mx: integer; 
 CampingFlag : Boolean;  
 x, y : Integer; 

     
procedure doborhv; 
 begin 
  FindType(Hvorost,Backpack); 
  if (FindCount=0) OR (Count(Hvorost)<10) then 
    begin 
      UseObject(Sunduk_of_hvorost); 
      wait(250); 
      FindType(Hvorost,Sunduk_of_hvorost); 
      if (FindCount>0) and (CountEx(Hvorost,$0000,Sunduk_of_hvorost)>10) then 
        begin 
          MoveItem(FindItem,200,Backpack,0,0,0); 
          wait(250); 
          AddToSystemJournal('Добрали 200 хвороста. На данный момент имеем '+IntToStr(Count(Hvorost))+' штук. Осталось ещё '+IntToStr(CountEx(Hvorost,$0000,Sunduk_of_hvorost))+' хвороста.'); 
        end 
      else 
        AddToSystemJournal('Ошибка во время добора хвороста.'); 
   CampingFlag := false; 
    end; 
end; 


   procedure CheckHide; 
   begin 
      if Hidden then exit; 
      if WarMode = true then SetWarMode(false); 
      repeat 
         AddToSystemJournal('Прячемся...'); 
         UseSkill('Hiding'); 
         wait(4500); 
         checksave; 
      until Hidden or (not Connected); 
   end; 

BEGIN 
FindDistance:=5; 
  repeat 
        doborhv; 
   mx := GetX(self); 
    for x := -3 to 3 do 
    begin 
     for y := -2 to 2 do 
     begin 
        CheckHide; 
      FindType(Hvorost,Backpack); 
      if Findcount = 0 then exit; 
      Drop(FindItem,1,GetX(self)+x, GetY(self)+y, GetZ(self)); 
      AddToSystemJournal('Выложили хворост'); 
      wait(500); 
      FindType(Hvorost,ground); 
       repeat 
        AddToSystemJournal('Пытаюсь зажечь хворост'); 
        UseObject(FindItem); 
        wait(2000) 
          FindType(Hvorost,ground); 
       until FindCount < 1; 
       AddToSystemJournal('Зажгли хворост'); 
       wait(500) 
     end; 
    end; 
  until 1<>1; 

END.

Posted: 02.12.2009 9:17
by WladL
Мне жаль Вас расстраивать, но автор скрипта написал
// кончаеться хворост летит домой добирает и по новой
в том-же, что Вы выложили полностью отсутствует часть, где чар "летит домой " . Отсюда и проблема, скрипт не полный. Сделайте процедуру доставки чара домой

Code: Select all

...
  repeat 
   mx := GetX(self);
for x := -3 to 3 do 
    begin 
     for y := -2 to 2 do 
     begin 
        CheckHide; 
      FindType(Hvorost,Backpack); 
      if Findcount = 0 then begin 
       ТУТ_ЧАР_ДОЛЖЕН_ЛЕТЕТЬ_ДОМОЙ;
        doborhv;
    end;        
...