SRL Archive - OSR Help

How to loop this


Leekeleek

2013-08-07 03:55:59

program LeekSuperKebabs;
{$define sr15}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}

var
i:Integer;
martin:Integer;
Superkebab:Integer;
InvKebab:Integer;
SK:Integer;
WalkDTM:Integer;

Procedure StealKebab;
var
x, y: Integer;
begin
FindColorTolerance(x, y, 3304784 , 7, 11, 746, 491, 5);
Mouse(x, y, 0, 0, True);
wait (500);
end;

Procedure FindStore;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 7625091, 7, 11, 746, 491, 5) then
begin
mmouse(x, y,1,1);
wait(250);
ClickMouse(X, Y, mouse_Right)
wait(250);
if FindBitmapToleranceIn(martin, x, y, 7, 11, 746, 491,100) then
begin
mmouse(x, y,1,1);
wait(250);
ClickMouse(X, Y, mouse_Left)
wait(4000);
end;
end;
end;


Procedure SellKebabs;
var
x, y: Integer;
begin
if FindDTM(SK, x, y, 557, 217, 733, 462) then
begin
mmouse(x, y,1,1);
clickmouse2(mouse_Right);
wait(3000);
if FindBitmapToleranceIn(Superkebab, x, y, 7, 11, 746, 491,100) then
begin
mmouse(x, y,1,1);
wait(1500);
ClickMouse(X, Y, mouse_Left)
end;
end;
end;

Procedure CloseDat;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 5268590, 7, 11, 746, 491, 5) then
begin
mmouse(x, y,1,1);
wait(1000);
ClickMouse(X, Y, mouse_Left)
ClickDTMRotatedIn(WalkDTM, 7, 11, 746, 491, -Pi, Pi, Pi/30, [], mouse_Left);
Wait(2500);
while (IsMoving) do
wait(100);
end;
end;


Begin
SetUpSRL;
SK := DTMFromString('mWAAAAHicY2FgYMhgYmBIA+JsIE4CYh5GBgZBIOYHYm4gXjUhnmFSdRAY75mfycAJ1IOMGdEwCAAApx4IJg==');
WalkDTM := DTMFromString('mQwAAAHicY2ZgYAhlYmCIgOIoID8aiCOAWGc3F8OW1SsYNGdxM4gA+TDMiISBAAD2lwYh');




MouseSpeed := 15;

Superkebab := BitmapFromString(141, 8, 'meJzVVkkOwjAM5CG5c+ANlThz5G' +
'Vc+Asv4FsQNaplvEymbVSJyIc0zNiJx7aYbvdyvlR7vt7VTvOqn7L' +
'JTPBmn2HC87ravpoPcX18qvFXGmsSfTh4A35aZJLskUReJu/Wc0O6' +
'POcwaf5CpkypMNuMTGVpgYzbDgE9VEqfmF/bZ0YhwSaTDAu42hC6K' +
'5NXyg+oVTKFbrVM4hbQwzc2fLg3ucXneq5m6RVAN0R2VRLPy5SllN' +
'xjmcygK3O7MfTwjaP2YN4aAO82lJvBr5XJpNT8xxgiE0/fLwdoDRC' +
'xm3O+EpirdmWS8s7kkIW7zEvj8eV37ulwYQetzQnIVdYaoDCy+bmt' +
'y3bKZIpcs0xD8TIZbuY2Gzu6eg0GlDQYVqY7SJl0wWBXTOjuVUP7A' +
'nmyz6w=');

martin := BitmapFromString(52, 10, 'meJzNVEkSgDAI4yHePfhe/+IL/B' +
'bq1CICpsv0YIdDiRmMTSoRrdt+FuU1zUtHyZBKPjFfpfge6Rg7Uhu' +
'zaX+lzRbUltpUhmNA/wgPCT31GyEAbRI/3YaaSYUW88N03UHXSLY7' +
'1GbuhT4HoMHgwOviXcDa/OFUavAf0qqteG5hIJv24L80StuXp/V4q' +
'zbxVNL40EIX3qsbB28xyAH+k8Vm');

