juunhoad
2013-03-01 20:14:11
First, I want to apologies for making so much threads!
I made another fail attempt with DTM. The problem I have is that the script does click on the minimap but not the right direction. I uploaded a picture so you can see what I mean
[ATTACH=CONFIG]19513[/ATTACH]
The blue colors is where it should click, but it clicks on those red colors.
I also get this message:
How can I fix that and is it a big problem?
here is the code, it's pretty long for just 2 walking spots.
I made another fail attempt with DTM. The problem I have is that the script does click on the minimap but not the right direction. I uploaded a picture so you can see what I mean
[ATTACH=CONFIG]19513[/ATTACH]
The blue colors is where it should click, but it clicks on those red colors.
I also get this message:
The following DTMs were not freed: [4, 5]
How can I fix that and is it a big problem?
here is the code, it's pretty long for just 2 walking spots.
program new;
{$i SRL/SRL.simba}
{$I P07Include.Simba}
function FindFloorColor0: Integer;
var
Point0 : TPointArray;
begin
if FindColorsTolerance(Point0, 2129757, 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, 1997915, 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, 2130792, 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, 2129765, P07_MMX1,P07_MMY1,P07_MMX2,P07_MMY2, 10) then
Result:= GetColor(Point3[3].X, Point3[3].Y);
end;
function FindFloorColor4: Integer;
var
Point0 : TPointArray;
begin
if FindColorsTolerance(Point0, 1997936, P07_MMX1,P07_MMY1,P07_MMX2,P07_MMY2, 10) then
Result:= GetColor(Point0[0].X, Point0[0].Y);
end;
function FindFloorColor5: Integer;
var
Point1 : TPointArray;
begin
if FindColorsTolerance(Point1, 1997922, P07_MMX1,P07_MMY1,P07_MMX2,P07_MMY2, 10) then
Result:= GetColor(Point1[1].X, Point1[1].Y);
end;
function FindFloorColor6: Integer;
var
Point2 : TPointArray;
begin
if FindColorsTolerance(Point2, 1997942, P07_MMX1,P07_MMY1,P07_MMX2,P07_MMY2, 10) then
Result:= GetColor(Point2[2].X, Point2[2].Y);
end;
function FindFloorColor7: Integer;
var
Point3 : TPointArray;
begin
if FindColorsTolerance(Point3, 1997936, 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 := 575;
dtmMainPoint.y := 62;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFloorColor0;
dtmMainPoint.Tolerance := 3;
dtmSubPoints[0].x := 575;
dtmSubPoints[0].y := 62;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFloorColor0;
dtmSubPoints[0].Tolerance := 3;
dtmSubPoints[1].x := 585;
dtmSubPoints[1].y := 83;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFloorColor1;
dtmSubPoints[1].Tolerance := 3;
dtmSubPoints[2].x := 581;
dtmSubPoints[2].y := 58;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFloorColor2;
dtmSubPoints[2].Tolerance := 3;
dtmSubPoints[3].x := 599;
dtmSubPoints[3].y := 90;
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;
2:begin
dtmMainPoint.x := 612;
dtmMainPoint.y := 24;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindFloorColor4;
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 612;
dtmSubPoints[0].y := 24;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindFloorColor4;
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 626;
dtmSubPoints[1].y := 38;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindFloorColor5;
dtmSubPoints[1].Tolerance := 10;
dtmSubPoints[2].x := 616;
dtmSubPoints[2].y := 17;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindFloorColor6;
dtmSubPoints[2].Tolerance := 10;
dtmSubPoints[3].x := 605;
dtmSubPoints[3].y := 27;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindFloorColor7;
dtmSubPoints[3].Tolerance := 10;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
function Walk: Boolean;
var
WalkDTM,x ,y: integer;
begin
WalkDTM := DDTMWalk(1);
if FindDTM(WalkDTM, X, Y, MMX1,MMY1,MMX2,MMY2) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(mouse_left);
P07_FFlag;
end;
begin;
WalkDTM := DDTMwalk(2);
if FindDTM(WalkDTM, X, Y, MMX1,MMY1,MMX2,MMY2) then
begin
MMouse(X, Y, 2, 2);
ClickMouse2(mouse_left);
end;
end;
end;
begin
SetupP07Include;
Walk;
end.