SRL Archive - Outdated / Broken

Lumbridge Miner,Smelter, and Banker


shaunthasheep

2007-05-01 10:34:05

Well i was thinking of making one of these… but the map walking turned out a little hard for me[as in my map walking procedures dont rlly have good failsafes] … anyways,

Starts at Lumbridge Bank In The Castle,
Checks For Any Pickaxes [Dont have any in ur bank]
If your have one better then bronze, then u can put it in your inventory.
It will walk out of the castle and to the Lumbridge Swamp Nooby Mine (Copper and tin)
If It Doesn't Have A Pick in Inv (and it doesn't have one in bank if you set your account up right), It will ask the mining tutor for a bronze pickaxe.
If it loses it it will ask for another one etc…
Once it gets a full inv it will walk to the lumbridge furnace, and smelt the ores into bronze bars, then bank, and loop.

A simple Map:


Better Explanation on Walking

It Will Start At Spot 1 Upstairs.
It Will Walk To Spot 2 (this is a checkpoint, ill tell u later why)
It Will Walk From Spot 2 To 3
If It Doesn't Have A Pick It Will Ask The Mining Tutor
After Mining A Half Load Of Copper, And A Half Load Of Tin at Spot 3, it will then walk to spot 4,
At spot 4 it will smelt the bars, then walk to spot 2, then spot 1, and loop

Spot 2:
This will Be A Checkpoint, incase you die, u can start mining again, and if you get lost, you can use HomePort to start mining again.
Spot 2 will encourage the script to run sufficiently around the clock, unless your players get banned and/or stuck by a random.

Tell me how you like my unique idea :rolleyes:

EDIT:
and if the fishing tutor gives u a net, u can cook the food in lumbridge tower =S
both multi-skill trainers, and seem to be able to run much longer.

XcanadamanX

2007-05-01 15:35:50

i like it! if i have time i might start the walking part.

shaunthasheep

2007-05-01 15:51:51

heres some walking for it… buts it not very good[ordone].. and the mineto furnace has a incorrect Radial Road Walk //rong radial is under it
(walks like the roadwalk b4 it, just copied past and forgot to change, its suppose to walk forward) but im sure u would like to start from scratch =p



program New;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Mining.scar}


////////////////////////////////////////////////////////////
// //
// DONT HAVE A MINING PICK IN YOUR BANK //
// //
// Have one if invenotry if u have one better then bronze //
// This will automatically get you one from mining tutor! //
////////////////////////////////////////////////////////////

const TreePixel = 4361;

function CenterToBank : Boolean;
var
MyMark, OX, OY : integer;
begin
MakeCompass('W');
if RadialWalk(TreePixel, 317, 410, 70, 0, 0) then //Bush Color Pixel!
begin
HighestAngle;
repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Large', 2056574, 20) then
begin
if IsUpTextMulti('Op', 'pe', 'en') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Open', 1);
Break;
end else
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Walk', 1);
Break;
end;
Wait(50);
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
until(TimeFromMark(MyMark) > 120000)

Flag;
Wait(1000 + random(1000));

MouseFlag(MMCX + 18 + random(5), MMCY - 5, 0, 0);
MakeCompass('E');
HighestAngle;

repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Door', 2377319, 20) then
begin
if IsUpTextMulti('Op', 'pe', 'en') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Open', 1);
Break;
end else
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Walk', 1);
Break;
end;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)

Flag;
Wait(1000 + random(1000));
MakeCompass('W');
MouseFlag(MMCX + 2, MMCY - 32, 0, 0);

repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Stair', 602956, 20) then
begin
if IsUpTextMulti('Cli', 'mb', 'up') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Climb', 1);
Break;
end;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)

Wait(10000);

repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Stair', 602956, 20) then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('up', 1);
Break;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)

Wait(10000);

if FindSymbol(OX, OY, 'bank') then
begin
MouseFlag(OX, OY, 0, 0);
end else
begin
MouseFlag(MMCX - 47, MMCY, 0, 0);
end;

MakeCompass('N');

repeat
MarkTime(MyMark);
//my getto bank...
//gonna change it so it finds banker...
//for more accurate banking
if FindObj(OX, OY, 'booth', 607067, 20) then
begin
Writeln('Found Bank');
if IsUpTextMulti('ank', 'boo', 'use') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('uickly', 1);
Break;
end;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
until((TimeFromMark(MyMark) > 120000) or (BankScreen))

end else
begin
Writeln('Couldn''t Find Bushes!!');
Logout;
end;
result := True;
end;

function BankToCenter : Boolean;
var
MyMark, OX, OY : integer;
begin
MakeCompass('N');
HighestAngle;

MouseFlag(MMCX - 10, MMCY - 30, 2, 2);

repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Stair', 602956, 20) then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('limb', 1);
Break;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)
Wait(10000);

repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Stair', 602956, 20) then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('own', 1);
Break;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)
Wait(10000);

MakeCompass('E');
MouseFlag(MMCX + 6, MMCY - 28, 0, 0);
repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'Door', 2377319, 20) then
begin
if IsUpTextMulti('Op', 'pe', 'en') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Open', 1);
Break;
end else
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Walk', 1);
Break;
end;
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
Wait(50);
until(TimeFromMark(MyMark) > 120000)
Flag;
MouseFlag(MMCX + 28, MMCY + 2, 0, 0);

