SRL Archive - RS3 Script Requests

Gold Seal exchanger??


Trippeh

2011-11-19 17:04:01

Hi there,

I'm new here and I was wondering who could help me write/with a small script that goes from the bank in the dessert (town: Nardah) to the agility pyramid to the southwest of there, trade in the thousands of "Gold Seal"s i've collected doing the pyramid 27 at a time.

PS: don't forget to withdraw (untill "(0)" empty) the same (and after that a new) waterskin.

EDIT::

Phases:
1. Open bank, withdraw 27 "Gold Seal" and the "Waterskin" that is most !empty! except from the empty ones.
2. Run to the "Agility Pyramid", climb down the rocks and talk to "Simon Templeton" to exchange the "Gold Seal" for money.
3. Climb up the rocks and run back to the bank to deposit the "Money" and the "Waterskin" and than start all over again.

END EDIT::


Greetz,
Trippeh

Trippeh

2011-11-22 11:58:57

This is what i've written so far.. need some help with the walking part..

Anyone want to help me or point me to the right topics? :thumbsup:


Program AutoGoldSealWalker;
{$i SRL/SRL/misc/smart.scar}
{$i SRL/SRL.scar}
Const
{--------Script Info--------}
Author = 'Trippeh';
Name = 'AutoGoldSealWalker';
Version = '0.11';
{---------------------------}
{---SMART Setup Constants---}
WORLD = 10;
MEMBERS = False;
{---------------------------}
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := 'USERNAME';
Players[0].Pass := 'PASSWORD';
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;
var
x, y: integer;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 0, 0, False);
WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500));
Result := (BankScreen);
Writeln('1. Banked Nardah Banker!');
Result := True;
Wait(RandomRange(1000, 1500));
end;
end;
Function FindGoldSeal: Boolean;
var
x, y: integer;
begin
if FindObjTPA(x, y, 471089, 1, 2, 2, 3, 1, ['old seal', 'Gold seal']) then
begin
if WaitUptext('Gold seal', RandomRange(1000, 1500)) then
Begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if WaitOption('-26 Go', RandomRange(1000, 1500)) then
begin
Writeln('2. Withdrew 26 Gold Seals!');
Result := True;
Wait(RandomRange(1000, 1500));
end;
end;
end;
end;
Function FindMostEmptyWaterskin: Boolean;
var
x, y: integer;
begin
if FindObjTPA(x, y, 6121323, 1, 3, 2, 2, 1, ['aterskin', 'Waterskin']) then
begin
if WaitUptext('Waterskin', RandomRange(1000, 1500)) then
Begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
if WaitOption('-1 Wa', RandomRange(1000, 1500)) then
begin
Writeln('3. Withdrew 1 Waterskin!');
Result := True;
Wait(RandomRange(1000, 1500));
end;
end;
end;
end;
Function BankBankNPCDude: Boolean;
begin
repeat
FindBankNPCDude;
Wait(RandomRange(1000, 1500));
Deposit(2,28,True);
FixBank;
FixBankTab;
if BankScreen then
begin
Result := True;
Break;
end;
until(Result);
repeat
FindGoldSeal;
until(InvCount = 27);
repeat
FindMostEmptyWaterskin;
until(InvFull);
CloseBank;
end;
Procedure SealScript;
Begin
if (Not(LoggedIn)) then
LogInPlayer;
Heading;
CloseBank;
Wait(RandomRange(1000, 1500));
BankBankNPCDude;
end;
begin
Smart_Server := WORLD;
Smart_Members := MEMBERS;
Smart_Signed := True;
Smart_SuperDetail := False;
SetupSRL;
ClearDebug;
DeclarePlayers;
ClearDebug;
repeat
SealScript;
until(false);
TerminateScript;
end.

But now since the update, i can't get it working anymore so I'm patiently waiting for an update.


Greetz,
Trippeh

Mark

2011-11-22 20:35:53

Look into SPS seen as your traveling a good distance that will handle all your walking

Trippeh

2011-11-23 13:08:18

oke will do :-) cause i really cba back n forth all day long :P

Trippeh

2011-11-23 13:12:44

this is what i have to walk.

footballjds

2011-11-23 13:15:51

