Простой скрипт для рыбалки

Базовый пример по ловле рыбы. В скрипте нужно указать координаты персонажа и места, куда забрасывать удочку. Скрипт будет проверять наличие червей, смереть, и подходить в заданную точку, если его оттолкнули.

uses SysUtils, Classes;

const
  FISHING_SKILL_ID = 21571;  // Fishing [id: 21571]
                   
  FISH_X = 19854.20;
  FISH_Y = 26818.14;
  FISH_Z = 198.57;
  Z_FIX = -1;

  USER_X = 19864.11;
  USER_Y = 26825.05;
  USER_Z = 202.28;

procedure SimpleFishingThread();
begin    
  Print('SimpleFishingThread started ...');
  while Delay(500) do begin
    if (Status = lsOnline) then begin
    
      if (Inv.ItemCount(27142) = 0) then begin
        Engine.Print('Out of worms, stop script', 128);
        Script.Stop;
      end;

      if (User.Dead) then begin 
        Engine.Print('Dead, stop script', 128);
        Script.Stop; 
      end;
      
      if (User.DistTo(USER_X, USER_Y, USER_Z) >= 5)
      and (User.DistTo(USER_X, USER_Y, USER_Z) <= 20) then begin 
        Engine.Print('Seems char was moved, return to position...', 0);
        if Engine.MoveTo(USER_X, USER_Y, USER_Z) then Delay(500);
      end;  
      
      if (User.DistTo(USER_X, USER_Y, USER_Z) >= 20) then begin 
        Engine.Print('Seems char was moved too far from position, stop script', 128);
        Script.Stop; 
      end;

      if (User.DistTo(USER_X, USER_Y, USER_Z) <= 6) then begin
        Engine.Print('Use fishing...');
        Engine.TurnTo(FISH_X, FISH_Y, 3);
        if Engine.UsePointSkill(FISHING_SKILL_ID, FISH_X-2+Random(5), FISH_Y-2+Random(5), FISH_Z+Z_FIX) then begin
          while (User.Cast.EndTime <> 0) or (User.GlobalCoolDown <> 0) do Delay(500);
        end;         
      end;

    end;
  end;
end;

begin 
  Engine.SetGameWindow(True);
  Script.NewThread(@SimpleFishingThread);
  //...
  Delay(-1);
end.

 
Структура классов ArcheAngel бота
  • Classes
    • TGameControl
    • TPaxEngine
    • TGameObject
      • TItem
        • TAucItem
      • TZoneItem
      • TSpawn
        • TLive
          • TNpc
            • TMount
          • TDoodad
          • TPlayer
            • TUser
      • TMailItem
      • TEffect
        • TBuff
        • TSkill
          • TCast
    • TGameList
      • TSpawnList
        • TPlayers
        • TMobs
        • TMounts
        • TDoodads
        • TNpcs
      • TInventory
      • TSkills
      • TSlotList
      • TZoneList
      • TBuffs
      • TMail
      • TAuction
    • TChatMessage
    • TAccount
    • TAccounts
    • THistoryMessage
    • TMessages