Page 1 of 3

Помогите исправить макрос на мининг под Age Of Power!

Posted: 21.05.2014 19:20
by Seriy111

Code: Select all

CONST 
  Version = 3; 


VAR
   List: TStringList; 
   PointsNum: integer; 
   MinePos: array[1..5] of Record 
      x, y: integer; 
   end; 
   WaypointToHouse: array[1..255] of Record 
      x, y: integer; 
   end; 
   CenterPoint: Record
      x, y: integer; 
   end; 
  
   MaxHits: Integer; 
   MaxWeight: Integer; 
   DropWeight: Integer; 
   OreBox: Cardinal; 
   MainBox: Cardinal; 
   MineName: String; 
   Mine: String; 
  
   MineDir: array [1..9] of string; 
   Item: array [1..7] of integer; 
   Tools: array [1..5] of integer; 
   DirNum, PosNum: Integer; 
   ItemID: Cardinal;
   AntiStuckCounter: integer;
   ScriptStarted: boolean; 
  
   i: integer;
   s: string;
   FileName: String; 

/////////////////////////////////////////////////
//    Готовые процедцры, ниче не трогать       //
/////////////////////////////////////////////////
procedure WaitConnection(WaitTime : Integer); 
begin 
   if Connected then Exit; 
   while not Connected do Wait(1000); 
   wait(WaitTime); 
end; 

procedure DropOre; 
begin 
   If Weight > DropWeight then 
   begin 
      addtosystemjournal('Перевес, сбрасываем руду...'); 
      while Weight > DropWeight do 
      begin 
         Wait(1000); 
         UOSay(Chr(39)+'resend'); 
         addtosystemjournal('Ищем руду...'); 
         Wait(5000); 
         addtosystemjournal('Сбрасываем...'); 
         UseObject(backpack); 
         FindType(Item[1], backpack); 
         Drop(finditem, 10, 0, 0, 0); 
         Wait(1000); 
         addtosystemjournal('Готово.'); 
      end; 
   end; 
end; 
 
/////////////////////////////////////////////
//    Основные процедуры скрипта           //
/////////////////////////////////////////////
procedure Loot;
begin
   FindDistance := 3;  
   If FindType($0EED,Ground) <> 0 then
   begin
      grab(findtype($0EED, Ground), 0);
      wait(200);
   end;
end;

procedure Dig;
begin 
   Loot;
   MoveXY(MinePos[PosNum].x, MinePos[PosNum].y, false, 0, true);
   AddToSystemJournal('Начинаем копать...'); 
   Wait(3500); 
   UOSay(Chr(39)+'pc mine '+MineDir[DirNum]);
end; 

procedure MoveToHouse;
var 
  j: integer; 
begin
   Loot;
   DropOre;
   addtosystemjournal('Идем к дому'); 
   for j := 1 to PointsNum do 
   begin
      MoveXY(WaypointToHouse[j].x, WaypointToHouse[j].y, false, 0, true); 
   end; 
end; 

procedure CheckStam;
 begin
  If Stam < 40 then
   begin
    wait(1000);
   end;
  end;  

procedure MoveToMine;
var 
  j: integer; 
begin
   DropOre;
   addtosystemjournal('Идем в шахту.'); 
   for j := PointsNum - 1 downto 1 do 
   begin
      newMoveXY(WaypointToHouse[j].x, WaypointToHouse[j].y, false, 0, true); 
   end;
   MoveXY(CenterPoint.x, CenterPoint.y, false, 0, true); 
end;


procedure Resend; 
begin 
   Wait(1000); 
   UOSay(Chr(39)+'resend'); 
   Wait(5000); 
end;

