hey, so i've been working on this script for a little while now, mainly getting stuck on walking alot. but right now. i was wondering if someone could tell me how i can make my character idle at a fishing spot and not spam click the spots while filling the invi. also how do i get it to switch from fishing to my first click of walking (first time ive got DTM compiled )

Error: Exception: The bitmap[0] does not exist at line 664
The following DTMs were not freed: [0, 1, 2, 3]




any tips are appreciated.




program BarbFisher;
{$I SRL\SRL.Simba}
{$I P07Include.Simba}

var x, y: integer;

Procedure DeclarePlayers;


begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name :='username';
Players[0].Pass :='password';
Players[0].Nick :='nick';
Players[0].Active:=True;
SetUpSRL;
end;
Procedure AntiBan;
begin
if(not(LoggedIn))then
Exit;
FindNormalRandoms;
case Random(8) of
0:
begin
HoverSkill('Fishing' , false);
wait (2193+Random(420));
end;
1: PickUpMouse;
2:
begin
MakeCompass('N');
wait(120+random(100));
MakeCompass('W');
wait(40+random(10));
MakeCompass('N');
FindNormalRandoms;
end;
end;
end;


procedure CatchFish;
begin
repeat;
P07_FindObjCustom(x, y, ['spot', 'Fishing'], [14597535, 14597268, 15123625, 14398100, 15058085],10);
ClickMouse2(mouse_left)
wait(8000+Random(12000));
until(P07_InvFull);
end;


function FindFloorColor0: Integer;
var
Point0 : TPointArray;
begin
if FindColorsTolerance(Point0, 2835071, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 10) then
Result:= GetColor(Point0[0].X, Point0[0].Y);
end;
function FindFloorColor1: Integer;
var
Point1 : TPointArray;
begin
if FindColorsTolerance(Point1, 4550999, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 10) then
Result:= GetColor(Point1[1].X, Point1[1].Y);
end;
function FindFloorColor2: Integer;
var
Point2 : TPointArray;
begin
if FindColorsTolerance(Point2, 1864295, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 10) then
Result:= GetColor(Point2[2].X, Point2[2].Y);
end;
function FindFloorColor3: Integer;
var
Point3 : TPointArray;
begin
if FindColorsTolerance(Point3, 2195550, P07_MMX1, P07_MMY1, P07_MMX2, P07_MMY2, 10) then
Result:= GetColor(Point3[3].X, Point3[3].Y);
end;


function DDTMWalk(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin
dtmMainPoint.x := 1168;
dtmMainPoint.y := 139;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFloorColor0;
dtmMainPoint.Tolerance := 3;

dtmSubPoints[1].x := 1168;
dtmSubPoints[1].y := 139;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFloorColor1;
dtmSubPoints[1].Tolerance := 3;

dtmSubPoints[2].x := 1173;
dtmSubPoints[2].y := 124;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFloorColor2;
dtmSubPoints[2].Tolerance := 3;

dtmSubPoints[3].x := 1190;
dtmSubPoints[3].y := 137;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFloorColor3;
dtmSubPoints[3].Tolerance := 3;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;

begin
SetupP07Include
repeat
CatchFish;
AntiBan;
DeclarePlayers;
until(false);
end.