From: Trippeh
this is what i have to walk.


DDTM's/TPA's
i've never used SPS though. but i don't really want to… :/

Trippeh

2011-11-27 04:59:15

From: CRU1Z1N
Look into SPS seen as your traveling a good distance that will handle all your walking


So i did but it's only walking up to the first point then it stops..

here's my code, what am i doing wrong?
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.

Trippeh

2011-11-27 06:04:49

Someone? Feedback please?

Mark

2011-11-27 08:08:15

I'm out and about atm. Have you made a procedure for clicking down the slope also if yourt inverting your path you only have to declare you path once take a look at my smelters walking to see how I've done things I will give you better detail when I get home

Trippeh

2011-11-27 09:08:10

From: CRU1Z1N
I'm out and about atm. Have you made a procedure for clicking down the slope also if yourt inverting your path you only have to declare you path once take a look at my smelters walking to see how I've done things I will give you better detail when I get home


Cheers mate, well appreciated.

At the moment I've fixed it with LinearWalk to do the walking it does a good job been testing all afternoon.

Now the slope and the exchange bit.. (err -.-'') :P

Trippeh

2011-11-27 13:18:43

SPS is the way to go but it's still giving issues with desert walking.. :(

Walks to 2 points and then gives up all together..

Current script:

program Auto_Gold_Seal_Walker;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}

// -------------------------------------------------------------------------- //
// Variable declaration. //
var
x , y: Integer;
WalkingPath: TPointArray;
Location: String;

// -------------------------------------------------------------------------- //
// Which player? This one! //
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;

// -------------------------------------------------------------------------- //
// Setup SRL Position System. //
procedure SetupSPS;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_12','13_13','12_13']);
SPS_Continue := False;
WalkingPath := [
Point(5549, 5114), Point(5566, 5150), Point(5555, 5187),
Point(5498, 5207), Point(5445, 5236), Point(5416, 5288),
Point(5371, 5261), Point(5322, 5224), Point(5259, 5228),
Point(5214, 5273), Point(5205, 5321), Point(5168, 5365),
Point(5181, 5365)
];
end;

// -------------------------------------------------------------------------- //
// Find the Nardah banker. //
function FindBankNPCDude: Boolean;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 5, 5, False);
if WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500)) then
begin
Wait(RandomRange(2000, 3000));
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;