InvKebab := BitmapFromString(31, 14, 'meJydktsrBGEYxslMM5dr17VDDi' +
'XnLefNWSvHJESbtLW0NDkLISESUlIipZRCSolSLsSFcuHChf/Hb+Y' +
'b09q141BPb8/3zfv+9pl31u2pc38qNiameuZAcd4r8TeK41Lui1Mc' +
'p6rzQXU+qa5nDDeyP04ekPSKOGqSMmUeFcc5s137D56RHVDJyfnur' +
'3Dv8hkQwTeZhkymJsljkjKrVzloMA2j9zvvGWxYvaia3hfkSHiRf7' +
'Fl+7Zp40p1vamuFzNwUMfCJKSQCR+QjJ5XvTnh3Xf4CPxbsgWnoX7' +
'pFNUtnqDmzWsLqzOFNEPAP5fWunPXuH5Zu3AcuZBQOMCauSPaqHwC' +
'XhPh+TnGkY4Nmsn1rxN/Qx6x52ixLTjAysk9gcUwVa5tUVHF+C433' +
'IsejuJpaXDNwlrk3NLqSDjNAiJmGSwOLJUMrmBQ2fAGDVQ8lzwq7J' +
'+3CRwGZ4RZEQkjxgt80+6+WQwN4oYjlzarCEsexicbHkh+70Rup4b' +
'yukfxVHxOx1DkKuzhFt8KDA1OZrMfZbUFstsHqfjfrMJmP5AJCRla' +
'hteXVtuVXt+D7P8V0TKH8UPJqVUdSWVNKZ5W+1UI8o9wwef1RWawi' +
'SXef68iGj9Uf13FB6maRU0=');

repeat
for i := 0 to 110 do
begin
StealKebab;
end;
until (true);
Findstore;
SellKebabs;
CloseDat;

FreeBitmap(Superkebab);
FreeBitmap(martin);
FreeBitmap(InvKebab);
FreeDTM(SK);
FreeDTM(WalkDTM);
end.

Is there any possible way I could edit this
so the entire thing loops? As in I mean the script restarts again once all methods are completed, like once everything is executed it starts back at StealKebab, then does everything else, then repeats from start over and over? I know its just repeat and then until (false); I have that there but how do I repeat it for the entire script..

loragnor

2013-08-07 04:10:37

One thing: Please don't double post.

From: Leekeleek


Is there any possible way I could edit this
so the entire thing loops? As in I mean the script restarts again once all methods are completed, like once everything is executed it starts back at StealKebab, then does everything else, then repeats from start over and over? I know its just repeat and then until (false); I have that there but how do I repeat it for the entire script..


Just a quick idea:

program LeekSuperKebabs;
{$define sr15}
{$loadlib sps}
{$i srl/srl.simba}
{$i sps/sps.simba}

var
i:Integer;
martin:Integer;
Superkebab:Integer;
InvKebab:Integer;
SK:Integer;
WalkDTM:Integer;
Cnt,MaxIter: Integer;

Procedure DefineVars;
begin
MaxIter := 5000; // Maximum number of times to iterate the script
SK := DTMFromString('mWAAAAHicY2FgYMhgYmBIA+JsIE4CYh5GBgZBIOYHYm4gXjUhnmFSdRAY75mfycAJ1IOMGdEwCAAApx4IJg==');
WalkDTM := DTMFromString('mQwAAAHicY2ZgYAhlYmCIgOIoID8aiCOAWGc3F8OW1SsYNGdxM4gA+TDMiISBAAD2lwYh');

MouseSpeed := 15;

Superkebab := BitmapFromString(141, 8, 'meJzVVkkOwjAM5CG5c+ANlThz5G' +
'Vc+Asv4FsQNaplvEymbVSJyIc0zNiJx7aYbvdyvlR7vt7VTvOqn7L' +
'JTPBmn2HC87ravpoPcX18qvFXGmsSfTh4A35aZJLskUReJu/Wc0O6' +
'POcwaf5CpkypMNuMTGVpgYzbDgE9VEqfmF/bZ0YhwSaTDAu42hC6K' +
'5NXyg+oVTKFbrVM4hbQwzc2fLg3ucXneq5m6RVAN0R2VRLPy5SllN' +
'xjmcygK3O7MfTwjaP2YN4aAO82lJvBr5XJpNT8xxgiE0/fLwdoDRC' +
'xm3O+EpirdmWS8s7kkIW7zEvj8eV37ulwYQetzQnIVdYaoDCy+bmt' +
'y3bKZIpcs0xD8TIZbuY2Gzu6eg0GlDQYVqY7SJl0wWBXTOjuVUP7A' +
'nmyz6w=');

