Чар 100% усалости, ставим что бы ловил вокруг себя, если "на тайле нельзя ловить" качаем лор (анатомия например), потом пробуем снова ловить и так по кругу.
1. Нужно добавить лор (желательно что бы несколько раз делал т.к. усталость падает медленее чем один юз анатомии.
2. Добавить месаги, а то в этом скрипте тупо 3к задержка.
3. Как убрать что бы он рядом с собой не ловил?
п.с. Сам качал так, без лоров (вкачаны), результат:
1. Ночь 5+ фишинг, обвалился интернет - усталость почти полная.
2. Ночь 5+ фишинг, опять отпал инет, но уже 3 усталости осталось.
3. С утра поставил (усталость 3) 10+ фишинг, закончились удочки, усталость к моменту когда вернулся 0.)
Так что более чем уверен таким макаром можно достаточно без проблем докачать до 80, а может и 90. Потом слишком быстро вылавливает.)
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 = $689B3A9B; //сумка с добычей
fishpole = $0DBF; //удочка(или сети)
dagger = $0F51; //дагер
Trash = $689F8E86; //Мусорка
cut = 1; //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(100);
MoveItem(findtype($0EED,bag), 0, mainbag, 0, 0, 0);
wait(100);
MoveItem(bag, 0, Trash, 0, 0, 0);
end;
until (FindCount < 1) or dead;
End;
procedure MoveSos;
begin
repeat
FindType($099F, backpack);
if (FindCount >= 1) and (GetDistance(finditem) <=2) and (GetDistance(finditem) >=0) and connected and (not dead) then begin
wait(100);
MoveItem(finditem, 0, Trash, 0, 0, 0);
wait(100);
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)-5 to GetX(self)+5 do
for y:=GetY(self)-5 to GetY(self)+5 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(3000);
if Length(LastJournalMessage)=34 then begin
WaterPlace[a].a:=0;
AddToSystemJournal('Заброкован таил');
ClearJournal;
end;
UseType(fishpole, 0);
end;
if cut = 0 then begin
fishgrab;
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.