// -------------------------------------------------------------------------- //
// Find the gold seal. //
function FindGoldSeal: Boolean;
begin
if FindObjTPA(x, y, 2849934, 1, 1, 25, 1, 1, ['old seal', 'Gold seal']) then
begin
Mouse(x, y, 4, 4, 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;

// -------------------------------------------------------------------------- //
// Find the waterskin. //
function FindWaterskin: Boolean;
begin
if FindObjTPA(x, y, 5989737, 1, 1, 25, 1, 1, ['aterskin', 'Waterskin']) then
begin
Mouse(x, y, 3, 3, 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;

// -------------------------------------------------------------------------- //
// Bank the banker and withdraw the goodies. //
procedure DoBanking;
begin
SetAngle(True);
if FindBankNPCDude then
begin
Writeln('- Banked the Nardah Banker.');
Wait(RandomRange(2500, 5000));
Deposit(1,27,True);
FixBank;
FixBankTab;
if FindGoldSeal then
begin
Writeln('- Withdrew 26 Gold Seals.');
Wait(RandomRange(1000, 1500));
if FindWaterskin then
begin
Writeln('- Withdrew 1 WaterSkin.');
Wait(RandomRange(1000, 1500));
end else
begin
Writeln('- Failed to withdraw 1 Waterskin.');
Wait(RandomRange(1000, 1500));
end;
end else
begin
Writeln('- Failed to withdraw 26 Gold Seals.');
Wait(RandomRange(1000, 1500));
end;
CloseBank;
end else
begin
Writeln('- Failed to bank the Nardah Banker.');
Wait(RandomRange(1000, 1500));
DoBanking;
end;
end;

// -------------------------------------------------------------------------- //
// Take a rest. //
procedure DoResting;
begin
Mouse(725, 109, 0, 0, False);
WaitOptionMulti(['est', 'Rest'], RandomRange(1000, 1500));
ClickNorth(True);
Writeln('- Having a rest.');
Wait(RandomRange(20000, 30000));
end;

// -------------------------------------------------------------------------- //
// Run to pyramid. //
procedure DoRunning;
begin
if Location = 'Bank' then
begin
Writeln('- Walking to the pyramid.');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('- Arrived at the pyramid.');
Location := 'Pyramid';
Wait(RandomRange(1000, 1500));
end else
Writeln('- ERROR! We didn''t make it.');
end else
if Location = 'Pyramid' then
begin
InvertTPA(WalkingPath);
Writeln('- Walking back to the bank.');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('- Arrived at the bank.');
Location := 'Bank';
Wait(RandomRange(1000, 1500));
end else
Writeln('- ERROR! We didn''t make it.');
end;
end;

// -------------------------------------------------------------------------- //
// Make shit happen! //
begin
ClearDebug;
Smart_Server := 123;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
MouseSpeed := 25;
SetupSRL;
SetupSPS;
ClearDebug;
DeclarePlayers;
if ((not(LoggedIn)) or (LobbyScreen)) then
LogInPlayer;
Wait(RandomRange(1000, 1500));
Location := 'Bank';
ClearDebug;
Writeln('| Running Auto Gold Seal Runner.');
CloseBank;
repeat
//DoBanking;
//DoResting;
DoRunning;
until(false);
TerminateScript;
end.

ps: CRU1Z1N I've had a little look at your script to be exact: Plank_O_Matic

Mark

2011-11-27 16:26:10

From: Trippeh
SPS is the way to go but it's still giving issues with desert walking.. :(

Walks to 2 points and then gives up all together..


try this

program Auto_Gold_Seal_Walker;
{$DEFINE SMART}
{$i srl/srl.scar}
{$i sps/sps.simba}

// -------------------------------------------------------------------------- //
// Variable declaration. //
var
x , y: Integer;
WalkingPath: TPointArray;
Location: String;

// -------------------------------------------------------------------------- //
// Which player? This one! //
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;

// -------------------------------------------------------------------------- //
// Setup SRL Position System. //
// -------------------------------------------------------------------------- //
// Find the Nardah banker. //
function FindBankNPCDude: Boolean;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 5, 5, False);
if WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500)) then
begin
Wait(RandomRange(2000, 3000));
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;

