SRL Archive - Help

How to make simba chose the same right click option each time


tiggerred

2012-12-25 18:50:02

How do I make simba always chose the same right click option. Sometimes people get their familers in the way and it choses the wrong option.

program MoneyMaker;

procedure ClickGuy;
var
x, y: Integer;
begin
if (FindColorSpiralTolerance(x, y, 9942689 , 111, 4, 241, 89, 1)) or
(FindColorSpiralTolerance(x, y, 9480088 , 111, 4, 241, 89, 1)) or
(FindColorSpiralTolerance(x, y, 9152404 , 111, 4, 241, 89, 1)) or
(FindColorSpiralTolerance(x, y, 9417882 , 111, 4, 241, 89, 1)) Then
Begin
wait(1000);
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(1000);
end;
end;

procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
wait(3000)
GhostShopKeeper := BitmapFromString(15, 12, 'meJyNkVEOgyAQRHsFK5oW4w+CIG' +
'urvf/h7AiCG9omJfMxrC+7w7p4uXr5mLpl7mcnyd7I3e1QkxZr+MT' +
'ldQ1dti1rMo0DbES8wkDTcN17js2BxRM8Bs0JRg0eAsxJp4XVIvpP' +
'mFesaQsVMOW0KQD0pB7ZznhJHN6n5MwFzFrxWez65eG/4dPn3ebiP' +
'zD+11lncznsVBX9i7qjJzthUbuO/avKqhbmDQOOrBA=');
if (FindBitmapToleranceIn(GhostShopKeeper, X, Y, 0, 0, 100, 100, 5)) then
wait(1000);
ClickMouse(X, Y, mouse_left);
wait(20000)
FreeBitmap(GhostShopKeeper);
end

;procedure FindRing;
begin
MoveMouse(328, 265);
wait(1000);
ClickMouse(328, 265, mouse_right);
HoldMouse(328, 265, mouse_right);
wait(1000);
MoveMouse(328, 300);
wait(1000);
ClickMouse(328, 300, mouse_left);
wait(1000);
MoveMouse(445, 39);
wait(1000);
ClickMouse(445, 39, mouse_left);
end

;begin
ClickGuy; finishopenshop; FindRing; //codes
end.

And if someone will pm me to help test my script etc.
AND the last half of my script dosent work. Like it doesnt do anything

The Killer

2012-12-25 18:50:56

would be better to use chooseoption or waitoption

riwu

2012-12-25 18:54:47

If this is for private server, you can either create your own fonts, or make a bitmap/dtm of the option. Look into the intermediate tut forum.

tiggerred

2012-12-25 19:21:09

Okay here is my new code. Anyone mind cleaning it up so it will compile lol :)

program MoneyMaker;

procedure ClickGuy;
var
x, y: Integer;
begin
if (FindColorSpiralTolerance(x, y, 10272165 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10205347 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 9942176 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10403495 , 111, 4, 241, 89, 5)) Then
Begin
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(1000);
end;

begin
ClickGuy;
end;

procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
GhostShopKeeper := BitmapFromString(81, 16, 'meJyll1lyozAQhn2FBGwCnlRN2S' +
'xaIMZ3yzXmda6badRSq7UYg4f6K5EahPTRi2TVHSdRRfoSHyjZV17' +
'dkeyxpNdN1nkproY0q2aS59v4OYpGDx9a1MO10G05m1vrugVi7w+n' +
'lm0hr+/i+g5/h7ZS3fH7z99I+5FrFA5/gBxgolRbgA4/PySYRQByV' +
'2IXGiBY6v8gg4RFBvZCGS8fDgdc7cFdqcfXFCLD8HXksStRU3+0sH' +
'iZNjh9dMhgwydfRrZfElwGyG0x9iflAptWu4nxQTxnkBPnEu/YBby' +
'iLYe2xHaKnKXejgzvMdTg4lK5cN2BLLlqUh45oWbInmvoTpEiZN1C' +
'ghcvUNN7lqSGlDFeziJnUzsw5vwbIKvAmEY1R6Zc/tKfEO0+4J0QG' +
'am5nVNHQwJkZ9H98SkyRhqg8W5UpuiWR1Z1+nwS2EH0+lyOkJ1dG1' +
'+nuT9z3vDiXrYp88zLltcFc1TY8Z0pmkFuqD2HbVg2xWoUvaybKWv' +
'wHzYvas8Mc068HLsexvancahu6vwUmfI3jxbmb4ocRQsiI7VaQ/Zt' +
'/phiOR4ho/gn2ofMAKlGPcfMIfMwi7ZjOHgQ2kZkGLKOHAV5hAy8s' +
'zbIMmUMulHOxmUqazdTR3Za1Sib5awlapCnY5HMkcXlzS9b1Kqv0u' +
'fnpHaRnQf8XZ/vDBlkM9dtOtQNtrmkPmTtcaSRXS/feYTDhlzAYQH' +
'Wv+wyab4Iu4A8XE72loRDaQ3aNJezg3/JaPdltrfSDvtcKqvMqTKW' +
'RT6DowEZcHgN10zKnI2Xg/HlhIIhKPx0Xo+ns1CqcS5ekDcB7vmZ8' +
'IDUazJeBmfNCTI/eGiHTNTIiwM3Unvk8SXkvZghKS1vUr8AGbISva' +
'zctpVKPfByxtGL2FxhQZuNi3cjv8DLgpkE807SxjYir1CDvf/9Boq' +
'QoXTfHcWmCDd3za/I4h+uzk+w');
if (FindBitmapTolerance(GhostShopKeeper, X, Y, 15)) then
Mouse(X, Y, 5, 5, True);
FreeBitmap(GhostShopKeeper);
end