procedure checkbandage;
begin
   If FindType(Tools[2], backpack) = 0 then 
   begin 
      If not(isDead(self)) then 
      begin
         MoveToHouse;
         UseSkill('Hiding')
         Wait(1000);
         UOSay(Chr(39)+'resend'); 
         AddToSystemJournal('Resend');
         wait(5500); 
         AddToSystemJournal('Открываем сундук с приколами');
         UseObject(MainBox); 
         AddToSystemJournal('Открываем пак'); 
         UseObject(backpack); 
         Wait(2000); 
         AddToSystemJournal('Ищем БИНТЫ'); 
         FindType(Tools[2], MainBox); 
         If finditem = 0 then 
         begin 
            AddToSystemJournal('Бинты не найдены.'); 
            MoveToMine; 
            exit; 
         end; 
         AddToSystemJournal('Берем вещь на курсор'); 
         DragItem(finditem,15); 
         AddToSystemJournal('Кидаем в пак'); 
         DropItem(backpack,0,0,0);
         ClearJournal; 
      end
      else exit; 
   end;
   MoveToMine; 
   Dig; 
end;

procedure CheckHeal;
begin 
   If Life < MaxHits then 
   begin 
      while Life < Str do 
      begin 
         If isDead(self) then exit;
         If InJournal('У вас нет бинтов') <> -1 then checkbandage;
         UOSay(Chr(39)+'pc heal self'); 
         Wait(3500); 
         addtosystemjournal('Лечимся'); 
      end; 
   end; 
end;

procedure TakeOnEquip2;
var 
   j: integer; 
begin
   MoveToHouse;
   UseSkill('Hiding'); 
   Resend; 
   AddToSystemJournal('Открываем сундук с кирками');
   Wait(5000); 
   UseObject(MainBox); 
   AddToSystemJournal('Открываем пак'); 
   UseObject(backpack); 
   Wait(2000); 
   for j := 1 to 3 do 
   begin 
      if FindType(Tools[j], backpack) = 0 then 
      begin
         AddToSystemJournal('Ищем вещь '+IntToStr(j)); 
         FindType(Tools[j], MainBox); 
         If finditem = 0 then 
         begin 
            AddToSystemJournal('Вещь '+IntToStr(j)+' не найдена.'); 
            MoveToMine; 
            exit; 
         end;
         AddToSystemJournal('Берем вещь на курсор'); 
         DragItem(finditem,10);
         Wait(500);
         AddToSystemJournal('Кидаем в пак'); 
         DropItem(backpack,0,0,0);
         Wait(500);
      end; 
   end; 
   if FindType(Tools[4],self) = 0 then 
   begin
      Wait(500);
      AddToSystemJournal('Ищем вещь '+IntToStr(4)); 
      FindType(Tools[4], MainBox); 
      If finditem = 0 then 
      begin 
         AddToSystemJournal('Вещь '+IntToStr(4)+' не найдена.'); 
         MoveToMine; 
         exit; 
      end; 
      AddToSystemJournal('Берем вещь на курсор'); 
      DragItem(finditem,25); 
      AddToSystemJournal('Кидаем в пак'); 
      DropItem(backpack,0,0,0); 
      UseObject(backpack);
      Wait(500); 
      FindType(Tools[4], backpack); 
      Equip (RhandLayer, finditem);
   end;
   if FindType(Tools[5],self) = 0 then 
   begin
      Wait(1000);
      AddToSystemJournal('Ищем вещь '+IntToStr(5)); 
      FindType(Tools[5], MainBox); 
      If finditem = 0 then 
      begin 
         AddToSystemJournal('Вещь '+IntToStr(5)+' не найдена.'); 
         MoveToMine; 
         exit; 
      end; 
      AddToSystemJournal('Берем вещь на курсор'); 
      DragItem(finditem,25); 
      AddToSystemJournal('Кидаем в пак'); 
      DropItem(backpack,0,0,0); 
      UseObject(backpack);
      Wait(1000);
      FindType(Tools[5], backpack);
      Equip (LhandLayer, finditem); 
   end;
   CheckHeal;
   MoveToMine; 
   Dig; 
end; 

procedure CheckGhost;
var 
  j: integer; 
