westkevin12
2013-05-03 04:00:20
I'm trying to add DDTM walking to my iron mining script and i'm stuck not sure what is wrong, it compiles and runs but doesn't move the mouse or click. mouse stays in top left of the screen. and honestly i don't see how the mouse would know were to move anyways. idk i've never done anything with DDTMs before was following a guide to get the functions made.
program ddtmwalking;
{$DEFINE SMART8}
{$i srl-osr/srl.simba}
{$i sps/sps-osr.simba}
{$I SRL-OSR/SRL/misc/SmartGraphics.Simba}
var
x,y : integer;
function bankMP: Integer;
var
TPA : TPointArray;
begin
SMART_DrawDots(TPA);
if FindColorsTolerance(TPA, 7369340, MMX1, MMY1, MMX2, MMY2, 10) then
Result:= GetColor(TPA[0].X, TPA[0].Y);
end;
function bankSP1: Integer;
var
TPA : TPointArray;
begin
SMART_DrawDots(TPA);
if FindColorsTolerance(TPA, 195836, MMX1, MMY1, MMX2, MMY2, 10) then
Result:= GetColor(TPA[0].X, TPA[0].Y);
end;
function bankSP2: Integer;
var
TPA : TPointArray;
begin
SMART_DrawDots(TPA);
if FindColorsTolerance(TPA, 195836, MMX1, MMY1, MMX2, MMY2, 10) then
Result:= GetColor(TPA[0].X, TPA[0].Y);
end;
function bankSP3: Integer;
var
TPA : TPointArray;
begin
SMART_DrawDots(TPA);
if FindColorsTolerance(TPA, 62965, MMX1, MMY1, MMX2, MMY2, 10) then
Result:= GetColor(TPA[0].X, TPA[0].Y);
end;
function bankSP4: Integer;
var
TPA : TPointArray;
begin
SMART_DrawDots(TPA);
if FindColorsTolerance(TPA, 15003621, MMX1, MMY1, MMX2, MMY2, 10) then
Result:= GetColor(TPA[0].X, TPA[0].Y);
end;
function DDTMWalk(WalkNumber: Integer): Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
case WalkNumber of
1: begin
dtmMainPoint.x := 919;
dtmMainPoint.y := 183;
dtmMainPoint.AreaSize := 4;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := bankMP;
dtmMainPoint.Tolerance := 10;
dtmSubPoints[0].x := 919;
dtmSubPoints[0].y := 183;
dtmSubPoints[0].AreaSize := 4;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := bankMP;
dtmSubPoints[0].Tolerance := 10;
dtmSubPoints[1].x := 918;
dtmSubPoints[1].y := 177;
dtmSubPoints[1].AreaSize := 4;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := bankSP1;
dtmSubPoints[1].Tolerance := 10;
dtmSubPoints[2].x := 926;
dtmSubPoints[2].y := 177;
dtmSubPoints[2].AreaSize := 4;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := bankSP2;
dtmSubPoints[2].Tolerance := 10;
dtmSubPoints[3].x := 931;
dtmSubPoints[3].y := 178;
dtmSubPoints[3].AreaSize := 4;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := bankSP3;
dtmSubPoints[3].Tolerance := 10;
dtmSubPoints[4].x := 906;
dtmSubPoints[4].y := 185;
dtmSubPoints[4].AreaSize := 4;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := bankSP4;
dtmSubPoints[4].Tolerance := 0;
TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
end;
end;
function walktopit: boolean;
var
WalkDTM: integer;
aFound: Extended;
begin
WalkDTM := DDTMWalk(1);
if FindDTMRotatedAlternating(WalkDTM, X, Y, MMx1,MMy1,MMx2,MMy2, - 35, 35, 1, aFound) then
begin
MMouse(x,y,5,5);
ClickMouse2(MOUSE_LEFT);
FFlag(0);
Result := True;
end;
end;
begin
setupSRL;
makecompass('E');
walktopit;
end.