Code:
program AutoGoldSealWalker;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}
const
{--------Script Info--------}
Author = 'Trippeh';
Name = 'AutoGoldSealWalker';
Version = '0.11';
{---------------------------}
{---SMART Setup Constants---}
WORLD = 123;
MEMBERS = True;
{---------------------------}
var
x ,y:Integer;
myPath: TPointArray;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;
procedure AntiBan;
begin
case Random(6) of
0: HoverSkill('Random', False);
1: begin
RandomMovement;
HoverSkill('Random', False);
end;
2: BoredHuman;
3: BoredHuman;
4: ExamineInv;
5: begin
RandomAngle(1);
HoverSkill('Random', False);
ExamineInv;
end;
end;
end;
procedure AntiRandoms;
begin
FindNormalRandoms;
end;
procedure Heading;
begin
ClearDebug;
Writeln('|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|');
Writeln('| Running: ' + Name + ' v' + Version + ' by: ' + Author + ' |');
Writeln('|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|');
end;
function FindBankNPCDude: Boolean;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 0, 0, False);
if WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500)) then
begin
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;
function FindGoldSeal: Boolean;
begin
if FindObjTPA(x, y, 2849934, 1, 1, 25, 1, 1, ['old seal', 'Gold seal']) then
begin
Mouse(x, y, 0, 0, False);
if WaitOptionMulti(['w-26 Go', 'ithdraw-26'], RandomRange(1000, 1500)) then
begin
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;
function FindWaterskin: Boolean;
begin
if FindObjTPA(x, y, 5989737, 1, 1, 25, 1, 1, ['aterskin', 'Waterskin']) then
begin
Mouse(x, y, 0, 0, False);
if WaitOptionMulti(['w-1 Wa', 'ithdraw-1'], RandomRange(1000, 1500)) then
begin
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;
procedure BankScript;
begin
if FindBankNPCDude then
begin
Writeln('| Y | Banked the "Nardah Banker". |');
Wait(RandomRange(1000, 1500));
Deposit(2,28,True);
FixBank;
FixBankTab;
if FindGoldSeal then
begin
Writeln('| Y | Withdrew 26 "Gold Seals". |');
Wait(RandomRange(1000, 1500));
if FindWaterskin then
begin
Writeln('| Y | Withdrew 1 "WaterSkin". |');
Wait(RandomRange(1000, 1500));
end else
begin
Writeln('| X | Failed to withdraw 1 "Waterskin". |');
Wait(RandomRange(1000, 1500));
end;
end else
begin
Writeln('| X | Failed to withdraw 26 "Gold Seals". |');
Wait(RandomRange(1000, 1500));
end;
CloseBank;
end else
begin
Writeln('| X | Failed to bank the "Nardah Banker". |');
Wait(RandomRange(1000, 1500));
end;
end;
procedure RunToPyramid;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_13','13_12','12_13']);
myPath := [Point(5548, 5111), Point(5509, 5132), Point(5469, 5137), Point(5412, 5168), Point(5367, 5188), Point(5306, 5223), Point(5244, 5241), Point(5200, 5292), Point(5160, 5346), Point(5165, 5367)];
SPS_WalkPath(myPath);
Writeln('Done running to the "Pyramid".');
Wait(RandomRange(1000, 1500));
end;
procedure RunBackToBank;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_13','13_12','12_13']);
myPath := [Point(5548, 5111), Point(5509, 5132), Point(5469, 5137), Point(5412, 5168), Point(5367, 5188), Point(5306, 5223), Point(5244, 5241), Point(5200, 5292), Point(5160, 5346), Point(5165, 5367)];
invertTPA(myPath);
SPS_WalkPath(myPath);
Writeln('Done running back to the "Bank".');
Wait(RandomRange(1000, 1500));
end;
begin
Smart_Server := WORLD;
Smart_Members := MEMBERS;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
ClearDebug;
SPS_Debug := False;
DeclarePlayers;
ClearDebug;
if ((not(LoggedIn)) or (LobbyScreen)) then
LogInPlayer;
Wait(RandomRange(1000, 1500));
Heading;
CloseBank;
repeat
BankScript;
RunToPyramid;
RunBackToBank;
until(false);
TerminateScript;
end.