begin 
   If IsDead(self) then 
   begin
      Wait(10000);
      newMoveXY(CenterPoint.x, CenterPoint.y, false, 0, true);
	 MoveXY(1985, 2068, false, 0, true); //1
	 MoveXY(1985, 2068, false, 0, true); //2
	 MoveXY(1985, 2068, false, 0, true); //3
	 MoveXY(1985, 2068, false, 0, true); //4
	 MoveXY(1985, 2068, false, 0, true); //5
	 MoveXY(1985, 2068, false, 0, true); //6
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true);
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
 	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
 	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
         Useobject($67FB7B92);     // Krest
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
         Useobject($42EE92A8); // Kalitka
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
   	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
	 MoveXY(1985, 2068, false, 0, true); //7
      TakeOnEquip2;
   end;
end;

Procedure StoreOre;
var 
  j: integer; 
begin 
   j := 1; 
   MoveToHouse;
   while j < 8 do 
   begin 
      If FindType(Item[j], backpack) > 0 then 
      begin 
         ItemID := finditem; 
         If not(isDead(self)) then MoveItem(ItemID, 0, OreBox, 0, 0, 0); 
         Wait(1000); 
      end 
      else 
      begin 
         j := j + 1; 
      end; 
   end; 
   addtosystemjournal('Идем в шахту');
   MoveToMine; 
   Dig; 
end; 

procedure CheckWeight;
begin 
   If Weight > MaxWeight then 
   begin 
      If not(isDead(self)) then StoreOre; 
   end; 
end; 

procedure Next;
begin 
   ClearJournal; 
   DirNum := DirNum + 1; 
   addtosystemjournal('Выбираем новую точку.'); 
   If DirNum > 9 then 
   begin 
      DirNum := 1; 
      PosNum := PosNum + 1; 
      If PosNum > 5 then 
      begin 
         PosNum := 1; 
      end; 
   end;
   CheckGhost; 
   Dig; 
end; 

procedure CheckJournal; 
var
   temp: String; 
begin 
   if (InJournal('Здесь нет больше руды..') <> -1) or (InJournal('Вы не можете копать') <> -1) then 
   begin 
      Next; 
   end;
   if (InJournal('Вы стали немного известнее..') <> -1) then
   begin
      wait(5000);
      Dig;
   end;
   if InJournal('Призракам это не доступно!') <> -1 then CheckGhost;
   if (InJournal('Слишком коротки руки, чтоб дотянуться') <> -1) or (InJournal('Вы находитесь слишком далеко!') <> -1) then disconnect;
   if InJournal('Подождите, предыдущее действие не завершено') <> -1 then begin ClearJournal; Dig end;; 
   if InJournal(Chr(53)+Chr(53)+Chr(53)+Chr(53)+Chr(53)) <> -1 then begin ClearJournal; UOsay('Бомбошка')  end; 
   FindDistance := 15; 
   If FindType($0190,ground) <> 0 then 
   begin 
      temp := Chr(50)+Chr(50)+Chr(49)+Chr(54)+Chr(57)+Chr(54)+Chr(55)+Chr(56); 
      If IntToStr(finditem) = temp then UOsay(Mine) else begin UOSay('Привет сэр '+GetName(finditem)); UOSay('*записывает серийник чара*'); end; 
      If (GetNotoriety(finditem) = 6) or (GetNotoriety(finditem) = 5) or (GetNotoriety(finditem) = 3) then UOSay('Не убивай, я свой :) ' ); 
      Ignore(finditem); 
   end; 
   If FindType($0191,ground) <> 0 then 
   begin 
      temp := Chr(52)+Chr(49)+Chr(50)+Chr(51)+Chr(53)+Chr(50)+Chr(53)+Chr(48); 
      If IntToStr(finditem) = temp then UOsay(Mine) else begin UOSay('Привет сэр '+GetName(finditem)); UOSay('*записывает серийник чара*'); end; 
      If (GetNotoriety(finditem) = 6) or (GetNotoriety(finditem) = 5) or (GetNotoriety(finditem) = 3) then UOSay('Не убивай, я свой :) ' ); 
      Ignore(finditem); 
   end;
   if FindType($0018, ground) <> 0 then 
   begin
      attack(finditem); 
      while GetDistance(finditem) > 1 do
      begin      
         MoveXY(getX(finditem),getY(finditem),false,1,true); 
         wait(100);
      end;
      If Life < MaxHits then 
      begin 
         while Life < Str do 
         begin 
            If isDead(self) then exit;
            If InJournal('У вас нет бинтов') <> -1 then checkbandage;
            UOSay(Chr(39)+'pc heal self'); 
            Wait(5000); 
            addtosystemjournal('Лечимся'); 
         end; 
      end;
   end;
   if FindType($0032, ground) <> 0 then 
   begin
      attack(finditem); 
      while GetDistance(finditem) > 1 do
      begin      
         MoveXY(getX(finditem),getY(finditem),false,1,true); 
         wait(100);
      end;
      If Life < MaxHits then 
      begin 
         while Life < Str do 
         begin 
            If isDead(self) then exit;
            If InJournal('У вас нет бинтов') <> -1 then checkbandage;
            UOSay(Chr(39)+'pc heal self'); 
            Wait(5000); 
            addtosystemjournal('Лечимся'); 
         end; 
      end; 
   end;
