SRL Archive - RS3 Outdated / Broken Scripts

Tea stealer


simen236

2009-06-10 17:19:48

Could anyone make a script that steals tea from the tea stall just east of Varrock East Bank. Also make it bank the tea.

This should be very easy for a decent scripter.

ShowerThoughts

2009-06-10 18:33:08

I made it once, isn't that hard try yourself.

Floor66

2009-06-10 18:49:57

Made it in private a while ago for my tank, haven't used it since. However, it probably still works!


Program What_A_Delight;
{.include SRL/SRL/Misc/SMART.scar}
{.include SRL/SRL.scar}

Const
Sleeper = True;
SleepEvery = 11;
SleepFor = 0;

Var
Running, _SleepEvery : Integer;

Procedure DeclarePlayers;
Begin
CurrentPlayer := 0; // Starting player
HowManyPlayers := 1; // How many players in total?
NumberOfPlayers(HowManyPlayers);

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 Letters of the Username
Players[0].Pin := ''; // Bank Pin (leave empty if you have none)
Players[0].Active := True; // Use this player?
Players[0].BoxRewards := ['xp', 'XP']; // Reward from Reward Box (default: exp lamp)
End;

Function ConvertTimeEx(MS : Integer): String;
Var
h, m, s : Integer;
Begin
ConvertTime(MS, h, m, s);
If (h > 0) And (m > 0) And (s > 0) Then
Result := IntToStr(h) +' Hour[s] and '+ IntToStr(m) +' Minute[s] and ' + IntToStr(s) +' Second[s]'
Else
If (m > 0) And (s > 0) Then
Result := IntToStr(m) +' Minute[s] and ' + IntToStr(s) +' Second[s]'
Else
If s > 0 Then
Result := IntToStr(s) +' Second[s]'
Else
Result := '0 Second[s]'
End;

Procedure _Sleep;
Var
t : Integer;
Begin
If Not Sleeper Then
Exit;
FindNormalRandoms;
If TimeFromMark(Running) >= _SleepEvery Then
Begin
WriteLn('Sleeping.');
Logout;
If SleepFor = 0 Then
t := Random(60000)
Else
t := (SleepFor * 60000 + Random(25000));
WriteLn('Going to sleep for '+ ConvertTimeEx(t) +'.');
Wait(t);
WriteLn('Waking up.');
Inc(Players[CurrentPlayer].Integers[2]);
LoginPlayer;
SetAngle(True);
MakeCompass('N');
SetRun(True);
MarkTime(Running);
End;
End;

Function Steal: Boolean;
Var
Tpa : TPointArray;
Group : T2DPointArray;
i, j, h, x, y : Integer;
Begin
If Not LoggedIn Then
LoginPlayer;
If InvFull Then
Begin
Result := True;
Exit;
End;
h := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, Tpa, 9677753, MSX1, MSY1, MSX2, MSY2, 8);
j := Length(Tpa);
If j = 0 Then
Begin
ColorToleranceSpeed(h);
Exit;
End;
Group := TPAtoATPAEx(Tpa, 10, 10);
j := Length(Group);
For i := 0 To (j - 1) Do
Begin
MiddleTPAEx(Group[i], x, y);
MMouse(x, y, 3, 3);
Wait(50 + Random(100));
Result := IsUpText('eal-from');
If Result Then
Begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
ColorToleranceSpeed(h);
Exit;
End;
End;
End;

Procedure Progress;
Begin
WriteLn('{--------- What A Delight! by Floor66 ---------}');
WriteLn('{- Ran for '+ TimeRunning +'.');
WriteLn('{- Stole '+ IntToStr(Players[CurrentPlayer].Integers[0]) +' Cup[s] of Tea.');
WriteLn('{- Did '+ IntToStr(Players[CurrentPlayer].Integers[1]) +' Load[s].');
WriteLn('{- Slept '+ IntToStr(Players[CurrentPlayer].Integers[2]) +' Time[s].');
WriteLn('{- Thieving level: '+ IntToStr(GetSkillLevel('thieving')) +'.');
WriteLn('{----------------------------------------------}');
End;

Begin
SetupSRL;
SmartSetupEx(99, True, True, False);
SetTargetDC(SmartGetDC);
_SleepEvery := (SleepEvery * 60000 + Random(25000));
DeclarePlayers;
Repeat
If Not LoggedIn Then
LoginPlayer
Else
SetPlayerNameTPAs;
SetAngle(True);
MarkTime(Running);
Repeat
_Sleep;
If Steal Then
Begin
If InvFull Then
Break;
Wait(5500 + Random(2500));
End;
Until(InvFull);
IncEx(Players[CurrentPlayer].Integers[0], 28);
Inc(Players[CurrentPlayer].Integers[1]);
DropAll;
Progress;
Until(AllPlayersInactive);
End.

NCDS

2009-06-10 22:21:42

From: Floor66
Made it in private a while ago for my tank, haven't used it since. However, it probably still works!