// -------------------------------------------------------------------------- //
// Find the gold seal. //
function FindGoldSeal: Boolean;
begin
if FindObjTPA(x, y, 2849934, 1, 1, 25, 1, 1, ['old seal', 'Gold seal']) then
begin
Mouse(x, y, 4, 4, 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;

// -------------------------------------------------------------------------- //
// Find the waterskin. //
function FindWaterskin: Boolean;
begin
if FindObjTPA(x, y, 5989737, 1, 1, 25, 1, 1, ['aterskin', 'Waterskin']) then
begin
Mouse(x, y, 3, 3, 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;

// -------------------------------------------------------------------------- //
// Bank the banker and withdraw the goodies. //
procedure DoBanking;
begin
SetAngle(True);
if FindBankNPCDude then
begin
Writeln('- Banked the Nardah Banker.');
Wait(RandomRange(2500, 5000));
Deposit(1,27,True);
FixBank;
FixBankTab;
if FindGoldSeal then
begin
Writeln('- Withdrew 26 Gold Seals.');
Wait(RandomRange(1000, 1500));
if FindWaterskin then
begin
Writeln('- Withdrew 1 WaterSkin.');
Wait(RandomRange(1000, 1500));
end else
begin
Writeln('- Failed to withdraw 1 Waterskin.');
Wait(RandomRange(1000, 1500));
end;
end else
begin
Writeln('- Failed to withdraw 26 Gold Seals.');
Wait(RandomRange(1000, 1500));
end;
CloseBank;
end else
begin
Writeln('- Failed to bank the Nardah Banker.');
Wait(RandomRange(1000, 1500));
DoBanking;
end;
end;

// -------------------------------------------------------------------------- //
// Take a rest. //
procedure DoResting;
begin
Mouse(725, 109, 0, 0, False);
WaitOptionMulti(['est', 'Rest'], RandomRange(1000, 1500));
ClickNorth(True);
Writeln('- Having a rest.');
Wait(RandomRange(20000, 30000));
end;

// -------------------------------------------------------------------------- //
// Run to pyramid. //
procedure DoRunning;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_12','13_13','12_13']);
SPS_Continue := False;
WalkingPath := [
Point(5549, 5114), Point(5566, 5150), Point(5555, 5187),
Point(5498, 5207), Point(5445, 5236), Point(5416, 5288),
Point(5371, 5261), Point(5322, 5224), Point(5259, 5228),
Point(5214, 5273), Point(5205, 5321), Point(5168, 5365),
Point(5181, 5365)
];
if Location = 'Bank' then
begin
Writeln('- Walking to the pyramid.');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('- Arrived at the pyramid.');
Location := 'Pyramid';
Wait(RandomRange(1000, 1500));
end else
Writeln('- ERROR! We didn''t make it.');
end else
if Location = 'Pyramid' then
begin
InvertTPA(WalkingPath);
Writeln('- Walking back to the bank.');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('- Arrived at the bank.');
Location := 'Bank';
Wait(RandomRange(1000, 1500));
end else
Writeln('- ERROR! We didn''t make it.');
end;
end;

// -------------------------------------------------------------------------- //
// Make shit happen! //
begin
ClearDebug;
Smart_Server := 123;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
MouseSpeed := 25;
SetupSRL;
SetupSPS;
ClearDebug;
DeclarePlayers;
if ((not(LoggedIn)) or (LobbyScreen)) then
LogInPlayer;
Wait(RandomRange(1000, 1500));
Location := 'Bank';
ClearDebug;
Writeln('| Running Auto Gold Seal Runner.');
CloseBank;
repeat
//DoBanking;
//DoResting;
DoRunning;
until(false);// until(false)or (Trips= 100);
TerminateScript;
end.

Trippeh

2011-11-27 17:05:16

Hi mate,

Copy n Pasted that fully had to add // before SetupSPS; at the bottom so i could run it but its a no go, gets stranded its as if when its walking on the "plain" sand it cant find it.. perhaps my maps are outdated?


program Auto_Gold_Seal_Walker;
{$i SRL/SRL/misc/smart.scar}
{$i SRL/SRL.scar}
{$i SPS/sps.simba}

// -------------------------------------------------------------------------- //
// Variable declaration. //
var
x, y: Integer;
WalkingPath: TPointArray;
Location: String;

// -------------------------------------------------------------------------- //
// Which player? This one! //
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;

// -------------------------------------------------------------------------- //
// Find the Nardah banker. //
function FindBankNPCDude: Boolean;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 5, 5, False);
if WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500)) then
begin
Wait(RandomRange(2000, 3000));
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;