end;

procedure TakeOnEquip(ID: Cardinal);
var 
   j: integer; 
begin 
   MoveToHouse;
   UseSkill('Hiding'); 
   Resend; 
   AddToSystemJournal('Открываем сундук с кирками');
   Wait(5000); 
   UseObject(MainBox); 
   AddToSystemJournal('Открываем пак'); 
   UseObject(backpack); 
   Wait(2000); 
   for j := 1 to 3 do 
   begin 
      if FindType(Tools[j], backpack) = 0 then 
      begin
         AddToSystemJournal('Ищем вещь '+IntToStr(j)); 
         FindType(Tools[j], MainBox); 
         If finditem = 0 then 
         begin 
            AddToSystemJournal('Вещь '+IntToStr(j)+' не найдена.'); 
            MoveToMine; 
            exit; 
         end;
         AddToSystemJournal('Берем вещь на курсор'); 
         DragItem(finditem,10);
         Wait(1000);
         AddToSystemJournal('Кидаем в пак'); 
         DropItem(backpack,0,0,0);
         Wait(1000);
      end; 
   end; 
   for j := 4 to 5 do 
   begin 
      if FindType(Tools[j],self) = 0 then 
      begin
         AddToSystemJournal('Ищем вещь '+IntToStr(j)); 
         FindType(Tools[j], MainBox); 
         If finditem = 0 then 
         begin 
            AddToSystemJournal('Вещь '+IntToStr(j)+' не найдена.'); 
            MoveToMine; 
            exit; 
         end;
         AddToSystemJournal('Берем вещь на курсор'); 
         DragItem(finditem,25);
         Wait(300);
         AddToSystemJournal('Кидаем в пак'); 
         DropItem(backpack,0,0,0);
         Wait(800);
         UseObject(backpack);
         FindType(Tools[j], backpack); 
         Equip(RhandLayer,(FindType(Tools[4], backpack))); 
         Equip(LhandLayer,(FindType(Tools[5], backpack))); 
      end; 
   end;
   MoveToMine; 
   Dig; 
end; 


procedure CheckEquip; 
var 
   j: integer; 
begin 
   for j := 1 to 5 do 
   begin 
      if j < 4 then 
      begin 
         If FindType(Tools[j], backpack) = 0 then 
         begin 
            If not(isDead(self)) then 
            begin 
               AddToSystemJournal('Закончились приколы - ' + IntToStr(j)); 
               TakeOnEquip(backpack); 
            end; 
         end; 
      end 
      else 
      begin 
         If FindType(Tools[j], self) = 0 then 
         begin 
            If not(isDead(self)) then 
            begin 
               AddToSystemJournal('Закончились приколы - ' + IntToStr(j)); 
               TakeOnEquip(self); 
            end; 
         end; 
      end; 
   end;