repeat
MarkTime(MyMark);
if FindObjEx(OX, OY, 'arge', 1, 1, 512, 218, 2122111, 5, 0, 0, 10, True) then
begin
if IsUpTextMulti('Op', 'pe', 'en') then
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Open', 1);
Break;
end else
begin
Mouse(OX, OY, 0, 0, False);
ClickOption('Walk', 1);
Break;
end;
Wait(50);
end;
if TimeFromMark(MyMark) > 110000 then
begin
Writeln('Lost!');
Logout;
end;
until(TimeFromMark(MyMark) > 120000)
Flag;
MouseFlag(MMCX, MMCY - 20, 0, 0);
result := True;
end;

function CenterToMine : boolean;
var
MyMark, OX, OY, Times : integer;
begin
MakeCompass('N');
RoadColor := FindRoadColor;
Wait(1000);
RadialRoadWalk(RoadColor, 149, 104, 70, 0, 0);
Flag;
if FindSymbol(OX, OY, 'Axe shop') then
MouseFlag(OX, OY, 1, 1)
else
RadialRoadWalk(RoadColor, 195, 170, 70, 0, 0);
RadialRoadWalk(RoadColor, 157, 127, 60, 0, 0);
Flag; Wait(500);
MarkTime(MyMark);
if not FindSymbol(OX, OY, 'Short cut') then
begin
MouseFlag(MMCX, MMCY + 40, 0, 5);
repeat
if TimeFromMark(MyMark) > 120000 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
Wait(100);
until FindSymbol(OX, OY, 'Short cut')
MouseFlag(OX, OY, 0, 0);
end else
MouseFlag(OX, OY, 0, 0);

MarkTime(MyMark);
repeat
Times := Times + 1;
if Times < 5 then
MouseFlag(MMCX, MMCY + 40, 0, 5);
Wait(100);
if Times > 100 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
until(FindSymbol(OX, OY, 'guide') or FindSymbol(OX, OY, 'fish'))
MouseFlag(OX, OY, 0, 0);
MouseFlag(MMCX - 40, MMCY + 40, 2, 2);
MarkTime(MyMark);

repeat
Times := Times + 1;
if Times > 200 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
Wait(100);
until FindSymbol(OX, OY, 'mining spot')
MouseFlag(OX, OY, 0, 0);
result := True;

end;

function MineToFurnace : Boolean;
var
MyMark, OX, OY, Times : integer;
begin

MakeCompass('N');
MarkTime(MyMark);
MouseFlag(MMCX + 40, MMCY - 20, 0, 5);
repeat
Times := Times + 1;
Wait(100);
if Times > 100 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
until FindSymbol(OX, OY, 'fish')
MouseFlag(OX, OY, 0, 0);

MarkTime(MyMark);
repeat
Times := Times + 1;
if Times < 5 then
MouseFlag(MMCX, MMCY - 40, 0, 5);
Wait(100);
if Times > 100 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
until FindSymbol(OX, OY, 'Short cut')
MouseFlag(OX - 5, OY + 5, 0, 0);
MouseFlag(MMCX, MMCY - 40, 0, 5);
RoadColor := FindRoadColor;
RadialRoadWalk(RoadColor, 310, 335, 65, 0, 0);

if FindSymbol(OX, OY, 'Axe shop') then
MouseFlag(OX, OY, 1, 1);

Times := 0;
repeat
Times := Times + 1;
RadialRoadWalk(RoadColor, 310, 335, 55, 0, 0);
//Rong radial.. never filled in
Wait(100);
until Times > 3

Times := 0;
repeat
Times := Times + 1;
RadialRoadWalk(RoadColor, 356, 296, 70, 0, 0);
Wait(100);
until((Times > 2) or (FindSymbol(OX, OY, 'furnace')));

MarkTime(MyMark);
repeat
Times := Times + 1;
Wait(100);
if Times > 100 then
begin
Writeln('Lost!');
Logout;
Exit;
end;
until FindSymbol(OX, OY, 'furnace')
MouseFlag(OX, OY, 0, 0);
result := True;
end;

function GetPick : Boolean;
var
MyMark, OX, OY : integer;
begin
Writeln('Trying to get pick!');
HighestAngle;
repeat
MarkTime(MyMark);
if FindObj(OX, OY, 'ining', 11436661, 10) then
begin
Mouse(OX, OY, 0, 0, False);
if ClickOption('Talk', 1) then
begin
Flag;
Wait(2000);
ClickNpcChatText('Can');
Wait(1000); ClickToContinue;
Wait(1000); ClickToContinue;
end;
end;
Wait(50);
if FindPickHeadColor then
begin
Writeln('Got Pick!');
MouseFlag(MMCX, MMCY, 0, 0); //Exit Conversation With Tutor
result := True;
NoPick := False;
break;
end;
until((TimeFromMark(MyMark) > 120000) or (not NoPick))
end;

begin
SetupSRL;
SetupSRLMining;
ActivateClient;
Wait(1000);
CenterToBank;
Flag;
Wait(2000);
if BankScreen then CloseBank;
BankToCenter;
CenterToMine;
NoPick := True;
if FindPickHeadColor then NoPick := False;
if ((NoPick) or (not FindPick))then GetPick;
MineToFurnace;
end.