// -------------------------------------------------------------------------- //
// Find the gold seal. //
function FindGoldSeal: Boolean;
begin
if FindObjTPA(x, y, 2849934, 1, 1, 25, 1, 1, ['old seal', 'Gold seal']) then
begin
Mouse(x, y, 4, 4, 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;

// -------------------------------------------------------------------------- //
// Find the waterskin. //
function FindWaterskin: Boolean;
begin
if FindObjTPA(x, y, 5989737, 1, 1, 25, 1, 1, ['aterskin', 'Waterskin']) then
begin
Mouse(x, y, 3, 3, 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;

// -------------------------------------------------------------------------- //
// Bank the banker and withdraw the goodies. //
procedure DoBanking;
begin
SetAngle(True);
if FindBankNPCDude and BankScreen then
begin
Writeln('| Bank | Banked the Nardah Banker. |');
Deposit(1,27,True);
if FindGoldSeal then
begin
Writeln('| Bank | Withdrew 26 Gold Seals. |');
Wait(RandomRange(1000, 1500));
if FindWaterskin then
begin
Writeln('| Bank | Withdrew 1 WaterSkin. |');
Wait(RandomRange(1000, 1500));
end else
begin
Writeln('| Bank | Failed to withdraw 1 Waterskin. |');
Wait(RandomRange(1000, 1500));
end;
end else
begin
Writeln('| Bank | Failed to withdraw 26 Gold Seals. |');
Wait(RandomRange(1000, 1500));
end;
CloseBank;
end else
begin
Writeln('| Bank | Failed to bank the Nardah Banker. |');
Wait(RandomRange(1000, 1500));
DoBanking;
end;
end;

// -------------------------------------------------------------------------- //
// Take a rest. //
procedure DoResting;
var
RestingTime: Integer;
begin
Mouse(725, 109, 0, 0, False);
WaitOptionMulti(['est', 'Rest'], RandomRange(1000, 1500));
ClickNorth(True);
RestingTime := RandomRange(20, 30);
Writeln('| Break | Taking a rest for ' + IntToStr(RestingTime) + ' seconds. |');
Wait(RestingTime*1000);
end;

// -------------------------------------------------------------------------- //
// Run to pyramid. //
procedure DoRunning;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_12','13_13','12_13']);
SPS_Continue := False;
WalkingPath := [
Point(5549, 5110), Point(5516, 5129), Point(5453, 5136),
Point(5399, 5170), Point(5343, 5209), Point(5277, 5225),
Point(5221, 5261), Point(5207, 5324), Point(5168, 5368)
];
if Location = 'Bank' then
begin
Writeln('| Travel | Walking to the pyramid. |');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('| Travel | Arrived at the pyramid. |');
Location := 'Pyramid';
Wait(RandomRange(1000, 1500));
end else
Writeln('| Travel | ERROR! We didn''t make it. |');
end else
if Location = 'Pyramid' then
begin
InvertTPA(WalkingPath);
Writeln('- Travel - Walking back to the bank. |');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('| Travel | Arrived at the bank. |');
Location := 'Bank';
Wait(RandomRange(1000, 1500));
end else
Writeln('| Travel | ERROR! - We didn''t make it. |');
end;
end;

// -------------------------------------------------------------------------- //
// Make shit happen! //
begin
ClearDebug;
Smart_Server := 123;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
MouseSpeed := 25;
SetupSRL;
ClearDebug;
DeclarePlayers;
if ((not(LoggedIn)) or (LobbyScreen)) then
LogInPlayer;
Wait(RandomRange(1000, 1500));
Location := 'Bank';
ClearDebug;
Writeln('|----------------------------------------------|');
Writeln('| Running Auto Gold Seal Runner. |');
Writeln('|----------------------------------------------|');
Writeln('| Type | Action |');
Writeln('|--------|-------------------------------------|');
CloseBank;
repeat
DoBanking;
DoResting;
DoRunning;
until(false);
TerminateScript;
end.

Mark

2011-11-27 17:14:22

Try these i dont have a members account atm to test

SPS_Areas := ['13_12',
'12_13'];

WalkingPath := [Point(5534, 5072),
Point(5480, 5111),
Point(5414, 5139),
Point(5346, 5160),
Point(5278, 5173),
Point(5211, 5194),
Point(5167, 5246),
Point(5152, 5314)]
;

Trippeh

2011-11-27 17:24:25

This didn't work mate. shame :(

From: CRU1Z1N
Try these i dont have a members account atm to test

Simba Code:
[LEFT]SPS_Areas := ['13_12',
'12_13'];

WalkingPath := [Point(5534, 5072),
Point(5480, 5111),
Point(5414, 5139),
Point(5346, 5160),
Point(5278, 5173),
Point(5211, 5194),
Point(5167, 5246),
Point(5152, 5314)]
[/LEFT]

;





check your PM i'm willing to lend u my acc..

Mark

2011-11-27 18:09:30

try this man you was missing this {$loadlib sps} from top of your script :D i arranged your script to be abit easier to read


program Auto_Gold_Seal_Walker;
{$loadlib sps}
{$i SRL/SRL/misc/smart.scar}
{$i SRL/SRL.scar}
{$i SPS/sps.simba}

// -------------------------------------------------------------------------- //
// Variable declaration. //
var
x, y: Integer;
WalkingPath: TPointArray;
Location: String;

// -------------------------------------------------------------------------- //
// Which player? This one! //
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Active := True;
end;

// -------------------------------------------------------------------------- //
// Find the Nardah banker. //
function FindBankNPCDude: Boolean;
begin
if FindObjTPA(x, y, 10859455, 10, 1, 25, 1, 1, ['ardah', 'Nardah']) then
begin
Mouse(x, y, 5, 5, False);
if WaitOptionMulti(['ank N', 'ardah'], RandomRange(1000, 1500)) then
begin
Wait(RandomRange(2000, 3000));
Result := True;
end else
begin
Result := False;
end;
end else
begin
Result := False;
end;
end;

// -------------------------------------------------------------------------- //
// Find the gold seal. //
function FindGoldSeal: Boolean;
begin
if FindObjTPA(x, y, 2849934, 1, 1, 25, 1, 1, ['old seal', 'Gold seal']) then
begin
Mouse(x, y, 4, 4, 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;

// -------------------------------------------------------------------------- //
// Find the waterskin. //
function FindWaterskin: Boolean;
begin
if FindObjTPA(x, y, 5989737, 1, 1, 25, 1, 1, ['aterskin', 'Waterskin']) then
begin
Mouse(x, y, 3, 3, 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;

// -------------------------------------------------------------------------- //
// Bank the banker and withdraw the goodies. //
procedure DoBanking;
begin
SetAngle(True);
if FindBankNPCDude and BankScreen then
begin
Writeln('| Bank | Banked the Nardah Banker. |');
Deposit(1,27,True);
if FindGoldSeal then
begin
Writeln('| Bank | Withdrew 26 Gold Seals. |');
Wait(RandomRange(1000, 1500));
if FindWaterskin then
begin
Writeln('| Bank | Withdrew 1 WaterSkin. |');
Wait(RandomRange(1000, 1500));
end else
begin
Writeln('| Bank | Failed to withdraw 1 Waterskin. |');
Wait(RandomRange(1000, 1500));
end;
end else
begin
Writeln('| Bank | Failed to withdraw 26 Gold Seals. |');
Wait(RandomRange(1000, 1500));
end;
CloseBank;
end else
begin
Writeln('| Bank | Failed to bank the Nardah Banker. |');
Wait(RandomRange(1000, 1500));
DoBanking;
end;
end;

// -------------------------------------------------------------------------- //
// Take a rest. //
procedure DoResting;
var
RestingTime: Integer;
begin
Mouse(725, 109, 0, 0, False);
WaitOptionMulti(['est', 'Rest'], RandomRange(1000, 1500));
ClickNorth(True);
RestingTime := RandomRange(20, 30);
Writeln('| Break | Taking a rest for ' + IntToStr(RestingTime) + ' seconds. |');
Wait(RestingTime*1000);
end;

// -------------------------------------------------------------------------- //
// Run to pyramid. //
procedure DoRunning;
begin
SPS_Areas := ['13_12','12_13'];
WalkingPath := [Point(5534, 5072),
Point(5480, 5111),
Point(5414, 5139),
Point(5346, 5160),
Point(5278, 5173),
Point(5211, 5194),
Point(5167, 5246),
Point(5152, 5314)]
if Location = 'Bank' then
begin
Writeln('| Travel | Walking to the pyramid. |');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('| Travel | Arrived at the pyramid. |');
Location := 'Pyramid';
Wait(RandomRange(1000, 1500));
end else
Writeln('| Travel | ERROR! We didn''t make it. |');
end else
if Location = 'Pyramid' then
begin
InvertTPA(WalkingPath);
Writeln('- Travel - Walking back to the bank. |');
if SPS_WalkPath(WalkingPath) then
begin
Writeln('| Travel | Arrived at the bank. |');
Location := 'Bank';
Wait(RandomRange(1000, 1500));
end else
Writeln('| Travel | ERROR! - We didn''t make it. |');
end;
end;

procedure prog;
begin
ClearDebug;
Writeln('|----------------------------------------------|');
Writeln('| Running Auto Gold Seal Runner. |');
Writeln('|----------------------------------------------|');
Writeln('| Type | Action |');
Writeln('|--------|-------------------------------------|');
end;

procedure Main;
begin
repeat
// DoBanking;
// DoResting;
DoRunning;
until(false);
end;


// -------------------------------------------------------------------------- //
// Make shit happen! //
begin
ClearDebug;
Smart_Server := 123;
Smart_Members := True;
Smart_Signed := True;
Smart_SuperDetail := False;
MouseSpeed := 25;
SetupSRL;
DeclarePlayers;
if ((not(LoggedIn)) or (LobbyScreen)) then
LogInPlayer;
Wait(RandomRange(1000, 1500));
Location := 'Bank';
Main;
end.

Trippeh

2011-11-27 18:18:51

Thanks mate, I gave it a go, but no go (halfway its stranded again).

edit: perhaps its cause i'm in Safe Mode? ( can't change it to software though.. )

Mark

2011-11-27 18:25:33

lol ill test now just got members

Trippeh

2011-11-27 18:29:59

Cheerz mate appreciated.

What world u on.. i'll give u some seals :-)

Mark

2011-11-27 18:36:23

well i just realized the path is out of date you will have to make the,m pieces your self but i would recommend LinearWalk or RadialWalk will do you just fine

Trippeh

2011-11-27 18:39:12

what do you mean? out of date?

Mark

2011-11-27 18:42:30

sps i think is only set up for f2p mostly only few member areas work map will need updating thats all

Trippeh

2011-11-27 18:46:09

how can i do this by my self? :-)

rather attached to the idea of SPS now, tried Radial- and LinearWalk but its not a very nice result.. always ending up in different places and so on.. :P

Yago

2011-11-27 18:46:46

try dragging your brightness all the way up…

Trippeh

2011-11-27 18:54:53

Thanks for input but no go. ( was like that before btw )

Mark

2011-11-28 08:31:38

I'm gonna look into how to update the map myself there a few places I will be neeeding myself

Trippeh

2011-11-28 13:46:37

cheerz maybe this?

https://github.com/Coh3n/SPS/blob/master/tools/runescape_surface_creator.simba

Mark

2011-11-28 14:55:17

Cheers saves me havin to look :) I will get on it when I get home on my phone atm

Mark

2011-11-28 19:05:50

all that does is update your areas it doesnt do nothing for your path creator is the map for that which needs updating

Trippeh

2011-11-29 01:58:31

u can use a different map on it.. doesn't that help?

Mark

2011-11-29 08:19:57

This procedure will give you the point your currently standing on its just an idea but you can use this to manually walk and record your path


program SPS_Manual_Path_Maker;
{$loadlib sps}
{$I SRL/SRL.scar}
{$i sps/sps.simba}
var
x,y:integer;
m:TPoint;

//this prints yours location coords for SPS
Function SPS_PrintLoc:TPoint;
Begin
m:=SPS_GetMyPos;
writeln('Point('+IntToStr(m.x)+','+IntToStr(m.y)+'),');
end;

Procedure RecordPath;
Begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_12', '12_13']);
SPS_Continue := false;
wait(1000);
writeln('mypath:= [Point('+IntToStr(m.x)+','+IntToStr(m.y)+'),');
Repeat
If FlagPresent then
Begin
FFlag(5);
SPS_PrintLoc;
End;
Until(false)
End;

Procedure main;
begin
SPS_Load;
RecordPath;
end;

begin
SetupSRL;
ActivateClient;
MouseSpeed:=RandomRange(25,30);
ClearDebug;
main;
end.

Trippeh

2011-11-29 09:43:18

Awesome, going to give it a go right away :thumbsup:

Mark

2011-11-29 10:24:17

try it now lol it should actually work now :D have not tested still but it should do the job

Trippeh

2011-11-29 11:55:07

No go the coords are wrong when i try to play them back its running in all directions it seems fit at that 'point'.

DeSnob

2011-11-29 12:00:02

From: Trippeh
No go the coords are wrong when i try to play them back its running in all directions it seems fit at that 'point'.


I heard SPS tiles are off. Happened to someone running a PC script.

Trippeh

2011-11-29 12:09:39

From: DeSnob
I heard SPS tiles are off. Happened to someone running a PC script.


By off do you mean off by some pixels or like its just clicking totally different places than the supposed point?

Trippeh

2011-11-29 12:29:49

to test is easy but this would be the code..


procedure WalkToPoint;
begin
SPS_Setup(RUNESCAPE_SURFACE, ['13_12','13_13','12_13']);
SPS_Continue := False;
SPS_WalkToPos(Point(5040,5565));
end;