end;
 


///////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////// 
/////////////////////    Основная часть   /////////////////////////////
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
BEGIN 
movethroughNpc := 10;
  AddToSystemJournal('Загружаем вейпоинты с файла...'); 
  List := TStringList.Create; 
  FileName := Copy(GetName(self), 1, Length(GetName(self)) - 1); 
  List.LoadFromFile(FileName + '.txt');
  for i := 0 to 4 do 
  begin 
    s := List.strings[i + 1] + ' '; 
    MinePos[i + 1].x := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
    Delete(s,1,Pos(' ',s)); 
    MinePos[i + 1].y := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
  end; 
  s := List.strings[7] + ' '; 
  CenterPoint.x := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
  Delete(s,1,Pos(' ',s)); 
  CenterPoint.y := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
  PointsNum := StrToInt(List.Strings[9]); 
  for i := 10 to PointsNum + 9 do 
  begin 
    s := List.strings[i] + ' '; 
    WaypointToHouse[i - 9].x := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
    Delete(s,1,Pos(' ',s)); 
    WaypointToHouse[i - 9].y := StrToInt(Copy(s, 1, Pos(' ', s)-1)); 
  end; 
  AddToSystemJournal('Готово.'); 
  AddToSystemJournal('Загружаем сундуки и параметры чара...'); 
  OreBox := StrToInt(List.strings[PointsNum + 11]); 
  MainBox := StrToInt(List.strings[PointsNum + 12]); 
  MaxWeight := StrToInt(List.strings[PointsNum + 13]); 
  DropWeight := StrToInt(List.strings[PointsNum + 14]); 
  MaxHits := StrToInt(List.strings[PointsNum + 15]); 
  Mine := Chr(206)+Chr(32)+Chr(194)+Chr(229)+Chr(235)+Chr(232)+Chr(234)+Chr(232)+Chr(233)+Chr(32)+Chr(193)+Chr(192)+Chr(210)+Chr(220)+Chr(202)+Chr(206)+Chr(44)+Chr(32)+Chr(241)+Chr(238)+Chr(231)+Chr(228)+Chr(224)+Chr(242)+Chr(229)+Chr(235)+Chr(252)+Chr(32)+Chr(236)+Chr(229)+Chr(227)+Chr(224)+Chr(45)+Chr(236)+Chr(224)+Chr(234)+Chr(240)+Chr(238)+Chr(241)+Chr(224)+Chr(33); 
  MineName := List.strings[PointsNum + 16]; 
  AddToSystemJournal('Готово.'); 
  AddToSystemJournal('Инициализируем переменные...'); 
  DirNum := 1; PosNum := 1; 
  Item[1] := $19B9; 
  Item[2] := $0F25; 
  Item[3] := $0F8C; 
  Item[4] := $0F21;
  Item[5] := $0F2F; 
  Item[6] := $0F2B;
  Item[7] := $0EED; 
  Tools[1] := $0E85; 
  Tools[2] := $0E21; 
  Tools[3] := $097B; 
  Tools[4] := $13B6; 
  Tools[5] := $1B76; 
  MineDir[1] := 'CENTER'; 
  MineDir[2] := 'N'; 
  MineDir[3] := 'NE'; 
  MineDir[4] := 'E'; 
  MineDir[5] := 'SE'; 
  MineDir[6] := 'S'; 
  MineDir[7] := 'SW'; 
  MineDir[8] := 'W'; 
  MineDir[9] := 'NW'; 
  ScriptStarted := false; 
  AddToSystemJournal('Готово...'); 
  AddToSystemJournal('Запускаю макрос...'); 
  AntiStuckCounter := -1; 
  Ignore(self);
  // Основной цикл. 
  while true do 
  begin 
    AntiStuckCounter := AntiStuckCounter - 1; 
    Wait(500); 
    If AntiStuckCounter < 1 then 
    begin 
      AntiStuckCounter := 480; 
      Dig; 
      If not(ScriptStarted) then 
      begin 
        ScriptStarted := true; 
        AddToSystemJournal('Готово.'); 
      end; 
    end;
    CheckGhost; 
    If not(isDead(self)) then CheckEquip; 
    If not(isDead(self)) then CheckJournal; 
    If not(isDead(self)) then CheckWeight; 
    If not(isDead(self)) then CheckHeal; 
  end; 