begin
finishopenshop;
end.



procedure FindRing;
begin
MoveMouse(328, 265);
wait(200);
ClickMouse(328, 265, mouse_left);
wait(200);
MoveMouse(328, 300);
wait(200);
ClickMouse(328, 300, mouse_left);
wait(200);
MoveMouse(445, 39);
wait(200);
ClickMouse(445, 39, mouse_right);
end

begin
FindRing;
end.

riwu

2012-12-25 19:25:45


begin
//main program code
end.
This is your main program where only codes inside it will be executed (in order), so place your calls inside it (just one of it). Check out the beginner's tutorial section on main loops etc.

tiggerred

2012-12-25 19:54:27

From: riwu

begin
//main program code
end.
This is your main program where only codes inside it will be executed (in order), so place your calls inside it (just one of it). Check out the beginner's tutorial section on main loops etc.


Okay it compiles but it does nothing.
program MoneyMaker;

procedure ClickGuy;
var
x, y: Integer;
begin
if (FindColorSpiralTolerance(x, y, 10272165 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10205347 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 9942176 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10403495 , 111, 4, 241, 89, 5)) Then
Begin
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(1000);
end;
end;

begin
ClickGuy;
end.


procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
GhostShopKeeper := BitmapFromString(81, 16, 'meJyll1lyozAQhn2FBGwCnlRN2S' +
'xaIMZ3yzXmda6badRSq7UYg4f6K5EahPTRi2TVHSdRRfoSHyjZV17' +
'dkeyxpNdN1nkproY0q2aS59v4OYpGDx9a1MO10G05m1vrugVi7w+n' +
'lm0hr+/i+g5/h7ZS3fH7z99I+5FrFA5/gBxgolRbgA4/PySYRQByV' +
'2IXGiBY6v8gg4RFBvZCGS8fDgdc7cFdqcfXFCLD8HXksStRU3+0sH' +
'iZNjh9dMhgwydfRrZfElwGyG0x9iflAptWu4nxQTxnkBPnEu/YBby' +
'iLYe2xHaKnKXejgzvMdTg4lK5cN2BLLlqUh45oWbInmvoTpEiZN1C' +
'ghcvUNN7lqSGlDFeziJnUzsw5vwbIKvAmEY1R6Zc/tKfEO0+4J0QG' +
'am5nVNHQwJkZ9H98SkyRhqg8W5UpuiWR1Z1+nwS2EH0+lyOkJ1dG1' +
'+nuT9z3vDiXrYp88zLltcFc1TY8Z0pmkFuqD2HbVg2xWoUvaybKWv' +
'wHzYvas8Mc068HLsexvancahu6vwUmfI3jxbmb4ocRQsiI7VaQ/Zt' +
'/phiOR4ho/gn2ofMAKlGPcfMIfMwi7ZjOHgQ2kZkGLKOHAV5hAy8s' +
'zbIMmUMulHOxmUqazdTR3Za1Sib5awlapCnY5HMkcXlzS9b1Kqv0u' +
'fnpHaRnQf8XZ/vDBlkM9dtOtQNtrmkPmTtcaSRXS/feYTDhlzAYQH' +
'Wv+wyab4Iu4A8XE72loRDaQ3aNJezg3/JaPdltrfSDvtcKqvMqTKW' +
'RT6DowEZcHgN10zKnI2Xg/HlhIIhKPx0Xo+ns1CqcS5ekDcB7vmZ8' +
'IDUazJeBmfNCTI/eGiHTNTIiwM3Unvk8SXkvZghKS1vUr8AGbISva' +
'zctpVKPfByxtGL2FxhQZuNi3cjv8DLgpkE807SxjYir1CDvf/9Boq' +
'QoXTfHcWmCDd3za/I4h+uzk+w');
if (FindBitmapTolerance(GhostShopKeeper, X, Y, 15)) then
Mouse(X, Y, 5, 5, True);
FreeBitmap(GhostShopKeeper);
end

