Jump to content

Lineage 2


Fishing


  • You cannot reply to this topic
36 replies to this topic

#21
ctenka

ctenka

    Охотник на Драконов

  • Пользователи
  • PipPipPipPipPip
  • 270 posts

есть скрипт фишинга + трекинг ??



#22
ctenka

ctenka

    Охотник на Драконов

  • Пользователи
  • PipPipPipPipPip
  • 270 posts

есть скрипт фишинга + трекинг ??



#23
Stresh

Stresh

    Скиталец

  • Пользователи
  • Pip
  • 5 posts

Скиньте рабочий скрипт для стелса на фишинг  плиз



#24
ninja

ninja

    Птица-говорун

  • Пользователи
  • PipPipPipPipPipPipPipPipPip
  • 1,593 posts
  • Location:Череповец
  • Interests:Big Red Machine

Скиньте рабочий скрипт для стелса на фишинг  плиз

Program My_Fishing_3;
{$Include 'all.inc'}
 
type
  WaterRecord = Record
  t,x,y,z,a: integer;
end;
 
var
  WaterTile: array[0..50] of integer;
  WaterPlace: array[0..500] of WaterRecord;
  WaterCount: integer;
  x,y,c,a,i: integer;
  s: boolean;
 
const
  mainbag = $4A54AAD6;     //сумка с добычей
  fishpole = $0DBF;        //удочка(или сети)
  dagger = $0F51;          //дагер
  Trash = $479C9FE0;       //Мусорка
  cut = 0;                 //1-Резать рыбу(даггер в руки), 0-не резать
 
procedure CheckGold;
var bag : Cardinal;
 
Begin
repeat
  Ignore(mainbag);
  findtype($0e75,ground);
  if (FindCount  >= 1) and (GetDistance(finditem)  <=2) and (GetDistance(finditem) >=0) and connected and (not dead) then begin
   bag := finditem;
   useobject(bag);
   wait(500);
   MoveItem(findtype($0EED,bag), 0, mainbag, 0, 0, 0);
   wait(500);
   MoveItem(bag, 0, Trash, 0, 0, 0);
  end;
  