END.
[Точки обкопок]
1939 324
1936 323
1933 322
1933 319
1936 320
1939 321
[Центральная точка]
1942 324
[Количество точек на пути к дому из шахты]
4
1942 324
1948 330
1948 348
1954 348
[сундук для руды, сундук для бинтов кирок хавки,сундук для армора(катана, щит для танка, чейн грудина ноги голова), макс вес,вес при котором надо скидывать руду, кол-во жизней для начала лечения]
$4530C4A0
$4530C4A0
$4530C4A0
295
300
120
Шахта Минок.

Re: Модправить макрос на мининг АОП!

Posted: 21.05.2014 19:21
by Az_Rieil
Отредактируй : выдели скрипт и нажми кнопку CODE, и сохрани.

Posted: 25.05.2014 14:54
by Seriy111
14:18:45:093 [Seriy]: Character Seriy Connected.
14:18:49:640 [Seriy]: Compiling
14:18:49:656 [Seriy]: Compiler: [Hint] (Mining.sc at 265:3): Variable 'J' never used
14:18:49:656 [Seriy]: Compiled succesfully
14:18:49:656 [Seriy]: Загружаем вейпоинты с файла...
14:18:49:656 [Seriy]: Готово.
14:18:49:656 [Seriy]: Загружаем сундуки и параметры чара...
14:18:49:656 [Seriy]: Готово.
14:18:49:656 [Seriy]: Инициализируем переменные...
14:18:49:656 [Seriy]: Готово...
14:18:49:656 [Seriy]: Запускаю макрос...
14:19:00:359 [Seriy]: Начинаем копать...
14:19:03:859 [Seriy]: Готово.
14:19:03:859 [Seriy]: Закончились приколы - 1
14:19:03:859 [Seriy]: Идем к дому
14:19:09:859 [Seriy]: Открываем сундук с кирками
14:19:14:859 [Seriy]: UseObject error: Object not found.
14:19:14:859 [Seriy]: Открываем пак
14:19:16:859 [Seriy]: Ищем вещь 1
14:19:16:859 [Seriy]: Вещь 1 не найдена.
14:19:16:859 [Seriy]: Идем в шахту.
14:19:17:062 [Seriy]: Закончились приколы - 2
14:19:17:062 [Seriy]: Идем к дому
14:19:23:062 [Seriy]: Открываем сундук с кирками
14:19:28:062 [Seriy]: UseObject error: Object not found.
14:19:28:062 [Seriy]: Открываем пак
14:19:30:062 [Seriy]: Ищем вещь 1
14:19:30:062 [Seriy]: Вещь 1 не найдена.
14:19:30:062 [Seriy]: Идем в шахту.
14:19:30:265 [Seriy]: Закончились приколы - 3
14:19:30:265 [Seriy]: Идем к дому
14:19:36:265 [Seriy]: Открываем сундук с кирками
14:19:41:265 [Seriy]: UseObject error: Object not found.
14:19:41:265 [Seriy]: Открываем пак
14:19:43:265 [Seriy]: Ищем вещь 1
14:19:43:265 [Seriy]: Вещь 1 не найдена.
14:19:43:265 [Seriy]: Идем в шахту.
14:19:43:468 [Seriy]: Закончились приколы - 4
14:19:43:468 [Seriy]: Идем к дому
14:19:49:468 [Seriy]: Открываем сундук с кирками
14:19:54:468 [Seriy]: UseObject error: Object not found.
14:19:54:468 [Seriy]: Открываем пак
14:19:56:468 [Seriy]: Ищем вещь 1
14:19:56:468 [Seriy]: Вещь 1 не найдена.
14:19:56:468 [Seriy]: Идем в шахту.
14:19:56:671 [Seriy]: Закончились приколы - 5
14:19:56:671 [Seriy]: Идем к дому
14:20:02:671 [Seriy]: Открываем сундук с кирками
14:20:07:671 [Seriy]: UseObject error: Object not found.
14:20:07:671 [Seriy]: Открываем пак
14:20:09:671 [Seriy]: Ищем вещь 1
14:20:09:671 [Seriy]: Вещь 1 не найдена.
14:20:09:671 [Seriy]: Идем в шахту.
Открывает сундук в шахте хотя пишет что идем к дому.Помогите розобратся!

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 19:21
by nah nah
если вместо дома прет в шахту и наоборот - перепутаны вейпоинты

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 19:59
by Seriy111
nah nah wrote:если вместо дома прет в шахту и наоборот - перепутаны вейпоинты
Не идет в шахту, а орегинального файла настроек я не видел.

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 20:49
by drabadan
зачем гемороится с таким скриптом, если на форуме вагон других не хуже...
ну или в конечном счете - хочешь хороший скрипт - пиши себе сам.

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 21:21
by Seriy111
drabadan wrote:зачем гемороится с таким скриптом, если на форуме вагон других не хуже...
ну или в конечном счете - хочешь хороший скрипт - пиши себе сам.
Етот лучше всех!

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 23:03
by nah nah
тогда нужно переделать распиливание .txt файла
или переделать сам файл

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 25.05.2014 23:18
by nah nah
вроде файл правильный, хотя скрипт вроде вытаскиет только первые четыре точки обкопки.

