SRL Archive - First Scripts

JCBondBuyer


Jayden C

2015-01-22 10:08:27

Hello everyone, just a quick post to announce my first script 'JCBondBuyer'.
Some of you may find this script useful some of you may not.
Being my first script I'd like to encourage everyone for constructive criticism and feedback on the script.


Creation purpose:
Subscription purchasing and activating for persons managing large gold farms.

Features:
- Teleports to varrock via lodestone
- Runs to the grand exchange
- Buys bond (player set amount and price)
- Activates bond (player set package)

Instructions:
- Download the script along with the map I have attached below
- Place the map image in 'Simba\Includes\SPS\img\runescape_other'
- Set login details within script (first procedure)
- Set price, quantity and package within script (above first procedure)
- Start anywhere
- Watch or wait..

I'd like to thank the following people for their help:
- Justin for his interactive help.
- The Mayor for his guides to RS3 scripting, as well as his brief help via skype SRL RL.
- slacky for his brief help via skype SRL RL.

Justin

2015-01-22 19:29:53

Nice work @Jayden C;

A suggestion: If the Varrock lodestone is locked, how about using the Lodestone to Lumbridge and then walking to the Varrock lodestone and unlock it?

Jayden C

2015-01-22 20:00:01

From: Justin
Nice work @Jayden C;

A suggestion: If the Varrock lodestone is locked, how about using the Lodestone to Lumbridge and then walking to the Varrock lodestone and unlock it?


Thanks, I think I'll add this and update :)

The Mayor

2015-01-22 23:06:41

some comments and stuff


program JCBondBuyer;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}

var
geMap: TSPSArea;
gePath: TPointArray := [Point (353, 539), Point (353, 480), Point (353, 437), Point (313, 391), Point (298, 335), Point (296, 277), Point (259, 222), Point (194, 220), Point (159, 188), Point (136, 135), Point (82, 111)];
manageBond: Integer := BitmapFromString (119, 21, 'meJzNWG2PVdUVnrkv59x77rnnv' + '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' + 'PmEZRaqkIPmGDqEP9/AUxlwaI=');
memberPackages: Integer := BitmapFromString (174, 22, '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');
redeemBonds: Integer := BitmapFromString (116, 15, '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');
congratulations: Integer := BitmapFromString (149, 17, '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');
firstFailSafe, failSafe: Integer;
boughtBond: Boolean;

const // Nice to have const CAPS
item := 'bond';
price := '8000000';
quantity := '1';
package := 1;

procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := '';
password := '';
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;

function stringPackage: string;
begin
case package of
1: result := 'JCBondBuyer: Package 1 selected (14 days)';
2: result := 'JCBondBuyer: Package 2 selected (29 days)';
3: result := 'JCBondBuyer: Package 3 selected (45 days)';
else
result := '0';
end;
end;

procedure teleToVarrock();
var
p: TPoint;
begin
if not isLoggedIn() then
exit();

exitTreasure();

repeat
if not lodestoneScreen.isOpen(2000) then // No need for this line
lodestoneScreen.teleportTo(LOCATION_VARROCK);
Inc(firstFailSafe);
wait(randomRange(16000, 19000));
until (not isLoggedIn()) or minimap.findSymbol(p, MM_SYMBOL_COOKING_RANGE, minimap.getBounds()) or (firstFailSafe > 9);
exit; // Why exit when you're already at the end?
end;

procedure openGe();
var
x, y, i: integer;
checkGeTimer: TTimeMarker;
begin
if not isLoggedIn() then
exit();

Inc(failSafe);

if (failSafe > 14) then // I'd put the whole thing in a loop and have failsafe local
begin
writeln('Failed to find banker after 15 attempts, terminating script..');
TerminateScript();
end;

mainscreen.setAngle(MS_ANGLE_LOW);
wait(randomRange(100, 300));

if mainscreen.findObject(x, y, 3152679, 5, colorSetting(2, 0.60, 0.99), mainscreen.playerPoint, 50, 110, 50, ['xchan'], MOUSE_LEFT) then
begin
wait(randomRange(100, 300));
checkGeTimer.start();
failSafe := 0;
while not (grandExchange.isOpen) and (checkGeTimer.getTime < 3000) do // are those parentheses correct?
begin
wait(randomRange(500, 1000)); // Why not just grandExchange.isOpen(3000) ?
writeln('Waiting for exchange interface to open..');
end;
end
else
begin
writeln('Could not find banker.. attempt: ', failSafe);
minimap.setAngle(random(360));
openGe(); // Probably best to avoid doing it like this..
end;

end;

procedure buyBond();
var
checkGeTimer: TTimeMarker;
begin
if not isLoggedIn() then
exit();

if (failSafe > 4) then // Same here
begin
writeln('Failed to buy bond after 5 attempts, terminating script..');
TerminateScript();
end;

if grandExchange.isOpen() then
begin
wait(randomRange(300, 800));
grandExchange.buyItem(item, price, quantity, true, 120000);
wait(randomRange(300, 800));
failSafe := 0;
boughtBond := true; // What is this bool used for?
grandExchange.close;

while not ((grandExchange.isOpen())) and (checkGeTimer.getTime < 3000) do
begin
wait(randomRange(500, 1000)); // But aren't you closing it? This will always wait 3s
writeln('Waiting for exchange interface to open..');
end;

end
else
begin
Inc(failSafe);
writeln('Something went wrong.. fixing..');
openGe();
buyBond();
end;
end;

function manageBond_isOpen: boolean;
var
x, y: Integer;
begin
result := findBitmapToleranceIn(manageBond, x, y, mainScreen.getBounds(), 25);
end;

procedure openBond();
var
bondDTM, x, y: integer;
timingOpen: TTimeMarker;
begin
if not isLoggedIn() then
exit;

