SCAR Code:
//IF THE WALKING TO THE BANK IS NOT WORKING VERY GOOD THEN GO TO LINE 173 and remove the // for radialwalk
//if you did that then put on line 172 2x// for radial walk because otherwise it wil do the same 2 times..
program theacup;
{.include SRL/SRL.scar}
{.include SRL\SRL\Misc\trade.scar}
var
X, Y, Loads, Tea, VarockSand, VarockSandColor, TheaSeller, Times, startskill, endskill : integer;
const
Load= 50;//how many loads to do
DropTea = True; //Drop the tea?
TimeToWait=5500;//LEAVE THIS ALONE! If it clicks "steal tea" to fast than change this.
Mspeed = 13; //What do you want the mousespeed to be?
Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := 'Username';//Username Here.
Players[0].Pass := 'Password';//Password Here.
Players[0].Nick := 'Sern'; //3-4 Letters Of Your Name.
Players[0].Active :=True; //Want To Use This Player? If not then make it 'False'.
NickNameBMP:= CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;
procedure LoadBitmap;
begin
VarockSand := BitmapFromString2(False, 'a14F8678DACD8DC10D0' +
'02108045B0205C1A7776AFF259D8B0F132BB8CF64334C0211B135' +
'5A94B4584C165506767E4186D782463B58A49D86A237BFFBB86E9' +
'F3C1AC55567418384ACC736C6AE50A613A6666C7EC0964FB33F36' +
'B9FBB86E4F1526A5E1D559FB9FF901944');
TheaSeller := BitmapFromString2(False, 'a1A88A78DADD913B0E8' +
'4300C05AFE47C9C989218FBFE475ABF64056D68B658172334F290' +
'088828E54631063696200F081618AE065FCFC7983C9CA6150D66A' +
'9308C67F6E933DED3077C9BFB6D30D813FC596ED3B3DEFC9A0371' +
'4E934DE510E6EB3FE8E6960A48F6BA5257CACE1EDFE88A21DA6A5' +
'735699745A5317B2D7E21A575D6AA96D9BFF9DA7F5BFD861F7BE');
end;
Procedure DrinkTea;
begin
Tea := DTMFromString('78DA6314636060E06740015B56AD04D38C503' +
'EA30A90E06640038CA86A3830CDC1502308249808A89104123204' +
'D470020969026A406E9125C21C36026A1480040B0135724042888' +
'01A903D6204D448000966FC6A00DE2D03C8');
If (FindDTM(Tea, x,y, MSX1, MSY1, MSX2, MSY2)) or
FindText(x, y, 'oo full', NpcChars, 106, 387, 417, 411) then;
begin
repeat
Mouse(x, y, 10, 5, true);
Wait(300 +random(350));
Until (Not(FindDTM(Tea, x, y, 561, 213, 726, 282)));
FreeDTM(Tea);
end;
end;
Procedure DropTeas;
begin
Tea := DTMFromString('78DA6314636060E06740015B56AD04D38C503' +
'EA30A90E06640038CA86A3830CDC1502308249808A89104123204' +
'D470020969026A406E9125C21C36026A1480040B0135724042888' +
'01A903D6204D448000966FC6A00DE2D03C8');
If (DropTea) then
If(FindDTM(Tea, x, y, 684, 430, 727, 462)) Then
begin
Repeat
begin
Mouse(x, y, 5, 5, False);
ChooseOption('rop');
wait(450+Random(250));
end;
Until Not(FindDTM(Tea, x, y, 554, 214, 730, 458))
FreeDTM(Tea);
end;
end;
{===============================================]
this function finds randoms by:wt-fawaki
[===============================================}
Function FindFastRandoms: Boolean;
var
i: Integer;
begin
for i:=1 to 12 do
begin
case I of
1: If FindDead then
Result := True;
2: If FindMod then
Result := True;
3: If FindMime then
Result := True;
4: If FindMaze then
Result := True;
5: If FindQuiz then
Result := True;
6: If FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: begin
if FindFight then
begin
RunTo('N',False);
Wait(500 +random(300));
DrinkTea;
Runback;
end;
end;
10: If FindTalk Then
Result := True;
11: If HandleTrade Then
Result := True;
12: If ClickToContinue Then
Result := True;
end;
end;
end;
procedure antiban;
begin
Case Random(30) Of
1: HoverSkill('Thieving', False);
2: HoverSkill('thieving', False);
3: begin
GameTab(1+Random(12));
Wait(2000+Random(400));
GameTab(4);
end;
4: RandomRClick;
5: PickUpMouse;
6: HoverSkill('attack', False);
7: almostlogout;
8: begin
gametab(9);
gametab(5);
gametab(1);
gametab(2);
end;
9: begin
mmouse(x,y,333,273);
end;
end;
end;
procedure GetVarockSandColor;
begin
LoadBitmap;
FindFastRandoms;
FindNormalRandoms;
VarockSandColor:=AutoColorThis(VarockSand, 100, MMX1, MMY1, MMX2, MMY2);
WriteLN('VarockSandColor: '+IntToStr(VarockSandColor));
FreeBitmap(VarockSand);
end;
procedure StealFromTheaStall;
begin
Makecompass('E');
lowestangle;
GameTab(4);
repeat
FindFastRandoms;
FindNormalRandoms;
if findcolorspiraltolerance(X,Y,5130037, MSX1, MSY1, MSX2, MSY2, 10) or
FindColorSpiralTolerance(X,Y,9019565, MSX1, MSY1, MSX2, MSY2, 10) or
FindColorSpiralTolerance(X,Y,9611703, MSX1, MSY1, MSX2, MSY2, 10) or
FindColorSpiralTolerance(X,Y,3026481, MSX1, MSY1, MSX2, MSY2, 10) then
Mouse(x,y,2,2,False);
Wait(300 +random(200));
ChooseOption('rom')
WriteLN('did steal the stall');
wait(TimeToWait + random (233));
until(InvFull);
if (InvFull) then
begin
Loads :=Loads + 1
end;
end;
procedure ToBank;
begin
MakeCompass('N');
SetRun(true);
GameTab(2);
endskill:=GetSkillLevel('thieving');
GameTab(4);
Highestangle;
FindVarrockRoadColor;
FindFastRandoms;
FindNormalRandoms;
if FindBank('veb')then
begin
Exit;
end else
FindFastRandoms;
FindNormalRandoms;
RadialRoadWalk(VarockSandColor,270,340,70,0,0);//IF IT DOESNT WALK PERFEXT TO BANK THEN PUT A // FOR THIS LINE(RADIAL)
//RadialRoadWalk(VarockEastColor,340,0,70,0,0);//AND REMOVE THE // FOR THIS LINE
FindBank('veb');
end;
procedure HandleBank;
begin
DepositAll;
Closebank;
GameTab(4);
if (invfull) then
begin
OpenBankQuiet('veb');
DepositAll;
Closebank;
GameTab(4);
end;
end;
Procedure ToTheaStall;
begin
Setrun(False);
GetVarockSandColor;
linearroadwalk(VarockSandColor,100,75,x,y);
Wait(3000 + random(500));
repeat
FindFastRandoms;
FindNormalRandoms;
Times:=Times + 1
if FindBitmapToleranceIn(TheaSeller,x,y,MMX1,MMY1,MMX2,MMY2,25) then
begin
Mouse(x,y,0,0,true);
wait(1);
Flag;
while Flag do
wait(1);
FlagPresent;
if FlagPresent Then
wait(6500+random(200));
end;
until(Times=10)
FreeBitmap(TheaSeller);
end;
procedure proggy;
begin
WriteLN('//--------------------------');
WriteLN('// Total Running Time : ' +TimeRunning);
WriteLN('// Total loads did : ' +inttostr(load)+'');
WriteLN('//thieving-level was '+inttostr(startskill)+'');
WriteLN('//thieving-level is now '+inttostr(endskill)+'');
WriteLN('//--------------------------');
WriteLN('//thanks for using my script');
WriteLN('//post proggy''s and bugs ;) ');
WriteLN('--------------------------');
end;
procedure proggy1;
begin
WriteLN('//--------------------------');
WriteLN('// Total Running Time : ' +TimeRunning);
WriteLN('// Total loads dropped : ' +inttostr(load)+'');
WriteLN('//thieving-level was '+inttostr(startskill)+'');
WriteLN('//thieving-level is now '+inttostr(endskill)+'');
WriteLN('//--------------------------');
WriteLN('//thanks for using my script');
WriteLN('//post proggy''s and bugs ;) ');
WriteLN('--------------------------');
end;
procedure SetupClient;
begin
ClearDebug;
SetupSRL;
DeclarePlayers;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
ActivateClient;
LoginPlayer;
Wait(1000);
gametab(12);
setbar('Brightness',4);
GameTab(2);
startskill:=GetSkillLevel('thieving');
MakeCompass('N');
Highestangle;
antiban;
end;
{===============]
mainloop
[===============}
begin
SetupClient;
repeat
if (DropTea) then
begin
MouseSpeed := Mspeed;
FindFastRandoms;
FindNormalRandoms
stealfromtheastall;
antiban;
FindFastRandoms;
DropTeas;
proggy1;
end else
MouseSpeed := Mspeed;
ToTheaStall;
FindFastRandoms;
FindNormalRandoms;
stealfromtheastall;
antiban;
toBank;
handlebank;
Proggy;
until(loads=load)
GameTab(2);
endskill:=GetSkillLevel('thieving');
Proggy;
end.