begin
finishopenshop;
end.



procedure FindRing;
begin
MoveMouse(328, 265);
wait(200);
ClickMouse(328, 265, mouse_left);
wait(200);
MoveMouse(328, 300);
wait(200);
ClickMouse(328, 300, mouse_left);
wait(200);
MoveMouse(445, 39);
wait(200);
ClickMouse(445, 39, mouse_right);
end

begin
FindRing;
end.

riwu

2012-12-25 19:56:59

You just need ONE

begin
//codes
end.
Add your procedure calls to a single of this at the end of the script. Please check the tuts…

doxin

2012-12-26 16:50:42

try this. your were also missing a ; at the end of your "end"s

program MoneyMaker;

begin //like this

procedure ClickGuy;
var
x, y: Integer;
begin
if (FindColorSpiralTolerance(x, y, 10272165 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10205347 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 9942176 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10403495 , 111, 4, 241, 89, 5)) Then
Begin
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(1000);
end;
end;


procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
GhostShopKeeper := BitmapFromString(81, 16, 'meJyll1lyozAQhn2FBGwCnlRN2S' +
'xaIMZ3yzXmda6badRSq7UYg4f6K5EahPTRi2TVHSdRRfoSHyjZV17' +
'dkeyxpNdN1nkproY0q2aS59v4OYpGDx9a1MO10G05m1vrugVi7w+n' +
'lm0hr+/i+g5/h7ZS3fH7z99I+5FrFA5/gBxgolRbgA4/PySYRQByV' +
'2IXGiBY6v8gg4RFBvZCGS8fDgdc7cFdqcfXFCLD8HXksStRU3+0sH' +
'iZNjh9dMhgwydfRrZfElwGyG0x9iflAptWu4nxQTxnkBPnEu/YBby' +
'iLYe2xHaKnKXejgzvMdTg4lK5cN2BLLlqUh45oWbInmvoTpEiZN1C' +
'ghcvUNN7lqSGlDFeziJnUzsw5vwbIKvAmEY1R6Zc/tKfEO0+4J0QG' +
'am5nVNHQwJkZ9H98SkyRhqg8W5UpuiWR1Z1+nwS2EH0+lyOkJ1dG1' +
'+nuT9z3vDiXrYp88zLltcFc1TY8Z0pmkFuqD2HbVg2xWoUvaybKWv' +
'wHzYvas8Mc068HLsexvancahu6vwUmfI3jxbmb4ocRQsiI7VaQ/Zt' +
'/phiOR4ho/gn2ofMAKlGPcfMIfMwi7ZjOHgQ2kZkGLKOHAV5hAy8s' +
'zbIMmUMulHOxmUqazdTR3Za1Sib5awlapCnY5HMkcXlzS9b1Kqv0u' +
'fnpHaRnQf8XZ/vDBlkM9dtOtQNtrmkPmTtcaSRXS/feYTDhlzAYQH' +
'Wv+wyab4Iu4A8XE72loRDaQ3aNJezg3/JaPdltrfSDvtcKqvMqTKW' +
'RT6DowEZcHgN10zKnI2Xg/HlhIIhKPx0Xo+ns1CqcS5ekDcB7vmZ8' +
'IDUazJeBmfNCTI/eGiHTNTIiwM3Unvk8SXkvZghKS1vUr8AGbISva' +
'zctpVKPfByxtGL2FxhQZuNi3cjv8DLgpkE807SxjYir1CDvf/9Boq' +
'QoXTfHcWmCDd3za/I4h+uzk+w');
if (FindBitmapTolerance(GhostShopKeeper, X, Y, 15)) then
Mouse(X, Y, 5, 5, True);
FreeBitmap(GhostShopKeeper);
end;