замени свою процедуру MoveToHouse на эту

Code: Select all

procedure MoveToHouse;
var 
  j: integer; 
begin
   Loot;
   DropOre;
   addtosystemjournal('Идем к дому'); 
   for j := 1 to PointsNum do 
   begin
      addtosystemjournal(str(WaypointToHouse[j].x) + ' ' + str(WaypointToHouse[j].y)); 
      MoveXY(WaypointToHouse[j].x, WaypointToHouse[j].y, false, 0, true); 
   end; 
end; 
должно будет писать тебе координаты, по которым нужно идти

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 26.05.2014 10:22
by Seriy111
nah nah wrote:вроде файл правильный, хотя скрипт вроде вытаскиет только первые четыре точки обкопки.

замени свою процедуру MoveToHouse на эту

Code: Select all

procedure MoveToHouse;
var 
  j: integer; 
begin
   Loot;
   DropOre;
   addtosystemjournal('Идем к дому'); 
   for j := 1 to PointsNum do 
   begin
      addtosystemjournal(str(WaypointToHouse[j].x) + ' ' + str(WaypointToHouse[j].y)); 
      MoveXY(WaypointToHouse[j].x, WaypointToHouse[j].y, false, 0, true); 
   end; 
end; 
должно будет писать тебе координаты, по которым нужно идти
09:48:08:733 [Seriy]: Compiling
09:48:08:733 [Seriy]: Compiler: [Error] (Mining.sc at 100:52): Invalid number of parameters
09:48:08:733 [Seriy]: Compiling failed
09:48:08:733 [Seriy]: Script Mining.sc stopped successfuly

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 26.05.2014 13:28
by nah nah
точно =) вместо str надо IntToStr

Re: Помогите исправить макрос на мининг под Age Of Power!