Program What_A_Delight;
{.include SRL/SRL/Misc/SMART.scar}
{.include SRL/SRL.scar}

Const
Sleeper = True;
SleepEvery = 11;
SleepFor = 0;

Var
Running, _SleepEvery : Integer;

Procedure DeclarePlayers;
Begin
CurrentPlayer := 0; // Starting player
HowManyPlayers := 1; // How many players in total?
NumberOfPlayers(HowManyPlayers);

Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 Letters of the Username
Players[0].Pin := ''; // Bank Pin (leave empty if you have none)
Players[0].Active := True; // Use this player?
Players[0].BoxRewards := ['xp', 'XP']; // Reward from Reward Box (default: exp lamp)
End;

Function ConvertTimeEx(MS : Integer): String;
Var
h, m, s : Integer;
Begin
ConvertTime(MS, h, m, s);
If (h > 0) And (m > 0) And (s > 0) Then
Result := IntToStr(h) +' Hour[s] and '+ IntToStr(m) +' Minute[s] and ' + IntToStr(s) +' Second[s]'
Else
If (m > 0) And (s > 0) Then
Result := IntToStr(m) +' Minute[s] and ' + IntToStr(s) +' Second[s]'
Else
If s > 0 Then
Result := IntToStr(s) +' Second[s]'
Else
Result := '0 Second[s]'
End;

Procedure _Sleep;
Var
t : Integer;
Begin
If Not Sleeper Then
Exit;
FindNormalRandoms;
If TimeFromMark(Running) >= _SleepEvery Then
Begin
WriteLn('Sleeping.');
Logout;
If SleepFor = 0 Then
t := Random(60000)
Else
t := (SleepFor * 60000 + Random(25000));
WriteLn('Going to sleep for '+ ConvertTimeEx(t) +'.');
Wait(t);
WriteLn('Waking up.');
Inc(Players[CurrentPlayer].Integers[2]);
LoginPlayer;
SetAngle(True);
MakeCompass('N');
SetRun(True);
MarkTime(Running);
End;
End;

Function Steal: Boolean;
Var
Tpa : TPointArray;
Group : T2DPointArray;
i, j, h, x, y : Integer;
Begin
If Not LoggedIn Then
LoginPlayer;
If InvFull Then
Begin
Result := True;
Exit;
End;
h := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
FindColorsSpiralTolerance(MSCX, MSCY, Tpa, 9677753, MSX1, MSY1, MSX2, MSY2, 8);
j := Length(Tpa);
If j = 0 Then
Begin
ColorToleranceSpeed(h);
Exit;
End;
Group := TPAtoATPAEx(Tpa, 10, 10);
j := Length(Group);
For i := 0 To (j - 1) Do
Begin
MiddleTPAEx(Group[i], x, y);
MMouse(x, y, 3, 3);
Wait(50 + Random(100));
Result := IsUpText('eal-from');
If Result Then
Begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, True);
ColorToleranceSpeed(h);
Exit;
End;
End;
End;

Procedure Progress;
Begin
WriteLn('{--------- What A Delight! by Floor66 ---------}');
WriteLn('{- Ran for '+ TimeRunning +'.');
WriteLn('{- Stole '+ IntToStr(Players[CurrentPlayer].Integers[0]) +' Cup[s] of Tea.');
WriteLn('{- Did '+ IntToStr(Players[CurrentPlayer].Integers[1]) +' Load[s].');
WriteLn('{- Slept '+ IntToStr(Players[CurrentPlayer].Integers[2]) +' Time[s].');
WriteLn('{- Thieving level: '+ IntToStr(GetSkillLevel('thieving')) +'.');
WriteLn('{----------------------------------------------}');
End;

Begin
SetupSRL;
SmartSetupEx(99, True, True, False);
SetTargetDC(SmartGetDC);
_SleepEvery := (SleepEvery * 60000 + Random(25000));
DeclarePlayers;
Repeat
If Not LoggedIn Then
LoginPlayer
Else
SetPlayerNameTPAs;
SetAngle(True);
MarkTime(Running);
Repeat
_Sleep;
If Steal Then
Begin
If InvFull Then
Break;
Wait(5500 + Random(2500));
End;
Until(InvFull);
IncEx(Players[CurrentPlayer].Integers[0], 28);
Inc(Players[CurrentPlayer].Integers[1]);
DropAll;
Progress;
Until(AllPlayersInactive);
End.

…
From: simen236
Also make it bank the tea.


@simen if you have a member's account you are willing to loan for an hour or so then I can do it.

Floor66

2009-06-10 22:29:47

Oh didn't see the banking part :p
But why bank… They don't sell and dropping is better imo ^^

ShowerThoughts

2009-06-10 23:11:39

Yeah they totally don't sell. Just drop them.

simen236

2009-06-11 01:39:56

Yea, was a bit in a hurry. I forgot to write that dropping is just as good.

Thank you!