procedure FindRing;
begin
MoveMouse(328, 265);
wait(200);
ClickMouse(328, 265, mouse_left);
wait(200);
MoveMouse(328, 300);
wait(200);
ClickMouse(328, 300, mouse_left);
wait(200);
MoveMouse(445, 39);
wait(200);
ClickMouse(445, 39, mouse_right);
end;

begin
repeat
ClickGuy;
finishopenshop;
FindRing;
until (false)
end.

DannyRS

2012-12-26 18:31:18

From: doxin
try this. your were also missing a ; at the end of your "end"s


declare procedures / functions before begin in program ;)

below compiles, but, if you are trying to use a bitmap for a NPC (hopefully shop UI window?), guna have a bad time, i would learn DTMs or preferably TPA's


program MoneyMaker;

{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/Debug.Simba}

Var
StopRunning: Boolean;

procedure ClickGuy;
var
x, y: Integer;
begin
if (FindColorSpiralTolerance(x, y, 10272165 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10205347 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 9942176 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10403495 , 111, 4, 241, 89, 5)) Then
Begin
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(1000);
end;
end;

procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
GhostShopKeeper := BitmapFromString(81, 16, 'meJyll1lyozAQhn2FBGwCnlRN2S' +
'xaIMZ3yzXmda6badRSq7UYg4f6K5EahPTRi2TVHSdRRfoSHyjZV17' +
'dkeyxpNdN1nkproY0q2aS59v4OYpGDx9a1MO10G05m1vrugVi7w+n' +
'lm0hr+/i+g5/h7ZS3fH7z99I+5FrFA5/gBxgolRbgA4/PySYRQByV' +
'2IXGiBY6v8gg4RFBvZCGS8fDgdc7cFdqcfXFCLD8HXksStRU3+0sH' +
'iZNjh9dMhgwydfRrZfElwGyG0x9iflAptWu4nxQTxnkBPnEu/YBby' +
'iLYe2xHaKnKXejgzvMdTg4lK5cN2BLLlqUh45oWbInmvoTpEiZN1C' +
'ghcvUNN7lqSGlDFeziJnUzsw5vwbIKvAmEY1R6Zc/tKfEO0+4J0QG' +
'am5nVNHQwJkZ9H98SkyRhqg8W5UpuiWR1Z1+nwS2EH0+lyOkJ1dG1' +
'+nuT9z3vDiXrYp88zLltcFc1TY8Z0pmkFuqD2HbVg2xWoUvaybKWv' +
'wHzYvas8Mc068HLsexvancahu6vwUmfI3jxbmb4ocRQsiI7VaQ/Zt' +
'/phiOR4ho/gn2ofMAKlGPcfMIfMwi7ZjOHgQ2kZkGLKOHAV5hAy8s' +
'zbIMmUMulHOxmUqazdTR3Za1Sib5awlapCnY5HMkcXlzS9b1Kqv0u' +
'fnpHaRnQf8XZ/vDBlkM9dtOtQNtrmkPmTtcaSRXS/feYTDhlzAYQH' +
'Wv+wyab4Iu4A8XE72loRDaQ3aNJezg3/JaPdltrfSDvtcKqvMqTKW' +
'RT6DowEZcHgN10zKnI2Xg/HlhIIhKPx0Xo+ns1CqcS5ekDcB7vmZ8' +
'IDUazJeBmfNCTI/eGiHTNTIiwM3Unvk8SXkvZghKS1vUr8AGbISva' +
'zctpVKPfByxtGL2FxhQZuNi3cjv8DLgpkE807SxjYir1CDvf/9Boq' +
'QoXTfHcWmCDd3za/I4h+uzk+w');

If (FindBitmap(GhostShopKeeper, X, Y)) then
begin
Writeln('saw GhostShopKeeper Clicking');
Mouse(X, Y, 5, 5, True);
end else
Writeln('cant see GhostShopKeeper');

FreeBitmap(GhostShopKeeper);
end;

procedure FindRing;
begin
MoveMouse(328, 265);
wait(200);
ClickMouse(328, 265, mouse_left);
wait(200);
MoveMouse(328, 300);
wait(200);
ClickMouse(328, 300, mouse_left);
wait(200);
MoveMouse(445, 39);
wait(200);
ClickMouse(445, 39, mouse_right);
end;

