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.
This should be very easy for a decent scripter.
2009-06-10 17:19:48
2009-06-10 18:33:08
2009-06-10 18:49:57
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.
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.
2009-06-10 22:29:47
2009-06-10 23:11:39
2009-06-11 01:39:56