wait(randomRange(1500, 2000));
gameTabs.openTab(TAB_BACKPACK);
wait(randomRange(500, 1000));
bondDTM := DTMFromString('mbQAAAHicY2VgYDBgg2BbIFYHYlUgbmBiYMgG4jIgrgfiIiDuqFAHqmZCwZIMmIARCwYDAGznBLY=');

if findDTM(bondDTM, x, y, tabBackPack.getBounds()) then
begin
mouse(x, y, 3, 3, MOUSE_MOVE);
if (isMouseOverText(['Redeem', 'Bon'], 1500)) then
begin
fastClick(MOUSE_RIGHT);
if chooseOption.select(['edee'], 1500) then
begin
timingOpen.start();
wait(randomRange(300, 800));
while not (manageBond_isOpen) and (timingOpen.getTime < 3000) do
begin
wait(randomRange(500, 1000));
end;
end;
end;
freeDTM(bondDTM);
end
else
begin
freeDTM(bondDTM);
writeln('Unable to find bond dtm..');
end;
end;

procedure selectMemPacks();
begin
if not isLoggedIn() then
exit;
wait(randomRange(1500, 2000));
MouseBox(IntToBox(278, 177, 501, 235), MOUSE_MOVE);
wait(randomRange(500, 900));
MouseBox(IntToBox(278, 177, 501, 235), MOUSE_LEFT);
wait(randomRange(500, 900));
MouseBox(IntToBox(334, 323, 467, 341), MOUSE_MOVE);
wait(randomRange(500, 900));
MouseBox(IntToBox(334, 323, 467, 341), MOUSE_LEFT);
wait(randomRange(500, 900));
end;

function getPX(): integer;
begin
if (package = 1) then
result := 61
else if (package = 2) then
result := 222
else if (package = 3) then
result := 382
else
result := 0;
end;

function getPY(): integer;
begin
if (package = 1) then
result := 140
else if (package = 2) then
result := 140
else if (package = 3) then
result := 138
else
result := 0;
end;

function getPX1(): integer;
begin
if (package = 1) then
result := 188
else if (package = 2) then
result := 357
else if (package = 3) then
result := 511
else
result := 0;
end;

function getPY1(): integer;
begin
if (package = 1) then
result := 274
else if (package = 2) then
result := 273
else if (package = 3) then
result := 270
else
result := 0;
end;

function memPacks_isOpen: boolean;
var
x, y: Integer;
begin
result := findBitmapToleranceIn(memberPackages, x, y, mainScreen.getBounds(), 25);
end;

procedure selectPackage();
begin
if not isLoggedIn() then // couldn't you just have:
exit; // case package of
wait(randomRange(1500, 2000)); // 1: mouseBox(intToBox(1, 1, 1, 1));
// 2: mouseBox(intToBox(1, 1, 1, 1));
// 3: mouseBox(intToBox(1, 1, 1, 1));
if (memPacks_isOpen) then // end;
begin
MouseBox(IntToBox(getPX(), getPY(), getPX1(), getPY1()), MOUSE_MOVE);
wait(randomRange(500, 900));
MouseBox(IntToBox(getPX(), getPY(), getPX1(), getPY1()), MOUSE_LEFT);
wait(randomRange(500, 900));
end
else
writeln('Member packages interface not open...');
end;

function redeemBonds_isOpen: boolean;
var
x, y: Integer;
begin
result := findBitmapToleranceIn(redeemBonds, x, y, mainScreen.getBounds(), 25);
end;

procedure selectConfirm()
begin
if not isLoggedIn() then
exit;
wait(randomRange(1500, 2000));
if (redeemBonds_isOpen) then
begin
MouseBox(IntToBox(360, 220, 483, 236), MOUSE_MOVE);
wait(randomRange(500, 900));
MouseBox(IntToBox(360, 220, 483, 236), MOUSE_LEFT);
wait(randomRange(500, 900));
end
else
writeln('Redeem bonds interface not open...');
end;

function congrats_isOpen: boolean;
var
x, y: Integer;
begin
result := findBitmapToleranceIn(congratulations, x, y, mainScreen.getBounds(), 25);
end;

procedure continue()
begin
if not isLoggedIn() then
exit;
wait(randomRange(1500, 2000));
if (congrats_isOpen) then
begin
MouseBox(IntToBox(333, 356, 388, 373), MOUSE_MOVE);
wait(randomRange(500, 900));
MouseBox(IntToBox(333, 356, 388, 373), MOUSE_LEFT);
wait(randomRange(500, 900));
writeln('Bond bought and activated..');
writeln('..Thank you for using Jayden Cs Bond Buyer.');
end
else
writeln('Congratulations interface not open...');
end;

begin
clearDebug();
smartEnableDrawing := true;
disableSRLDebug := true;
smartShowConsole := false;
geMap.setup('GE_PATH', RUNESCAPE_OTHER);
SetupSRL();
declarePlayers();

if not isLoggedIn() then
begin
players[currentPlayer].login();
writeln('Just logged in.. waiting..');
wait(randomRange(3000, 6000));
end;

writeln(stringPackage());
exitTreasure();
closePollWindow();
minimap.clickCompass();
mainscreen.setAngle(MS_ANGLE_HIGH);
teleToVarrock();
geMap.walkPath(gePath);
openGe();
buyBond();
openBond();
selectMemPacks();
selectPackage();
selectConfirm();
continue();
freebitmap(manageBond);
freebitmap(memberPackages);
freebitmap(redeemBonds);
freebitmap(congratulations);
end;

wowgnomes

2015-01-23 13:53:56

I can't believe people have such big botting networks that they need this script…that's really impressive to me lol

Skyotic

2015-01-24 05:38:40

This is honestly really sick, i would have never thought of this. Nice job on the thinking of it.