until (FindCount < 1) or dead;
End;
 
 
procedure fishgrab;
begin
  if FindType($09CC, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($09CD, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($09CE, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($09CF, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($14EB, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($0DD6, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($0DD7, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
  if FindType($0DD8, ground) > 0 then
    MoveItem(finditem, 0, mainbag, 0, 0, 0);
end;
 
procedure CheckDagger;
begin
if (cut = 1) and (RHandLayer<>dagger) then begin
Equipt(RHandLayer, dagger);
end;
if cut = 0 then begin
unequip(RHandLayer);
end;
end;
 
procedure CheckWaterTile;
var
  t: integer;
  LCount: integer;
  TTile: TStaticCell;
begin
  TTile:=ReadStaticsXY(x, y, WorldNum);
  LCount:=GetLayerCount(x, y, WorldNum);
  i:=0;
  while i < LCount do
    begin
      for t:=0 to 6 do
        begin
          if TTile.Statics[0].Tile=WaterTile[t] then
            begin
              WaterPlace[c].t:=TTile.Statics[0].Tile;
              WaterPlace[c].x:=x;
              WaterPlace[c].y:=y;
              WaterPlace[c].z:=TTile.Statics[0].z;
              WaterPlace[c].a:=1;
              c:=c+1;
            end;        
        end;
      i:=i+1;
    end;  
end;
 
procedure FindWaterTile;
begin
  for x:=GetX(self)-6 to GetX(self)+6 do
    for y:=GetY(self)-6 to GetY(self)+6 do
      begin
        CheckWaterTile;
      end;    
    WaterCount:=c-1;
end;
 
procedure Fishing;
 
begin
for a:=0 to WaterCount do
  begin
    if WaterPlace[a].a = 1 then begin
     WaitTargetTile(WaterPlace[a].t, WaterPlace[a].x, WaterPlace[a].y, WaterPlace[a].z);
     wait(1000);
     if Length(LastJournalMessage)=24 then begin
      WaterPlace[a].a:=0;
      AddToSystemJournal('Заброкован таил');
      ClearJournal;
     end;
     UseType(fishpole, 0);
     if cut = 0 then begin
      fishgrab;
     end;
     CheckGold;
    end;    
  end;
end;
 
begin
 
s:=true;
 
WaterTile[0]:=6038;
WaterTile[1]:=6039;
WaterTile[2]:=6040;
WaterTile[3]:=6041;
WaterTile[4]:=6042;
WaterTile[5]:=6043;
WaterTile[6]:=6044;
 
 
FindWaterTile;
 
AddToSystemJournal('Найдено тайлов для рыбалки: '+IntToStr(WaterCount));
  while not Dead and s do begin
    if cut = 1 then begin
      CheckDagger;
    end;
    Fishing;
  end;
end.


#25
ninja

ninja

    Птица-говорун

  • Пользователи
  • PipPipPipPipPipPipPipPipPip
  • 1,593 posts
  • Location:Череповец
  • Interests:Big Red Machine

здесь играться со значениями исходя из вашего места для ловли, автоповтор включен

 

procedure FindWaterTile;
begin
  for x:=GetX(self)-6 to GetX(self)+6 do
    for y:=GetY(self)-6 to GetY(self)+6 do
      begin
        CheckWaterTile;
      end;    
    WaterCount:=c-1;
end;

Edited by ninja, 05 February 2017 - 08:02 PM.


#26
долби

долби

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 595 posts

Да нефиг там играться, ставь 8 вместо 6 и все.



#27
ninja

ninja

    Птица-говорун

  • Пользователи
  • PipPipPipPipPipPipPipPipPip
  • 1,593 posts
  • Location:Череповец
  • Interests:Big Red Machine

Да нефиг там играться, ставь 8 вместо 6 и все.

холостые закидоны удочки на землю,если нужно то ставь 8



#28
Drabadan

Drabadan

    Путешественник

  • Пользователи
  • PipPip
  • 35 posts
  • Location:Ukraine

1 круг запомним все холостые закидоны, со след всё только цель.

Program fishing_New;

Procedure DrawMap(X, Y: Integer);
Var
Figure: TMapFigure;
Begin
  Figure.kind := fkLine;
  Figure.coord := fcWorld;
  Figure.x1 := X;
  Figure.y1 := Y;
  Figure.x2 := X+1;
  Figure.y2 := Y+1;
  Figure.brushStyle := bsClear;
  Figure.brushColor := $000000;
  Figure.color := $FFFF00;        //???? ?????
  Figure.text := '';
  AddFigure(Figure);
End;

const
  _Range = 7;    
  
type 
  TFishTile = record
   X, Y, Tile : Word;
   Z : Integer;
   Banned : Boolean;
 end;   
 
var
  _FishingTiles : Array of Word;   
  _LootTypes : Array of Word;    
  _FishTypes : Array of Word;
  
type TFishTileArray = Array of TFishTile; 
  
function SetFishTiles(var FishPoints : TFishTileArray) : Integer;
var
  x, y, i, k : Integer;   
  tmpTile: TStaticCell;
begin 
  for x := (_Range *-1) to _Range do
    for y := (_Range *-1) to _Range do 
      begin                
        tmpTile := ReadStaticsXY(GetX(Self) + x, GetY(Self) + y, WorldNum);
        for k := 0 to High(tmpTile.Statics) do 
          for i := 0 to (Length(_FishingTiles) - 1) do
            if (tmpTile.Statics[k].Tile = _FishingTiles[i]) then
              begin
                SetLength(FishPoints, Length(FishPoints) + 1);
                FishPoints[High(FishPoints)].Tile := tmpTile.Statics[k].Tile; 
                FishPoints[High(FishPoints)].X := GetX(Self) + x; 
                FishPoints[High(FishPoints)].Y := GetY(Self) + y;
                FishPoints[High(FishPoints)].Z := tmpTile.Statics[k].Z;
                FishPoints[High(FishPoints)].Banned := False;
                Inc(Result); 
                DrawMap(GetX(Self) + x, GetY(Self) + y);
                Break;  
              end;        
      end;       
  
end;

procedure WaitLag(WaitTimeMS : Integer);
begin
  CheckLag(30000);
  Wait(WaitTimeMS);
end;

type TCardinalArray = Array of Cardinal;

function GetFoundItems(ItemType: Word; Container : Cardinal): TCardinalArray;
var 
 res : TCardinalArray;
 List: TStringList; 
 i: Integer;
begin
  if (FindType(ItemType, Container) <= 0) then
    Exit;
    
  List := TStringList.Create;
  if GetFindedList(List) then
   begin
    SetLength(res, List.Count);
    for i := 0 to Length(res)-1 do 
      res[i] := StrToInt('$'+List.Strings[i]);
   end;

  List.Free; 
  Result := res;
end;

function GetFoundItemsEx(ItemTypes : Array of Word; Container : Cardinal) : TCardinalArray;
var
  i, k : Integer;
  tmpItems : TCardinalArray;
begin
  for i := 0 to High(ItemTypes) do
    begin
      tmpItems := GetFoundItems(ItemTypes[i], Container);
      for k := 0 to High(tmpItems) do
        begin
          SetLength(Result, Length(Result) + 1);
          Result[High(Result)] := tmpItems[k];
        end;
    end;
end;

function GetFoundItemsWithColour(ItemType, ItemColour: Word; Container : Cardinal): TCardinalArray;
var 
 res : TCardinalArray;
 List: TStringList; 
 i: Integer;
begin
  if (FindTypeEx(ItemType, ItemColour, Container, False) <= 0) then
    Exit;
    
  List := TStringList.Create;
  if GetFindedList(List) then
   begin
    SetLength(res, List.Count);
    for i := 0 to Length(res)-1 do 
      res[i] := StrToInt('$'+List.Strings[i]);
   end;

  List.Free; 
  Result := res;
end;

procedure Carve(Id : Cardinal);
var
  i : Integer;
begin
  for i := 0 to High(_FishTypes) do
    if GetType(Id) = _FishTypes[i] then
      begin
        UseType($0F51, 0);
        if WaitForTarget(10000) then
          TargetToObject(Id);                                            
        WaitJournalLine(Now, 'Success', 3000);
        Break;
      end; 
end;

procedure LootingSequence;
var
  i, k : Integer;
  tmpArr : TCardinalArray;
begin
  for i := 0 to High(_LootTypes) do
    begin
      tmpArr := GetFoundItems(_LootTypes[i], Ground);
      for k := 0 to High(tmpArr) do
        begin
          MoveItem(tmpArr[k], 0, Backpack, 0,0,0);
          WaitLag(500);   
          Carve(tmpArr[k]);
        end;
    end;
end;

procedure BanTile(var FishPoint : TFishTile);
begin
  FishPoint.Banned := True;
  WaitLag(1500);  
end;

var
  fishPoints : TFishTileArray;
  i, q : Integer;
begin
  ClearFigures;
  _FishingTiles := [3518,3335,3336,3337,6039,6040,6041,6042,6043,6044,6060]; 
  _FishTypes := [$9CC, $9CD, $9CE, $9CF, $14EB, $DD6, $DD7, $DD8];
  _LootTypes := [$EED, $9CC, $9CD, $9CE, $9CF, $14EB, $DD6, $DD7, $DD8];
 
 AddToSystemJournal('FishSpots initialized: ' + IntToStr(SetFishTiles(fishPoints)));
                   
 while True do 
   begin
    for i := 0 to High(fishPoints) do 
      begin
        if fishPoints[i].Banned then
          Continue;        
          
        //if UseType($DCA, $12C) = 0 then
          UseType($0DBF, 0);
        if WaitForTarget(30000) then
          TargetToTile(fishPoints[i].Tile, fishPoints[i].X, fishPoints[i].Y, fishPoints[i].Z);//fishPoints[i].Z);
        WaitJournalLineSystem(Now, 'stop|far away|see that|seem to get|have to cast', 5000); 
     
        case FoundedParamId of
          -1 : AddToSystemJournal(LastJournalMessage);
          1 : BanTile(fishPoints[i]);
          2 : BanTile(fishPoints[i]);
          4 : BanTile(fishPoints[i]); 
        end;
        CheckLag(30000);
      end;
    Inc(q);    
    if ((q mod 3) = 0) then 
      begin
        LootingSequence;
        if FindType($97B, Backpack) > 0 then
          begin
            UseObject(FindItem);
            WaitLag(300);
          end
        else
          AddToSystemJournal('No food in backpack');
        AddToSystemJournal('RoundMade');
      end;
   end;
end.

Edited by Drabadan, 05 February 2017 - 09:08 PM.


#29
долби

долби

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 595 posts

холостые закидоны удочки на землю,если нужно то ставь 8

Т.к. 8 это радиус поиска таилов будет и радиус максимальной длинны закидывания удочки, а закидоны в землю это из-за говно таилов которые он будет искать. А значит просто надо найти место с нормальными таилами воды, ну или послать их в игнор :)


Edited by долби, 05 February 2017 - 09:23 PM.


#30
долби

долби

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 595 posts

 

1 круг запомним все холостые закидоны, со след всё только цель.

Program fishing_New;

Procedure DrawMap(X, Y: Integer);
Var
Figure: TMapFigure;
Begin
  Figure.kind := fkLine;
  Figure.coord := fcWorld;
  Figure.x1 := X;
  Figure.y1 := Y;
  Figure.x2 := X+1;
  Figure.y2 := Y+1;
  Figure.brushStyle := bsClear;
  Figure.brushColor := $000000;
  Figure.color := $FFFF00;        //???? ?????
  Figure.text := '';
  AddFigure(Figure);
End;

const
  _Range = 7;    
  
type 
  TFishTile = record
   X, Y, Tile : Word;
   Z : Integer;
   Banned : Boolean;
 end;   
 
var
  _FishingTiles : Array of Word;   
  _LootTypes : Array of Word;    
  _FishTypes : Array of Word;
  
type TFishTileArray = Array of TFishTile; 
  
function SetFishTiles(var FishPoints : TFishTileArray) : Integer;
var
  x, y, i, k : Integer;   
  tmpTile: TStaticCell;
begin 
  for x := (_Range *-1) to _Range do
    for y := (_Range *-1) to _Range do 
      begin                
        tmpTile := ReadStaticsXY(GetX(Self) + x, GetY(Self) + y, WorldNum);
        for k := 0 to High(tmpTile.Statics) do 
          for i := 0 to (Length(_FishingTiles) - 1) do
            if (tmpTile.Statics[k].Tile = _FishingTiles[i]) then
              begin
                SetLength(FishPoints, Length(FishPoints) + 1);
                FishPoints[High(FishPoints)].Tile := tmpTile.Statics[k].Tile; 
                FishPoints[High(FishPoints)].X := GetX(Self) + x; 
                FishPoints[High(FishPoints)].Y := GetY(Self) + y;
                FishPoints[High(FishPoints)].Z := tmpTile.Statics[k].Z;
                FishPoints[High(FishPoints)].Banned := False;
                Inc(Result); 
                DrawMap(GetX(Self) + x, GetY(Self) + y);
                Break;  
              end;        
      end;       
  
end;

procedure WaitLag(WaitTimeMS : Integer);
begin
  CheckLag(30000);
  Wait(WaitTimeMS);
end;

type TCardinalArray = Array of Cardinal;

function GetFoundItems(ItemType: Word; Container : Cardinal): TCardinalArray;
var 
 res : TCardinalArray;
 List: TStringList; 
 i: Integer;
begin
  if (FindType(ItemType, Container) <= 0) then
    Exit;
    
  List := TStringList.Create;
  if GetFindedList(List) then
   begin
    SetLength(res, List.Count);
    for i := 0 to Length(res)-1 do 
      res[i] := StrToInt('$'+List.Strings[i]);
   end;

  List.Free; 
  Result := res;
end;

function GetFoundItemsEx(ItemTypes : Array of Word; Container : Cardinal) : TCardinalArray;
var
  i, k : Integer;
  tmpItems : TCardinalArray;
begin
  for i := 0 to High(ItemTypes) do
    begin
      tmpItems := GetFoundItems(ItemTypes[i], Container);
      for k := 0 to High(tmpItems) do
        begin
          SetLength(Result, Length(Result) + 1);
          Result[High(Result)] := tmpItems[k];
        end;
    end;
end;

function GetFoundItemsWithColour(ItemType, ItemColour: Word; Container : Cardinal): TCardinalArray;
var 
 res : TCardinalArray;
 List: TStringList; 
 i: Integer;
begin
  if (FindTypeEx(ItemType, ItemColour, Container, False) <= 0) then
    Exit;
    
  List := TStringList.Create;
  if GetFindedList(List) then
   begin
    SetLength(res, List.Count);
    for i := 0 to Length(res)-1 do 
      res[i] := StrToInt('$'+List.Strings[i]);
   end;

  List.Free; 
  Result := res;
end;

procedure Carve(Id : Cardinal);
var
  i : Integer;
begin
  for i := 0 to High(_FishTypes) do
    if GetType(Id) = _FishTypes[i] then
      begin
        UseType($0F51, 0);
        if WaitForTarget(10000) then
          TargetToObject(Id);                                            
        WaitJournalLine(Now, 'Success', 3000);
        Break;
      end; 
end;

procedure LootingSequence;
var
  i, k : Integer;
  tmpArr : TCardinalArray;
begin
  for i := 0 to High(_LootTypes) do
    begin
      tmpArr := GetFoundItems(_LootTypes[i], Ground);
      for k := 0 to High(tmpArr) do
        begin
          MoveItem(tmpArr[k], 0, Backpack, 0,0,0);
          WaitLag(500);   
          Carve(tmpArr[k]);
        end;
    end;
end;

procedure BanTile(var FishPoint : TFishTile);
begin
  FishPoint.Banned := True;
  WaitLag(1500);  
end;

var
  fishPoints : TFishTileArray;
  i, q : Integer;
begin
  ClearFigures;
  _FishingTiles := [3518,3335,3336,3337,6039,6040,6041,6042,6043,6044,6060]; 
  _FishTypes := [$9CC, $9CD, $9CE, $9CF, $14EB, $DD6, $DD7, $DD8];
  _LootTypes := [$EED, $9CC, $9CD, $9CE, $9CF, $14EB, $DD6, $DD7, $DD8];
 
 AddToSystemJournal('FishSpots initialized: ' + IntToStr(SetFishTiles(fishPoints)));
                   
 while True do 
   begin
    for i := 0 to High(fishPoints) do 
      begin
        if fishPoints[i].Banned then
          Continue;        
          
        //if UseType($DCA, $12C) = 0 then
          UseType($0DBF, 0);
        if WaitForTarget(30000) then
          TargetToTile(fishPoints[i].Tile, fishPoints[i].X, fishPoints[i].Y, fishPoints[i].Z);//fishPoints[i].Z);
        WaitJournalLineSystem(Now, 'stop|far away|see that|seem to get|have to cast', 5000); 
     
        case FoundedParamId of
          -1 : AddToSystemJournal(LastJournalMessage);
          1 : BanTile(fishPoints[i]);
          2 : BanTile(fishPoints[i]);
          4 : BanTile(fishPoints[i]); 
        end;
        CheckLag(30000);
      end;
    Inc(q);    
    if ((q mod 3) = 0) then 
      begin
        LootingSequence;
        if FindType($97B, Backpack) > 0 then
          begin
            UseObject(FindItem);
            WaitLag(300);
          end
        else
          AddToSystemJournal('No food in backpack');
        AddToSystemJournal('RoundMade');
      end;
   end;
end.

Можешь когда хочешь ведь :)



#31
Drabadan

Drabadan

    Путешественник

  • Пользователи
  • PipPip
  • 35 posts
  • Location:Ukraine

Можешь когда хочешь ведь :)

ммм?



#32
долби

долби

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 595 posts

ммм?

за даром скидывать скрипты :)



#33
Drabadan

Drabadan

    Путешественник

  • Пользователи
  • PipPip
  • 35 posts
  • Location:Ukraine

за даром скидывать скрипты :)

да ето ж не скрипт :) 



#34
долби

долби

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 595 posts

да ето ж не скрипт :)

мелочь, а приятно :)



#35
koketka

koketka

    Вождь Зулу

  • Пользователи
  • PipPipPipPipPipPipPip
  • 578 posts
  • Location:Санкт-Петербург
 Compiler: [Error] (fishing_New.sc at 72:0):  Redeclared identifier "GetFoundItems" ;
Error line is: " function GetFoundItems(ItemType: Word; Container : Cardinal): TCardinalArray; "
 
подскажите плз, в чем проблема?.... 


#36
Drabadan

Drabadan

    Путешественник

  • Пользователи
  • PipPip
  • 35 posts
  • Location:Ukraine

 

 Compiler: [Error] (fishing_New.sc at 72:0):  Redeclared identifier "GetFoundItems" ;
Error line is: " function GetFoundItems(ItemType: Word; Container : Cardinal): TCardinalArray; "
 
подскажите плз, в чем проблема?.... 

 

 

в 7.9.1 ввели "аппаратную поддержку" GetFoundItems, надо бы перекомпилить...



#37
cSmoke

cSmoke

    Путешественник

  • Пользователи
  • PipPip
  • 54 posts

могу кинуть на на инже скрипт







0 user(s) are reading this topic

members, guests, anonymous users