begin
repeat
ClickGuy;
finishopenshop;
FindRing;
until (StopRunning)
end.

rj

2012-12-26 18:37:31

read some good bitmap tuts also

doxin

2012-12-26 20:22:17

                 program MoneyMaker;

{$i srl/srl.simba}

procedure ClickGuy;
var
x, y, tradebitmap: Integer;
begin
//tradebitmap := BitmapFromString();add your own tradebitmap


if (FindColorSpiralTolerance(x, y, 10272165 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10205347 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 9942176 , 111, 4, 241, 89, 5)) or
(FindColorSpiralTolerance(x, y, 10403495 , 111, 4, 241, 89, 5)) Then
Begin
MoveMouse(x, y);
wait(1000);
ClickMouse(x, y, mouse_right);
wait(500);
FindBitmapIn(tradebitmap, x, y, Xstart, Ystart, Xend, Yend); //put your coordinates for client screen
MoveMouse(x, y);
ClickMouse(x, y, mouse_left);
Wait(1000);
end;
end;

procedure finishopenshop;
var
GhostShopKeeper, X, Y:Integer;
begin
GhostShopKeeper := BitmapFromString(81, 16, 'meJyll1lyozAQhn2FBGwCnlRN2S' +
'xaIMZ3yzXmda6badRSq7UYg4f6K5EahPTRi2TVHSdRRfoSHyjZV17' +
'dkeyxpNdN1nkproY0q2aS59v4OYpGDx9a1MO10G05m1vrugVi7w+n' +
'lm0hr+/i+g5/h7ZS3fH7z99I+5FrFA5/gBxgolRbgA4/PySYRQByV' +
'2IXGiBY6v8gg4RFBvZCGS8fDgdc7cFdqcfXFCLD8HXksStRU3+0sH' +
'iZNjh9dMhgwydfRrZfElwGyG0x9iflAptWu4nxQTxnkBPnEu/YBby' +
'iLYe2xHaKnKXejgzvMdTg4lK5cN2BLLlqUh45oWbInmvoTpEiZN1C' +
'ghcvUNN7lqSGlDFeziJnUzsw5vwbIKvAmEY1R6Zc/tKfEO0+4J0QG' +
'am5nVNHQwJkZ9H98SkyRhqg8W5UpuiWR1Z1+nwS2EH0+lyOkJ1dG1' +
'+nuT9z3vDiXrYp88zLltcFc1TY8Z0pmkFuqD2HbVg2xWoUvaybKWv' +
'wHzYvas8Mc068HLsexvancahu6vwUmfI3jxbmb4ocRQsiI7VaQ/Zt' +
'/phiOR4ho/gn2ofMAKlGPcfMIfMwi7ZjOHgQ2kZkGLKOHAV5hAy8s' +
'zbIMmUMulHOxmUqazdTR3Za1Sib5awlapCnY5HMkcXlzS9b1Kqv0u' +
'fnpHaRnQf8XZ/vDBlkM9dtOtQNtrmkPmTtcaSRXS/feYTDhlzAYQH' +
'Wv+wyab4Iu4A8XE72loRDaQ3aNJezg3/JaPdltrfSDvtcKqvMqTKW' +
'RT6DowEZcHgN10zKnI2Xg/HlhIIhKPx0Xo+ns1CqcS5ekDcB7vmZ8' +
'IDUazJeBmfNCTI/eGiHTNTIiwM3Unvk8SXkvZghKS1vUr8AGbISva' +
'zctpVKPfByxtGL2FxhQZuNi3cjv8DLgpkE807SxjYir1CDvf/9Boq' +
'QoXTfHcWmCDd3za/I4h+uzk+w');
if (FindBitmapTolerance(GhostShopKeeper, X, Y, 15)) then
Mouse(X, Y, 5, 5, false);
FreeBitmap(GhostShopKeeper);
end;

procedure FindRing;
begin
MoveMouse(328, 265);
wait(200);
ClickMouse(328, 265, mouse_left);
wait(200);
MoveMouse(328, 300);
wait(200);
ClickMouse(328, 300, mouse_left);
wait(200);
MoveMouse(445, 39);
wait(200);
ClickMouse(445, 39, mouse_right);
end;

begin
ClickGuy; //i don't know what order u want
FindRing;
end.