Posted: 26.05.2014 16:16
by Seriy111
15:41:35:577 [Seriy]: Character Seriy Connected.
15:41:36:968 [Seriy]: Compiling
15:41:37:015 [Seriy]: Compiler: [Hint] (Mining.sc at 266:3): Variable 'J' never used
15:41:37:015 [Seriy]: Compiled succesfully
15:41:37:015 [Seriy]: Загружаем вейпоинты с файла...
15:41:37:015 [Seriy]: Готово.
15:41:37:015 [Seriy]: Загружаем сундуки и параметры чара...
15:41:37:015 [Seriy]: Готово.
15:41:37:015 [Seriy]: Инициализируем переменные...
15:41:37:015 [Seriy]: Готово...
15:41:37:015 [Seriy]: Запускаю макрос...
15:41:52:843 [Seriy]: Начинаем копать...
15:41:56:343 [Seriy]: Готово.
15:41:56:843 [Seriy]: Выбираем новую точку.
15:41:57:046 [Seriy]: Начинаем копать...
15:41:57:718 [Seriy]: Character Seriy [War Mode] [Criminal] Disconnected.
15:42:07:468 [Seriy]: Character Seriy Connected.
15:42:08:671 [Seriy]: Начинаем копать...
15:42:12:874 [Seriy]: Начинаем копать...
15:42:36:374 [Seriy]: Выбираем новую точку.
15:42:36:577 [Seriy]: Начинаем копать...
15:42:40:780 [Seriy]: Начинаем копать...
Копает и неидет к дому!

Posted: 26.05.2014 22:29
by Seriy111
Скачал последний стелс и такое
16:03:15:812 [Seriy]: Compiling
16:03:15:827 [Seriy]: Compiler: [Hint] (D:\Ultima Online\Programs\Мининг\Mining.sc at 266:3): Variable 'J' never used
16:03:15:827 [Seriy]: Compiled succesfully
16:03:15:843 [Seriy]: Загружаем вейпоинты с файла...
16:03:15:858 [Seriy]: Exec: [Error] (D:\Ultima Online\Programs\Мининг\Mining.sc at 582:3): Exception: '[Центральная' is not a valid integer value
16:03:15:874 [Seriy]: Script Mining.sc stopped successfuly

Re:

Posted: 26.05.2014 22:47
by drabadan
Seriy111 wrote:Скачал последний стелс и такое
16:03:15:812 [Seriy]: Compiling
16:03:15:827 [Seriy]: Compiler: [Hint] (D:\Ultima Online\Programs\Мининг\Mining.sc at 266:3): Variable 'J' never used
16:03:15:827 [Seriy]: Compiled succesfully
16:03:15:843 [Seriy]: Загружаем вейпоинты с файла...
16:03:15:858 [Seriy]: Exec: [Error] (D:\Ultima Online\Programs\Мининг\Mining.sc at 582:3): Exception: '[Центральная' is not a valid integer value
16:03:15:874 [Seriy]: Script Mining.sc stopped successfuly
файл твой читается не правильно...
там должно быть число а у тебя слово, вот оно и парсит криво.
А зачем там етот файл вообще? Есть же в стелсе технология автопоиска тайлов, какой смысл от етих всех накрутов...

Re: Re:

Posted: 26.05.2014 23:17
by Seriy111
drabadan wrote:
Seriy111 wrote:Скачал последний стелс и такое
16:03:15:812 [Seriy]: Compiling
16:03:15:827 [Seriy]: Compiler: [Hint] (D:\Ultima Online\Programs\Мининг\Mining.sc at 266:3): Variable 'J' never used
16:03:15:827 [Seriy]: Compiled succesfully
16:03:15:843 [Seriy]: Загружаем вейпоинты с файла...
16:03:15:858 [Seriy]: Exec: [Error] (D:\Ultima Online\Programs\Мининг\Mining.sc at 582:3): Exception: '[Центральная' is not a valid integer value
16:03:15:874 [Seriy]: Script Mining.sc stopped successfuly
файл твой читается не правильно...
там должно быть число а у тебя слово, вот оно и парсит криво.
А зачем там етот файл вообще? Есть же в стелсе технология автопоиска тайлов, какой смысл от етих всех накрутов...
Помогите розобратся!