martin := BitmapFromString(52, 10, 'meJzNVEkSgDAI4yHePfhe/+IL/B' +
'bq1CICpsv0YIdDiRmMTSoRrdt+FuU1zUtHyZBKPjFfpfge6Rg7Uhu' +
'zaX+lzRbUltpUhmNA/wgPCT31GyEAbRI/3YaaSYUW88N03UHXSLY7' +
'1GbuhT4HoMHgwOviXcDa/OFUavAf0qqteG5hIJv24L80StuXp/V4q' +
'zbxVNL40EIX3qsbB28xyAH+k8Vm');

InvKebab := BitmapFromString(31, 14, 'meJydktsrBGEYxslMM5dr17VDDi' +
'XnLefNWSvHJESbtLW0NDkLISESUlIipZRCSolSLsSFcuHChf/Hb+Y' +
'b09q141BPb8/3zfv+9pl31u2pc38qNiameuZAcd4r8TeK41Lui1Mc' +
'p6rzQXU+qa5nDDeyP04ekPSKOGqSMmUeFcc5s137D56RHVDJyfnur' +
'3Dv8hkQwTeZhkymJsljkjKrVzloMA2j9zvvGWxYvaia3hfkSHiRf7' +
'Fl+7Zp40p1vamuFzNwUMfCJKSQCR+QjJ5XvTnh3Xf4CPxbsgWnoX7' +
'pFNUtnqDmzWsLqzOFNEPAP5fWunPXuH5Zu3AcuZBQOMCauSPaqHwC' +
'XhPh+TnGkY4Nmsn1rxN/Qx6x52ixLTjAysk9gcUwVa5tUVHF+C433' +
'IsejuJpaXDNwlrk3NLqSDjNAiJmGSwOLJUMrmBQ2fAGDVQ8lzwq7J' +
'+3CRwGZ4RZEQkjxgt80+6+WQwN4oYjlzarCEsexicbHkh+70Rup4b' +
'yukfxVHxOx1DkKuzhFt8KDA1OZrMfZbUFstsHqfjfrMJmP5AJCRla' +
'hteXVtuVXt+D7P8V0TKH8UPJqVUdSWVNKZ5W+1UI8o9wwef1RWawi' +
'SXef68iGj9Uf13FB6maRU0=');
end;

Procedure StealKebab;
var
x, y: Integer;
begin
FindColorTolerance(x, y, 3304784 , 7, 11, 746, 491, 5);
Mouse(x, y, 0, 0, True);
wait (500);
end;

Procedure FindStore;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 7625091, 7, 11, 746, 491, 5) then
begin
mmouse(x, y,1,1);
wait(250);
ClickMouse(X, Y, mouse_Right)
wait(250);
if FindBitmapToleranceIn(martin, x, y, 7, 11, 746, 491,100) then
begin
mmouse(x, y,1,1);
wait(250);
ClickMouse(X, Y, mouse_Left)
wait(4000);
end;
end;
end;


Procedure SellKebabs;
var
x, y: Integer;
begin
if FindDTM(SK, x, y, 557, 217, 733, 462) then
begin
mmouse(x, y,1,1);
clickmouse2(mouse_Right);
wait(3000);
if FindBitmapToleranceIn(Superkebab, x, y, 7, 11, 746, 491,100) then
begin
mmouse(x, y,1,1);
wait(1500);
ClickMouse(X, Y, mouse_Left)
end;
end;
end;

Procedure CloseDat;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 5268590, 7, 11, 746, 491, 5) then
begin
mmouse(x, y,1,1);
wait(1000);
ClickMouse(X, Y, mouse_Left)
ClickDTMRotatedIn(WalkDTM, 7, 11, 746, 491, -Pi, Pi, Pi/30, [], mouse_Left);
Wait(2500);
while (IsMoving) do
wait(100);
end;
end;


Begin
SetUpSRL;
Cnt := 0;
repeat
i := 0;
while i < 110 do
begin
StealKebab;
inc(i);
end;

Findstore;
SellKebabs;
CloseDat;
inc(Cnt);
until(Cnt=MaxIter);

FreeBitmap(Superkebab);
FreeBitmap(martin);
FreeBitmap(InvKebab);
FreeDTM(SK);
FreeDTM(WalkDTM);
end.