SRL Archive - Archive

Tv-XxX - SRL Member Application Form


Tv-XxX

2008-05-31 14:06:38

<!– BEGIN TEMPLATE: formanswers –>
Tv-XxX - SRL Member Application Form
Tv-XxX

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
PHP, Delphi, C, C#, C++, Pascal, Basic, Html

Other Communitys


How Long have You Played Runescape
5 Years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Well. I'm Back, and Applying For Membership Once Again :)
I Have Been Trying My Hardest To Learn As Much As I Can About Scar Scripting, and Believe I Have Come Along Way, as I Know Undersatnd Much Much More.

The Code I Have Attached With This Application Is My West Varrok Clay Miner and Softner, Hopefully You Will Accept My Application, If Not, Im Sure There's A Valid Reason Why.

Yours Tv.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

program Tvs_Clay_Moist;
{.include Srl/Srl/Misc/Smart.scar}
{.include Srl/Srl.scar}
{.include Srl/Srl/Misc/Users.scar}
{.include Srl/Srl/Skill/Mining.scar}

{
___________ ____ ___ ____ ___ _________
\__ ___/__ __ \ \/ /___ ___\ \/ / / _____/____ ___.__. ______
| | \ \/ / ______ \ / \ \/ / \ / \_____ \\__ \< | |/ ___/
| | \ / /_____/ / \ > < / \ / \/ __ \\___ |\___ \
|____| \_/ /___/\ \/__/\_ \/___/\ \ /_______ (____ / ____/____ >
\_/ \/ \_/ \/ \/\/ \/
___________.__ __ _____.___. ___________
\__ ___/| |__ _____ ____ | | __ \__ | | ____ __ __ \__ ___/___ ____
| | | | \\__ \ / \| |/ / / | |/ _ \| | \ | | / _ \ / _ \
| | | Y \/ __ \| | \ < \____ ( <_> ) | / | |( <_> | <_> )
|____| |___| (____ /___| /__|_ \ / ______|\____/|____/ |____| \____/ \____/ /\ /\ /\
\/ \/ \/ \/ \/ \/ \/ \/

Starblaster For FindObjCustom2
Mixster For EmptiestWorld
Jad For JadSymbol
Waddo For PerfectNorth2

}

Var
ClayMined, SoftClayMade : Integer;
CharactersWorld : String;

//###################### StarBlasters Find Object Custom Function #####################################################
function FindObjCustom2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tolerance: Integer): Boolean;
var
a, b, c, i, x1, y1, x2, y2: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], MSX1, MSY1, MSX2, MSY2, Tolerance)) then
begin
Start := True;
Break;
end;
end;
if(Start)then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if not(LoggedIn)then break;
a := a + 1;
if (a = 1) then
c := c + 1
else if (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end else
if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end else
if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end else
if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], x1, y1, x2, y2, tolerance)) then
begin
MMouse(cx, cy, 3, 3);
Wait(5+Random(10));
if (IsUpTextMultiCustom(Text)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
//#######################################################################################################

//###################### Mixsters Random Least Worlds Function (Edited By Tv-XxX) #####################
function EmptiestWorld(members: Boolean): string;
var
website, GetCharacterWorld : string;
worlds : array of string;
RandWorld : Integer;
begin
case members of
False: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=MPLAW');
True: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=mPLAW');
end;
Delete(website, 1, Pos('function e(w,m,s,a,dt,h,p,l) ', website) + 50);
while GetArrayLength(worlds) < 10 do
begin
SetArrayLength(worlds, GetArrayLength(worlds) + 1);
Delete(website, 1, Pos('",', website) + 3);
worlds[GetArrayLength(worlds) - 1] := Between(',"', '",', website);
Delete(website, 1, Pos('",', website) + 3);
end;
RandWorld := Random(10)
Result := worlds[RandWorld];
If((Length(Result)=8))Then GetCharacterWorld := Right(Result,3) Else GetCharacterWorld := Right(Result,2);
CharactersWorld := GetCharacterWorld;
end;
//#######################################################################################################


//################# Jads Symbol Locator #################################################################
function JadSymbol(WhatSymbol: String; Click : Boolean): Boolean;
var
Tx, Ty, I : Integer;
begin
for I := 1 to 15=0 do
begin
if(FindSymbol(Tx, Ty,(WhatSymbol)))then
begin
if(Click)then
Mouse(Tx,Ty,2,2,true);
Result := True;
Exit;
end;
wait(750+random(500));
end;
Writeln('Could NOT find '+WhatSymbol+' symbol.');
Result := False;
end;
//######################################################################################################

//############################## Waddos PerfectNorth Function ##########################################
function perfectnorth2 : boolean;
var x,y,ndtm,checks,mark:integer;
begin
ndtm := DTMFromString('78DA63F4646260D06740011919D60C3A8C0C0' +
'C40C4F01F0818416AF450D5BCFDF685C18801A20604C06A748950' +
'A343408D07A67B30D4B813A1C68D08354E986A3EBF7E83A20600C' +
'EBE1E34');
MarkTime(Mark);
makecompass('n');
wait(1000);
keydown(vk_left);
repeat
wait(50);
if finddtm(ndtm,x,y,mmx1,mmy1,mmx2,mmy2)then
begin
keyup(vk_left);
writeln('found in '+inttostr(timefrommark(mark))+' ms');
keydown(vk_right);
wait(15+random(2));
keyup(vk_right);
result:=true;
exit;
end;
if rs_GetCompassAngleDegrees>=40 then
begin
keyup(vk_left);
makecompass('20');
wait(50);
keydown(vk_left);
end;
checks:=checks+1;
until ((checks>=10) or (result=true));
freedtm(ndtm);
checks:=0;
keyup(vk_left);
end;
//##############################################################################################

{
#####################################################################
# WithDraw Taken From SRL # 16 #
# Edited By Tv-XxX #
# Changes Are : #
# Longer Wait Time, #
# Removed +Chr(13) as TypeSend All Ready Includes That #
#####################################################################
}

procedure WithdrawCopy(col, row, Amount: Integer);

Var
BBox: TBox;

begin
Col := Col - 2;
FixBank;
BBox := BankIndexToMSBox(BankPointToIndex(Point(Col, Row)));
If Amount = 1 Then
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 1);
Wait(RandomRange(50, 150));
End
Else
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 2);
if (Amount = 5) or (Amount = 10) then
ChooseOption('Withdraw ' +IntToStr(Amount))
else if Amount = 0 then
ChooseOption('Withdraw All')
else
begin
ChooseOption('Withdraw X');
Wait(2000 + Random(1000));
TypeSend(IntToStr(Amount));
end;
End;
end;

{
########################################################################################################################################################
_______ _______ _______ ______ _______ _______ _________ _______ _______ _________ _______ _______ _______ _______
( )|\ /| ( ____ \( ___ )( __ \ ( ____ \ ( ____ \\__ __/( ___ )( ____ )\__ __/( ____ \ |\ /|( ____ \( ____ )( ____ \
| () () |( \ / ) | ( \/| ( ) || ( \ )| ( \/ | ( \/ ) ( | ( ) || ( )| ) ( | ( \/ | ) ( || ( \/| ( )|| ( \/
| || || | \ (_) / | | | | | || | ) || (__ | (_____ | | | (___) || (____)| | | | (_____ | (___) || (__ | (____)|| (__
| |(_)| | \ / | | | | | || | | || __) (_____ ) | | | ___ || __) | | (_____ ) | ___ || __) | __)| __)
| | | | ) ( | | | | | || | ) || ( ) | | | | ( ) || (\ ( | | ) | | ( ) || ( | (\ ( | (
| ) ( | | | | (____/\| (___) || (__/ )| (____/\ /\____) | | | | ) ( || ) \ \__ | | /\____) | | ) ( || (____/\| ) \ \__| (____/\
|/ \| \_/ (_______/(_______)(______/ (_______/ \_______) )_( |/ \||/ \__/ )_( \_______) |/ \|(_______/|/ \__/(_______/

########################################################################################################################################################
}

Procedure TvReport;
Begin
ClearDebug;
Writeln('################################################')
Writeln('# Tvs Clay Miner and Moister #')
Writeln('################################################')
Writeln('---------------- Time Running ------------------')
Writeln('------------------------------------------------')
Writeln(' '+TimeRunning)
Writeln('------------------------------------------------')
Writeln('-------------- Clay Ores Mined -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(ClayMined))
Writeln('------------------------------------------------')
Writeln('-------------- Soft Clays Made -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(SoftClayMade))
Writeln('################################################')
Writeln('# [url]Http://www.Tv-XxX.co.uk[/url] #')
Writeln('################################################')

ReportVars[1]:= 28;
SendSRLReport;
wait(100)
SRLRandomsReport;

End;

Procedure TvAntiBan;
Begin
case Random(100) of
0: HoverSkill('Mining', False);
4: HoverSkill('Crafting', false);
8:
begin
GameTab(1 + Random(12));
wait(1800 + random(500));
GameTab(4)
end;
12: BoredHuman;
16: AlmostLogout;
20: DoEmote(400 + Random(90));
40:
Begin
Case Random(10) of
4:
Begin
Logout;
Writeln('Status : SLEEPING')
Wait(60000+random(300000))
LoginPlayer;
end;
end;
end;
end;
If(InChat('Hi'))or (InChat('ello'))or (InChat('Hey')) Then
Begin
case Random(20) of
0: TypeSend('hello');
1: TypeSend('hi');
2: TypeSend('hola');
3: TypeSend('hey');
4: TypeSend('morning');
end;
End;
If(InChat('lvl'))or (InChat('ining'))or (InChat('level'))or (InChat('lvl?')) Then
Begin
case Random(5) of
0: TypeSend(IntToStr(GetSkillLevel('mining'))+' yours?');
1: TypeSend(IntToStr(GetSkillLevel('mining')));
2: TypeSend(IntToStr(GetSkillLevel('mining'))+' and you?');
3: TypeSend('erm... '+IntToStr(GetSkillLevel('mining')));
4: TypeSend(IntToStr(GetSkillLevel('mining')));
end;
End;
End;

Procedure TvAntiRandoms;
Begin
FindNormalRandoms;
wait(10)
If(FindFight)Then RunAway('w',True,1,10000);
wait(10)
End;

Procedure BankClay;
Var
Ti, Tx, Ty, BucketDTM : Integer;
Begin
BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');
GameTab(4);
repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
Deposit(1, 14, 14);
Repeat
WithdrawCopy(1, 1, 0);
wait(1500+random(500));
Until(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))
CloseBank;
End;
ClayMined:= ClayMined + 28;
AddToReport('Clay Mined : '+IntToStr(ClayMined))
ReportVars[0]:= 28;
SendSRLReport;
TvAntiRandoms;
End;

Procedure MineClay;
var
Tx, Ty, GemDTM, FrogDTM, IncTol : integer;
begin
SetupMining;
FindPickHeadColor;
If Not Loggedin then Exit;
GemDTM := DTMFromString('78DA63DCC7CCC0B09D910119F00AE632FC07D' +
'220D1FF40C07808A8E620AA1A882C8C04D21B816AD61350B319A8' +
'E600013520BB361050B301A8662B0135BB806A0E11507304A8663' +
'701353B816AD6E1570300831C12C9');
FrogDTM := DTMFromString('78DA637CC2CCC0709B910119F0E53A3018016' +
'990E87F2060BC06547306550D44164602E9AB40352F08A8F94CA4' +
'1A0276010073F70DC4');
If not InvFull then begin
repeat
If Not Loggedin then Exit;
if FindObjCustom2(Tx, Ty, ['Min', 'ine'], [6532563, 5146789, 5674678], 7 + IncTol) then begin
MMouse(Tx,Ty,4,4)
wait(100+random(100))
if IsUpText('ine') then Mouse(Tx,Ty,0,0,True);
Flag;
TvAntiRandoms;
If(GasFound(Tx, Ty)) Then RunAway('s',False,1,10000);
TvAntiBan;
FindPick;
Wait(4000+random(1000));
IncTol := 0
end
else
Begin
wait(1000+random(1000))
If Not Loggedin then Exit;
IncTol := IncTol + 2
end;
until(InvFull);
end;
End;

Procedure WaterClay;
Var
Tx, Ty, Ti, BucketDTM, ClayDTM, BucketWaterDTM, ClayTxtBMP : Integer;
Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');

BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');

BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
If(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Then
Begin
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Wait(20000 + Random(5000))
DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End Else
Begin
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
MouseItem((1+random(12)), True)
MouseItem((16+random(10)), True)
Wait(2000+random(1000))
mouse(250,421,10,10,false);
wait(1000+random(500))
ChooseOption('All');
Wait(20000 + Random(5000))
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End;
end;

Procedure SecondClayWetter;
Var
Ti, Tx, Ty, ClayDTM, BucketWaterDTM, ClayTxtBMP : Integer;
Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
GameTab(4);
repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
Deposit(15, 28, 14);
wait(1000+random(500))
WithdrawCopy(2, 1, 0);
wait(1000+random(500))
CloseBank;
Wait(2000+random(1000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Wait(20000 + Random(5000))
End;
repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
DepositAll;
wait(1000+random(500))
CloseBank;
End;
SoftClayMade := SoftClayMade+28;
TvReport;
End;

Procedure MineToBank;
Var
Tx, Ty, Ti : Integer;
Begin
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/3)+MMX1)-random(15),(MMY1 + 20), 4, 4, True)
Wait(5000+random(1000))
Flag;
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
perfectnorth2;
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+random(10),(MMY1 + 20), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,40,110,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Writeln('Status : Can Not Find Varrok Road, Logging Out'); Logout; TerminateScript; End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank'))Or (JadSymbol('bank', True)) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
If(FindSymbol(Tx, Ty, 'Water')) Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,40,2,2)
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End else
Begin
Ti:= 0
If(RadialWalk(FindVarrockRoadColor,70,120,40,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End Else
Begin
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToMine;
Var
Tx, Ty, Ti, AgilityDTM : Integer;
Begin
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx+8, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,230,250,72,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(2000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Mouse( MMX1 + 10, MMY2 - 10, 4, 4, True); Wait(2000 + Random(2000)); Flag; End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,200,(260 + (Ti*3)),50,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Writeln('Status : Can Not Find Varrok Road, Logging Out'); Logout; TerminateScript; End;
End;
Until(Ti=4)
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+(12+(random(5))),(MMY2 - 21), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'mining spot'))Or (JadSymbol('mining spot', True)) Then
Begin
Writeln('Status : Found Mining Symbol')
Mouse((Tx+6), (Ty-6), 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Mining Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
LoadSymbolBitmapColor('agility')
AgilityDTM := DTMFromString('78DA637CC2CCC020C2C8800C984EBB30A4006' +
'990E87F20607C0454238DAA8691971942C3F82035BC04D4BCC4B4' +
'0B5D0D00D4A6099E');
If(DTMRotated(AgilityDTM, Tx, Ty, MMX1, MMY1, MMX2, MMY2))Or (JadSymbol('agility', True))Or(FindColorTolerance(Tx, Ty, 11178100, MMX1, MMY1, MMX2, MMY2, 10))Then
Begin
Writeln('Status : Found Agility Symbol')
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End Else
Begin
Writeln('Status : Can Not Find Mine (Or Agility), Logging Out');
Logout;
TerminateScript;
End;
End;
End;
Until(Ti=4)
End;

Procedure FountainToBank;
Var
Tx, Ty, Ti : Integer;
Begin
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,240,310,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Writeln('Status : Can Not Find Varrok Road, Logging Out'); Logout; TerminateScript; End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
wait(5000+random(2000))
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,30,2,2);
Flag;
Ti:= 0;
If(FindSymbol(Tx, Ty, 'cook')) Then
Begin
RadialWalk(FindVarrockRoadColor,70,110,70,2,2);
Flag;
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToFountian;
Var
Tx, Ty, Ti : Integer;
Begin
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,120,160,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Writeln('Status : Can Not Find Varrok Road, Logging Out'); Logout; TerminateScript; End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Water')) Then
Begin
Writeln('Status : Found Water Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Water Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then Begin Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True); Ti:=0 End;
End;
Until(Ti=4)
End;

procedure SmartAnimation;
begin
ClearDebug;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADING WORLD '+ CharactersWorld +' ')
Writeln('=========================================')
Wait(100)
end;

Procedure SetUpScript;
Begin
If(Not(Loggedin)) Then TerminateScript;
MakeCompass('N')
perfectnorth2;
SetRun(True)
SetAngle(True)
End;

procedure SetupSmart;
Var
Ti : Boolean;
Tx, Ty, WelcomeScreen : Integer;
CharactersPrefix : String;
begin
WelcomeScreen := BitmapFromString(32, 4, 'beNpjYHB09v3/nwGIgADCAI' +
'pAEFycGLatvSeEDUcQgFU9mvkeXsEk2QUHVtbOuPQCxeFSBN0DcT/' +
'QNDQvAEUgToXrRWMDrUB2DzzoMNUDzYdYgeIBAO43gOo=');
CharactersPrefix := EmptiestWorld(Players[CurrentPlayer].Booleans[0])
SmartSetup(CharactersPrefix, false, true);
ClearDebug;
SmartAnimation;
Wait(1000);
SetupSrl;
ScriptID := '880';
if ((players[currentplayer].strings[0] = '') or (players[currentplayer].strings[1] = ''))then
begin
SRLID:='4159';
SRLPassword:='sK9k5Dd7mV';
end else
begin
SRLID := players[currentplayer].strings[0];
SRLPassword := players[currentplayer].strings[1];
end;
Repeat
SetTargetDC(SmartGetDC);
SmartAnimation;
If((SmartReady)and ((FindBitmap(Tx, Ty, WelcomeScreen))Or Loggedin)) Then Ti:= True Else Ti:= False;
Until(Ti)
ClearDebug;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADED WORLD '+ CharactersWorld +' ')
Writeln('=========================================')
Wait(100)
end;

begin
SRLPlayerForm(True, ['Members Account'], [], ['SRLStats User','SRLStats Pass'], [])
ClearReport;
ClearDebug;
SetupSmart;
loginplayer;
///////////////////////////////////////////////
Repeat
SetUpScript;
BankToMine;
MineClay;
SetUpScript;
MineToBank;
BankClay;
BankToFountian;
WaterClay;
FountainToBank;
SecondClayWetter;
case random(10) of
4:
Begin
Writeln('Status : Sleeping After Banking')
Logout;
wait(120000+random(180000))
LoginPlayer;
End;
8:
Begin
Writeln('Status : Random Waiting After Banking')
wait(180000+random(180000))
If Not(LoggedIn)Then LoginPlayer;
End;
End;
Until(False)
end.

——————————————————
<!– END TEMPLATE: formanswers –>

FreakyMonkey

2008-05-31 14:57:01

A lot of the procedures seem to be taken from other people and a lot of areas seem to be a bit too basic, but it does seem to have a failsafes, but some are absent
Begin
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
MouseItem((1+random(12)), True)
MouseItem((16+random(10)), True)
Wait(2000+random(1000))
mouse(250,421,10,10,false);
wait(1000+random(500))
ChooseOption('All');
Wait(20000 + Random(5000))
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End;

this part needs a LOT of work, what happens if the user has lag? it would throw off a lot of stuff. Maybe it would eventually fix itself? However you really should work on your failsafes.

Also i noticed that you don't have that much of a variety in the functions you use ( I know you dont have to ) but there are a hell of a lot of useful functions that could be more appropriate. You should probably be getting to the point to when you don't rely too much on the "Wait" function (although it is a valuable function to have) there are much better things to use like marktime/timefrommark's

ill hold my vote


I'll hold my vote for now

Tv-XxX

2008-05-31 15:46:09

The Extract You Have Taken Only Gets Called Upon If The DTM's Are Not Found, and There Always Found, Bassically I Left That aret In As A Failsafe lol, But, Everyman To The Own Becoming Lol.

FreakyMonkey

2008-05-31 16:13:51

What happens if there is lag for the "Mouse" function? It sure could find the DTM but what if it that DTM does get used?

For example

If(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Then
Begin
Mouse(Tx, Ty, 4, 4, True)//This is where you use it. What if it doesnt use?
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)//no failsafe here? What if it doesnt find? You should maybe use FindObjTPA
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)//same what if it doesnt use
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)//same
wait(500+random(500))

See? there are a lot of unreliablity in this. It could be easily fixed up with a quick "repeat/until" functions. Even if your computer doesnt lag that much, there are chances that another user's will

Tv-XxX

2008-05-31 16:16:44

Suppose Lol, Im just used to my 4 gb of ram and my 8 mg broudband lol :P a few more fail safes, may come in handy :)

Any One Else Got Any Advice, My Ears Are Open To All.

P.s. Just To Show The Script Works…


Nava2

2008-06-01 00:34:44

I don't like your style of standards, they confused me at times haha.

Uhm, the code seems well, the script seems to work.

I agree with FreakyMonkey's comments though. You need to work on failsafes.

My vote is withheld.

Nava2

Naum

2008-06-01 04:48:14

I Vote 'Yes', I used to use your ClickMouse scripts when I was a noob ;)

Tv-XxX

2008-06-01 05:35:45

Nava2 -
I Must Admit Sometimes I Comfuse MySelf Lol, but You Should Of Seen My Scipts Before We Had Any Kind Of Standerds Lol :P, Also I Have Statred Adding More FailSafes As We Speak (And If Anyone Cares A New Version Of The Script Will Be Out Some Time Today In Its Offical Thread (Hybrid Section)

NaumanAkhlaQ - Cheers, and They Were The Days :P ClickMouse, and Move MouseSilent Lol, Shame Jagdex Got a Brain lol

Yours Tv.

ShowerThoughts

2008-06-01 05:38:30

From: NaumanAkhlaQ
I Vote 'Yes', I used to use your ClickMouse scripts when I was a noob ;)


That is the wurst 'Yes' I have ever seen.

Sorry TvXxX, 'No' because leak of failsafes.

Tv-XxX

2008-06-01 05:45:23

lol Hermpie, Fair enough, I Guess Its Time To Say, I'll Try Again In A Month… With So Many Fail Safes That Your Brain Will Explode Lol

Peace Tv.

Naum

2008-06-01 07:11:29

From: Hermpie
That is the wurst 'Yes' I have ever seen.

Sorry TvXxX, 'No' because leak of failsafes.



Dictionary! :rolleyes:

I voted yes mainly based upon his attitude and scripting skills , I dont think, he will become inactive during members.

Tv-XxX

2008-06-01 07:25:36

Lol I THink I Just Found A Friend In NaumanAkhlaQ Lol XD

EvilChicken!

2008-06-01 07:27:58

Yes because of attitude. ("Attitude" is a good song by Metallica, lisetn to it.)
You never seem to give up, I like that.

Tv-XxX

2008-06-01 07:32:45

I Wont Give Up Lol, Ill Only Try and Get Better :) and I'm Off To See Metallica In October :) and Dragon Force and Slipknot XD

Negaal

2008-06-01 08:09:08

Yes, you've tried pretty many times. Honest, your script, mhm - sucks, your standards needs bit working, and DO NOT Write Like This.

Actually, on second look, your script is pretty good, just too much code to 1 function. It could be more complex.

Good luck.

Nava2

2008-06-01 09:32:47

From: Tv-XxX
I Wont Give Up Lol, Ill Only Try and Get Better :)


Yes. That comment makes my vote. I see you are trying to learn and better yourself. Thats what we need. I hope to see you with the fancy yellow name.

Nava2

Bam Bam

2008-06-01 09:44:42

Did you make anything yourself?

Tv-XxX

2008-06-01 10:00:03

Yes.. afte the line

{
########################################################################################################################################################
_______ _______ _______ ______ _______ _______ _________ _______ _______ _________ _______ _______ _______ _______
( )|\ /| ( ____ \( ___ )( __ \ ( ____ \ ( ____ \\__ __/( ___ )( ____ )\__ __/( ____ \ |\ /|( ____ \( ____ )( ____ \
| () () |( \ / ) | ( \/| ( ) || ( \ )| ( \/ | ( \/ ) ( | ( ) || ( )| ) ( | ( \/ | ) ( || ( \/| ( )|| ( \/
| || || | \ (_) / | | | | | || | ) || (__ | (_____ | | | (___) || (____)| | | | (_____ | (___) || (__ | (____)|| (__
| |(_)| | \ / | | | | | || | | || __) (_____ ) | | | ___ || __) | | (_____ ) | ___ || __) | __)| __)
| | | | ) ( | | | | | || | ) || ( ) | | | | ( ) || (\ ( | | ) | | ( ) || ( | (\ ( | (
| ) ( | | | | (____/\| (___) || (__/ )| (____/\ /\____) | | | | ) ( || ) \ \__ | | /\____) | | ) ( || (____/\| ) \ \__| (____/\
|/ \| \_/ (_______/(_______)(______/ (_______/ \_______) )_( |/ \||/ \__/ )_( \_______) |/ \|(_______/|/ \__/(_______/

########################################################################################################################################################

FreakyMonkey

2008-06-01 14:29:34

You have a great personality man, I love it, but I think you can impress us one last time if you dont get in this time. Hell ill even help you out just ask for my MSN if you want it =). I'm still going to hold my vote though.

Camaro'

2008-06-03 15:34:20

Im not voting. Im just giving some advice..

I know you know what your doing because you did it in the same exact procedure. Your just being lazy.

Repeat
WithdrawCopy(1, 1, 0);
wait(1500+random(500));
Until(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))

That would definitly suck if something went wrong huh? its in the banking proc i think. Just add a time mark or a failsafe there.

Procedure MineClay;
var
Tx, Ty, GemDTM, FrogDTM, IncTol : integer;
begin
SetupMining;
FindPickHeadColor;
If Not Loggedin then Exit;
GemDTM := DTMFromString('78DA63DCC7CCC0B09D910119F00AE632FC07D' +
'220D1FF40C07808A8E620AA1A882C8C04D21B816AD61350B319A8' +
'E600013520BB361050B301A8662B0135BB806A0E11507304A8663' +
'701353B816AD6E1570300831C12C9');
FrogDTM := DTMFromString('78DA637CC2CCC0709B910119F0E53A3018016' +
'990E87F2060BC06547306550D44164602E9AB40352F08A8F94CA4' +
'1A0276010073F70DC4');
If not InvFull then begin
repeat
If Not Loggedin then Exit;
if FindObjCustom2(Tx, Ty, ['Min', 'ine'], [6532563, 5146789, 5674678], 7 + IncTol) then begin
MMouse(Tx,Ty,4,4)
wait(100+random(100))
if IsUpText('ine') then Mouse(Tx,Ty,0,0,True);
Flag;
TvAntiRandoms;
If(GasFound(Tx, Ty)) Then RunAway('s',False,1,10000);
TvAntiBan;
FindPick;
Wait(4000+random(1000));
IncTol := 0
end
else
Begin
wait(1000+random(1000))
If Not Loggedin then Exit;
IncTol := IncTol + 2
end;
until(InvFull);
end;
End;

1: No Need to call if no loggedin then exit twice
2. Flag could be replaced with fflag(0); i think its more reliable.
3: If gas found then run away.. when your mining legit ill bet you , you dont run away when u see gas :D have it do an emote or click on Mmcx+random(2), mmcy +random(2); and then have it wait.
4: why call if not logged in then exit again?? just call it at the beginning of every proc /function

Procedure WaterClay;
Var
Tx, Ty, Ti, BucketDTM, ClayDTM, BucketWaterDTM, ClayTxtBMP : Integer;
Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');

BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');

BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
If(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Then
Begin
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Wait(20000 + Random(5000))
DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End Else
Begin
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
MouseItem((1+random(12)), True)
MouseItem((16+random(10)), True)
Wait(2000+random(1000))
mouse(250,421,10,10,false);
wait(1000+random(500))
ChooseOption('All');
Wait(20000 + Random(5000))
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End;
end;

Procedure SecondClayWetter;
Var
Ti, Tx, Ty, ClayDTM, BucketWaterDTM, ClayTxtBMP : Integer;
Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
GameTab(4);
repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
Deposit(15, 28, 14);
wait(1000+random(500))
WithdrawCopy(2, 1, 0);
wait(1000+random(500))
CloseBank;
Wait(2000+random(1000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Wait(20000 + Random(5000))
End;
repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
DepositAll;
wait(1000+random(500))
CloseBank;
End;
SoftClayMade := SoftClayMade+28;
TvReport;
End;

1: semi colens are needed alot of places.. (standards purposes only);
2: while calling find obj custom you really could use an if / then..
3: same with dtmrotated.
4: Mouse(Tx, Ty, 4, $, True).. Does that compile? ( probbaly me that did it :D )
5: DID YOU FREE THE DTMS???????

Tv-XxX

2008-06-04 14:44:58

Ok Thanx Allot "cnr sport" So Does This Look A Little Better?

program Tvs_Clay_Moist;
{.include Srl/Srl/Misc/Smart.scar}
{.include Srl/Srl.scar}
{.include Srl/Srl/Misc/Users.scar}
{.include Srl/Srl/Skill/Mining.scar}

{
___________ ____ ___ ____ ___ _________
\__ ___/__ __ \ \/ /___ ___\ \/ / / _____/____ ___.__. ______
| | \ \/ / ______ \ / \ \/ / \ / \_____ \\__ \< | |/ ___/
| | \ / /_____/ / \ > < / \ / \/ __ \\___ |\___ \
|____| \_/ /___/\ \/__/\_ \/___/\ \ /_______ (____ / ____/____ >
\_/ \/ \_/ \/ \/\/ \/
___________.__ __ _____.___. ___________
\__ ___/| |__ _____ ____ | | __ \__ | | ____ __ __ \__ ___/___ ____
| | | | \\__ \ / \| |/ / / | |/ _ \| | \ | | / _ \ / _ \
| | | Y \/ __ \| | \ < \____ ( <_> ) | / | |( <_> | <_> )
|____| |___| (____ /___| /__|_ \ / ______|\____/|____/ |____| \____/ \____/ /\ /\ /\
\/ \/ \/ \/ \/ \/ \/ \/

Starblaster For FindObjCustom2
Mixster For EmptiestWorld
Jad For JadSymbol
Waddo For PerfectNorth2 (Now Named TrueNorth)

}

Var
ClayMined, SoftClayMade, LoadingTc : Integer;
CharactersWorld : String;
LoggedTi : Boolean;
/////Kill Randoms Vars//////
CamoLegs, CamoTop : Integer; //Clothes
Beer, Kebab, Spinich : Integer; //Food
FrogToken : Integer; //Random
UncutRuby, UncutEmerald, UncutSapphire, UncutDiamond : Integer; //Gems

//###################### StarBlasters Find Object Custom Function #####################################################
function FindObjCustom2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tolerance: Integer): Boolean;
var
a, b, c, i, x1, y1, x2, y2: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], MSX1, MSY1, MSX2, MSY2, Tolerance)) then
begin
Start := True;
Break;
end;
end;
if(Start)then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if not(LoggedIn)then break;
a := a + 1;
if (a = 1) then
c := c + 1
else if (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end else
if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end else
if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end else
if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], x1, y1, x2, y2, tolerance)) then
begin
MMouse(cx, cy, 3, 3);
Wait(5+Random(10));
if (IsUpTextMultiCustom(Text)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
//#######################################################################################################

//###################### Mixsters Random Least Worlds Function (Edited By Tv-XxX) #####################
function EmptiestWorld(members: Boolean): string;
var
website, GetCharacterWorld : string;
worlds : array of string;
RandWorld : Integer;
begin
case members of
False: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=MPLAW');
True: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=mPLAW');
end;
Delete(website, 1, Pos('function e(w,m,s,a,dt,h,p,l) ', website) + 50);
while GetArrayLength(worlds) < 5 do
begin
SetArrayLength(worlds, GetArrayLength(worlds) + 1);
Delete(website, 1, Pos('",', website) + 3);
worlds[GetArrayLength(worlds) - 1] := Between(',"', '",', website);
Delete(website, 1, Pos('",', website) + 3);
end;
RandWorld := Random(5)
Result := worlds[RandWorld];
If((Length(Result)=8))Then GetCharacterWorld := Right(Result,3) Else GetCharacterWorld := Right(Result,2);
CharactersWorld := GetCharacterWorld;
end;
//#######################################################################################################


//################# Jads Symbol Locator #################################################################
function JadSymbol(WhatSymbol: String; Click : Boolean): Boolean;
var
Tx, Ty, I : Integer;
begin
for I := 1 to 20=0 do
begin
if(FindSymbol(Tx, Ty,(WhatSymbol)))then
begin
if(Click)then
Mouse(Tx, Ty, 2, 2, True);
Flag;
Result := True;
Exit;
end;
wait(750+random(500));
end;
if(FindSymbol(Tx, Ty,(WhatSymbol)))then
begin
if(Click)then
Mouse(Tx, Ty, 4, 4, True);
Flag;
Result := True;
Exit;
end;
Writeln('Could Not Find '+WhatSymbol+' Symbol.');
Result := False;
end;
//######################################################################################################

//############# Waddos PerfectNorth Function, Edited By Tv-XxX and Renamed To TrueNorth ################
function TrueNorth : boolean;
var x,y,ndtm,checks,mark:integer;
begin
ndtm := DTMFromString('78DA63F4646260D06740011919D60C3A8C0C0' +
'C40C4F01F0818416AF450D5BCFDF685C18801A20604C06A748950' +
'A343408D07A67B30D4B813A1C68D08354E986A3EBF7E83A20600C' +
'EBE1E34');
MarkTime(Mark);
makecompass('n');
wait(1000);
keydown(vk_left);
repeat
wait(50);
if finddtm(ndtm,x,y,mmx1,mmy1,mmx2,mmy2)then
begin
keyup(vk_left);
writeln('found in '+inttostr(timefrommark(mark))+' ms');
keydown(vk_right);
wait(15+random(2));
keyup(vk_right);
result:=true;
exit;
end;
if rs_GetCompassAngleDegrees>=40 then
begin
keyup(vk_left);
makecompass('20');
wait(50);
keydown(vk_left);
end;
checks:=checks+1;
until ((checks>=10) or (result=true));
freedtm(ndtm);
checks:=0;
keyup(vk_left);
end;
//##############################################################################################

{
#####################################################################
# WithDraw Taken From SRL # 16 #
# Edited By Tv-XxX #
# Changes Are : #
# Longer Wait Time, #
# Removed +Chr(13) as TypeSend All Ready Includes That #
#####################################################################
}

procedure WithdrawCopy(col, row, Amount: Integer);

Var
BBox: TBox;

begin
Col := Col - 2;
FixBank;
BBox := BankIndexToMSBox(BankPointToIndex(Point(Col, Row)));
If Amount = 1 Then
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 1);
Wait(RandomRange(50, 150));
End
Else
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 2);
if (Amount = 5) or (Amount = 10) then
ChooseOption('Withdraw ' +IntToStr(Amount))
else if Amount = 0 then
ChooseOption('Withdraw All')
else
begin
ChooseOption('Withdraw X');
Wait(2000 + Random(1000));
TypeSend(IntToStr(Amount));
end;
End;
end;

{
########################################################################################################################################################
_______ _______ _______ ______ _______ _______ _________ _______ _______ _________ _______ _______ _______ _______
( )|\ /| ( ____ \( ___ )( __ \ ( ____ \ ( ____ \\__ __/( ___ )( ____ )\__ __/( ____ \ |\ /|( ____ \( ____ )( ____ \
| () () |( \ / ) | ( \/| ( ) || ( \ )| ( \/ | ( \/ ) ( | ( ) || ( )| ) ( | ( \/ | ) ( || ( \/| ( )|| ( \/
| || || | \ (_) / | | | | | || | ) || (__ | (_____ | | | (___) || (____)| | | | (_____ | (___) || (__ | (____)|| (__
| |(_)| | \ / | | | | | || | | || __) (_____ ) | | | ___ || __) | | (_____ ) | ___ || __) | __)| __)
| | | | ) ( | | | | | || | ) || ( ) | | | | ( ) || (\ ( | | ) | | ( ) || ( | (\ ( | (
| ) ( | | | | (____/\| (___) || (__/ )| (____/\ /\____) | | | | ) ( || ) \ \__ | | /\____) | | ) ( || (____/\| ) \ \__| (____/\
|/ \| \_/ (_______/(_______)(______/ (_______/ \_______) )_( |/ \||/ \__/ )_( \_______) |/ \|(_______/|/ \__/(_______/

########################################################################################################################################################
}

Procedure TvReport;

Begin
ClearDebug;
Writeln('################################################')
Writeln('# Tvs Clay Miner and Moister #')
Writeln('################################################')
Writeln('---------------- Time Running ------------------')
Writeln('------------------------------------------------')
Writeln(' '+TimeRunning)
Writeln('------------------------------------------------')
Writeln('-------------- Clay Ores Mined -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(ClayMined))
Writeln('------------------------------------------------')
Writeln('-------------- Soft Clays Made -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(SoftClayMade))
Writeln('################################################')
Writeln('# [url]Http://www.Tv-XxX.co.uk[/url] #')
Writeln('################################################')
ReportVars[1]:= 28;
SendSRLReport;
wait(100)
SRLRandomsReport;
End;

Function CheckInvDtm(Dtm, InvNumber:Integer) : Boolean;
var
box : TBox;
x, y : Integer;
begin
Box := InvBox(InvNumber)
If(FindDTM(dtm, x, y, Box.x1, Box.y1, Box.x2, Box.y2))Then
Result := True;
end;

Procedure LoadKillRandBitmaps;
Begin
CamoLegs := BitmapFromString(24, 17, 'beNql09EKgjAYBeDtIbyK' +
'0OgFuonAICFBvJDorgeRuvbRO/GP058T/WfjXAzZPs6mOjc7/KXOk' +
'Wu7a7o9ggkiD8tqiwWHonALw8sW2SuOpo7lxuj0/e31vCPaIWVzfH' +
'cO6ycRidEhNYMYHaFixFbmx9HFEst8HBTQTpblSGKZ4ExSCOapTqw' +
'RsRyqPX3f+Mg0I8Fh6KRcb/gd9H2K8w9Ch8Xsx4kRTIisdlZ8MLzY' +
'UZlheCyXeQN1C3Mb');
CamoTop := BitmapFromString(29, 15, 'beNqF1G1LwlAYxvGd970Qw' +
'jBGTBGTQZFBEhgoZoSEyCqj0deQQopCevje/eOq2+PJsXEhc/P8vH' +
'bPGUX/Njcbtsl01r7KWuRy0jwfN54eM8JOpVIjk7Mm4RRhSVSyuaz' +
'fEnudp8hEbH+UBPL4tME+KZOdForNL1LJKgw7OknEmkz0lhTITldE' +
'W9ZaZ3Cbg1+Y0NbvjNCp132Q2KCI1lptouOwkq2hWMkBq+FXq4mxJ' +
'sukOQkK6yuI5oBcxPqFNQ2NQjtErCbsy5b18TqT/c6M1OZM9BlawQ' +
'YyhXk9ONrZT7c3ysE0kLVcPmd5RR509pTe4DfH3ZqxwY0r6iz27fX' +
'u4z1/eb5V4ZV8GHd7cTEbyoYj6/jX58NyeW9zsMJlbGFnGyzsYnEj' +
'lugmSha7G29tei4ca4Mhm6mesPP5VL92YiyFre3GwhL8PxP/wqX9r' +
'V1ji80VK9meggD01rqA/Tn2DYg12O0=');
FrogToken := BitmapFromString(31, 13, 'beNqlk7FLw1AQxtOl2tb' +
'GWnTq4CA4FEUlRNRYKsVKVUTQIUIWhww6ODg4CA7+6f0u38t5fREN' +
'FD4e9OXud9/dvQaNIGg8XmzdjzZfnhKrteeTThq17vZbsyHES/x0X' +
'/MEXztZLDGz4cr5TvNgYNPP9kKQ/4BD7YdDSEoUWHCax9uudBbzRM' +
'DqZJf39eE4xV4asQTFG5LhXxuEeVe9aGF81LNwxP8CR+MUh0Ambed' +
'J93Uk8ynNc25swYNLZJFl4fTmlCdO5TS6b2OXlUbM0ioePHyfIFhz' +
'Cac3nFY6DXKsOCLcT+MNb+brn1fhxyWqMF3g8OZJ4VmsE/aGCVXhV' +
'UktVdGaNc9XROmu68PRi8ryF3ZRrpiPlok3p/1/4cL/uhZZeGWPVd' +
'WEQ73vW49vX/iScOdf4eZ587+/JFz3+zMTA/fejIPPAXG4HYQ=');
Beer := BitmapFromString(22, 13, 'beNqtk79Og1AcheEVHIxpjPII' +
'PpFbJ9/AtXFtXFwcTDrqoGnEqEXwT6W2EKwthGIbaiBCIcVWCg/gI' +
'bdFwqTWmy8nv3BzvlxugGEoilZEpSN1kNKD1Lx9aggN8Uasc3WBFb' +
'gqx5/zAEPtrIa8Pr2qHFTQ2mIYQCWLNlSjr72ahonUX/Su3G032xD' +
'KjzKErfsWErOqqJDDU9wuEgP1vejR+8hzPN/1Xdu1h/ZbfzjQB71O' +
'T3vWkJjxBAaoSrul8s4KKgvmhrv9tdnnbPoxnQSTwA/G3hhCaB3Lg' +
'RNmYsB5UAfVvVXCQpIYCOE0BLCBKIxAHMWWaeEt2GOW1EF8uZmSM6' +
'hHhRzpFvhHA7mE8GJjSQNYxmCfrBP+ZiDd7D3w5V8YsvWsgUh+Ysh' +
'0049qbgDKYSFHugVSA+kmv8YXg06f/Q==');
Kebab := BitmapFromString(18, 9, 'beNpdkUtLAnEUxfdZqTPNjB+p' +
'RYuIIClJIwstelKLQKHFkJAhMvQSK0l6SQ8iioiIiIiIln0hf//OU' +
'BEcLnfOPefeMzN+8iIYe9jPj/RHQLzsxnwnumJ3L1tDfZHMYKdVcY' +
'VowYaHRMbjy9GsLHKZacFGLyCwdxPxksO22GrPQG+HYfYSb2fzTOV' +
'iJHE2GbpgWIUrNPqOFXjgvbUgAS6JqQCZybblsZlKr/zqPy+XMHJR' +
'4jBY4BHsB0YZeDqaT3WB15M5Xu25OfN0OA0+zhe/7oq/YuE7lTlXc' +
'rQcJd/wsTFFva/nbmuTgJ49BAAk0Wc0t8quwqC82ZmQnuZ6O3u1Oc' +
'7voNLDaM/f0WklTQP+kc311PHGKE2rmoERCQN/sDZcbwNV4bKg');
UncutRuby := BitmapFromString(21, 17, 'beNqV080KgkAYheGJIDBNQxLGZZf' +
'TImglCG2C6AZaFHXzffDNHI4z/kzxEi56jkaTMcasvm31tqW8S9c6' +
'jztVWZAo416OY0Hr6y3qfIn83hSftow5GuVYEM4LgT1P3D3gWJDPs' +
'5WOm7VfGHBdANcF8NshT+dPu9OLly3ZauBsNbXgWu+ffJE/miLoss' +
'/Y0sIyFyuHpxvePZGrVd79+fyw4Lwwz9kyx8IMl4I/zvzZYyg/MZr' +
'iwckftZx8F46sW5iCsXX8B0dOmBw=');
UncutSapphire := BitmapFromString(21, 17, 'beNqd080KgkAUx' +
'XFb1CI/xpHsJXqiIII2QRBt3AS9QZuCXrhrJ4/3DqZD8idc+DsUTk' +
'nyuWbV+pWXl8GW+RbJYyperfX1Uz5/jXDBThnOBZSV5z53RJG8qK5' +
'eL3ScDXIuCDcL1qbFLoZzQZ7XVpovNt2C4VggxwJ57pt4Xq7u35v6' +
'oS0i1xbBkiP8ihjuqltQ6g5psQ/CEZrkYuXwZO70B4cFDxYmvz8tu' +
'V4Y59pqzoURLgV/HM2xoM+egb7p+8GlQW6sqn13qta+AUwhrZg=');
UncutEmerald := BitmapFromString(21, 17, 'beNqd0tEKgjAUx' +
'vF1UZBubaI9RY8TBEE3QQjdCNEbRJD41B3d8exsphvJ/8Kb36eDCS' +
'HEynR7St61q8a2RxkESuDjcbdTO55fsUSuHoXpqimnopwvBDY7yRR' +
'OC9lZcQutD5txYYnbBeKqMelcv0p8+VTc2jzeeqlnod8lBC9Uf4pk' +
'HpRfdnCEoGEhzsH2t+im/+BoBx4sRP/f2ZHzhWXuWcZpYYFDnvW5X' +
'QjvHn26MdQch35ybnlwFh6zuDAHpxb5F2x9pgs=');
UncutDiamond := BitmapFromString(21, 17, 'beNqd00EKglAQx' +
'vE6lIuOZFCWZQiiYFlQ2UZd1Al0I4U8DTpdo1PD+DSV5L9w4e9D8D' +
'kaVdf4meeXvdfs7HlLVcXgMRZdpRVCFFWSxfSpKsUWPpwWsNNuS3m' +
'WhQ3k1yB4ZVmTU61cMM4XJLuZz4ZwWjA1jVtooijfhRoXdY4LxEPf' +
'H87vcYw3RZpyixEvTZbxbmH4SBIIbqij6w7lUSTlGIa50KTwCPVys' +
'HCKDo79B0eLXFrofX+yxPlCN+eWc1ro4JD093GOC/zs8QX4xNQvDr' +
'Vybnn2ekVZul7aNxnR+0I=');
Spinich := BitmapFromString(12, 9, 'beNpjYAADxhlL8yfMyeyYnN' +
'zYG1fRHJFfGZic4xGd7OQbYgGURVbTNS0FqKasMSy3zB+oJiLBwd3' +
'XBKyGccHaEqCaSfOzgObUd8XC1YTF2sENWbi+bNbyAohdyGpgCkBq' +
'lm6p4HDlYnfgBCK4moRMN2Q1QAVQNVYcQARUk1Xih6QAoYbNhAOOM' +
'NSAlEEMYdVlAyKgGgwFUGWoCAkAALyePy8=');
End;

Procedure KillRandoms(Wear, Eat, Drop: Boolean);

Var
Tx, Ty, Ti, Tc, Start, TimeToCheck : Integer; // X, Y Vars and Time Vars
AllObjects, WearObject, EdableObjcts : TIntegerArray; // Arrays

Begin
Begin
MarkTime(Start);
AllObjects := [CamoLegs, CamoTop, FrogToken, Beer, Kebab, UncutRuby, UncutEmerald,
UncutSapphire, UncutDiamond, Spinich];
WearObject := [CamoLegs, CamoTop]
EdableObjcts := [Kebab, Spinich]
Repeat
If Wear Then
If FindBitmapToleranceIn(WearObject[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('ear'))Or (Tc>10)
wait(300+random(100))
End;
Until(Not(FindBitmapToleranceIn(WearObject[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))Or (Tc>11)
FreeBitmap(WearObject[Ti])
Tc:= 0;
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(WearObject))
Ti:= 0;
Repeat
If Eat Then
If FindBitmapToleranceIn(EdableObjcts[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('at'))Or (Tc>10)
wait(300+random(100))
End;
Until(Not(FindBitmapToleranceIn(EdableObjcts[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))Or (Tc>11)
FreeBitmap(EdableObjcts[Ti])
Tc:= 0;
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(EdableObjcts))
Ti:= 0;
Repeat
If FindBitmapToleranceIn(AllObjects[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
If Drop Then
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('rop'))Or (Tc>50)
wait(250+random(100))
End;
Until(Not(FindBitmapToleranceIn(AllObjects[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))
FreeBitmap(AllObjects[Ti])
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(AllObjects))
End;
TimeToCheck := TimeFromMark(Start);
//Writeln('Time Taken To Check For Randoms : ' + IntToStr(TimeToCheck) + ' m/s')
End;

Procedure TvAntiBan;

Begin
Case Random(200) of

1: HoverSkill('Mining', False);

8:
Begin
GameTab(1 + Random(12));
wait(1800 + random(500));
GameTab(4)
End;

12: BoredHuman;

16: AlmostLogout;

20: DoEmote(400 + Random(90));

40: Case Random(10) of

4:
Begin
Logout;
Writeln('Status : SLEEPING')
Wait(60000+random(300000))
LoginPlayer;
End;
End;
End;
If(InChat('Hi'))or (InChat('ello'))or (InChat('Hey')) Then
Begin
Case Random(20) of
0: TypeSend('hello');

1: TypeSend('hi');

2: TypeSend('hola');

3: TypeSend('hey');

4: TypeSend('morning');
End;
End;
If(InChat('lvl'))or (InChat('ining'))or (InChat('level'))or (InChat('lvl?')) Then
Begin
Case Random(5) of
0: TypeSend(IntToStr(GetSkillLevel('mining'))+' yours?');

1: TypeSend(IntToStr(GetSkillLevel('mining')));

2: TypeSend(IntToStr(GetSkillLevel('mining'))+' and you?');

3: TypeSend('erm... '+IntToStr(GetSkillLevel('mining')));

4: TypeSend(IntToStr(GetSkillLevel('mining')));
End;
End;
End;

Procedure TvAntiRandoms;
Var
Tx, Ty : Integer;

Begin
FindNormalRandoms;
wait(10);
If(FindFight)Then
Begin
RunAway('w',False,1,10000);
FindSymbol(Tx, Ty, 'mining spot');
Mouse(Tx, Ty, 4, 4, True);
Flag;
End;
wait(10)
KillRandoms(False, True, True);
End;

Procedure BankClay;
Var
Ti, Tx, Ty, BucketDTM, BankBucketDTM : Integer;

Begin
BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');
BankBucketDTM := DTMFromString('78DA633CCBC4C0C0C9C8800CBA0A1D198C803' +
'448F43F10301E07AA1146550391859140FA1C508D280135D7806A' +
'8408A8B90A54F38F01BF9AA340354CF8CD0100C1BC0BA2');
GameTab(4);
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until((BankScreen)Or (Ti > 10)Or (PinScreen));
If(BankScreen)Then
Begin
FixBank;
Deposit(1, 14, 14);
Ti:= 0
Repeat
DTMRotated(BankBucketDTM, Tx, Ty, MSX1, MSY1, MSX2, MSY2)
Mouse(Tx, Ty, 4, 4, False);
wait(200+random(200))
ChooseOption('All')
wait(1000+random(1000))
Ti:= Ti + 1
Until((DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Or (Ti>10))
CloseBank;
If(Not(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)))Then
BankClay;
End;
ClayMined:= ClayMined + 28;
AddToReport('Clay Mined : '+IntToStr(ClayMined))
ReportVars[0]:= 28;
SendSRLReport;
TvAntiRandoms;
End;

Procedure MineClay;
Var
Tx, Ty, Ti, ClayDTM, IncTol, CurrentInvCount : integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
SetupMining;
FindPickHeadColor;
If(not(InvFull))Then
begin
repeat
If(Not(Loggedin))Then
Exit;
CurrentInvCount := InvCount;
If(FindObjCustom2(Tx, Ty, ['Min', 'ine'], [6532563, 5146789, 5674678], 7 + IncTol))Then
Begin
MMouse(Tx,Ty,4,4)
wait(100+random(100))
If(IsUpText('ine'))Then
Mouse(Tx,Ty,0,0,True);
Flag;
Ti:= 0;
Repeat
TvAntiRandoms;
If(GasFound(Tx, Ty))Then
Begin
RunAway('w',False,1,10000);
FindSymbol(Tx, Ty, 'mining spot');
Mouse(Tx, Ty, 4, 4, True);
Flag;
End;
TvAntiBan;
FindPick;
Wait(300+random(300));
Ti := Ti + 1
Until(CheckInvDtm(ClayDtm, (CurrentInvCount + 1)))Or (Ti>5)
IncTol := 0
End Else
Begin
wait(100+random(100))
IncTol := IncTol + 2
End;
Until(InvFull);
End;
End;

Procedure WaterClay;
Var
Tx, Ty, Ti, BucketDTM, ClayDTM, BucketWaterDTM, WetClayDTM, ClayTxtBMP : Integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');

BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');

BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
WetClayDTM := DTMFromString('78DA639CC7CCC060CAC8800CF28379198C803' +
'448F43F1030CE02AAB1435503918591407A0A508D2101350B806A' +
'B408A8590554638C5F0D00A5C20937');
If(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Then
Begin
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Ti:=0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(BucketWaterDTM, 14))Or (Ti>30)
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Ti:=0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(WetClayDTM, 28))Or (Ti>30)
DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Ti := 0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(BucketWaterDTM, 14))Or (Ti>30)
End Else
Begin
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
MouseItem((1+random(12)), True)
MouseItem((16+random(10)), True)
Wait(2000+random(1000))
mouse(250,421,10,10,false);
wait(1000+random(500))
ChooseOption('All');
Wait(20000 + Random(5000))
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End;
End;

Procedure SecondClayWetter;
Var
Ti, Tx, Ty, ClayDTM, BucketWaterDTM, ClayTxtBMP, BankClayDTM : Integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
BankClayDTM := DTMFromString('78DA635CCCCCC0F08E01052CEE8A651001D28' +
'C40FC1F08185701D5BC6140038C4824905E0454F389809AB94035' +
'AFF1AB0100A7950BF5');
GameTab(4);
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
Deposit(15, 28, 14);
wait(1000+random(500))
Ti:=0
Repeat
DTMRotated(BankClayDTM, Tx, Ty, MSX1, MSY1, MSX2, MSY2)
Mouse(Tx, Ty, 4, 4, False)
wait(500+random(500))
ChooseOption('All')
wait(1000+random(500))
Ti:= Ti+1
Until((DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Or (Ti>4))
CloseBank;
Wait(2000+random(1000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Ti:=0
Repeat
Wait(500+random(500))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Ti:=0
Repeat
wait(1000+random(1000))
Ti:= Ti + 1;
Until(Not(DtmRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))or (Ti>30))
End;
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
DepositAll;
wait(1000+random(500))
CloseBank;
End;
SoftClayMade := SoftClayMade+28;
TvReport;
End;

Procedure MineToBank;
Var
Ti : Integer;

Begin
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/3)+MMX1)-random(15),(MMY1 + 20), 4, 4, True)
Wait(5000+random(1000))
Flag;
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
TrueNorth;
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+random(10),(MMY1 + 20), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,40,110,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Writeln('Status : Can Not Find Varrok Road');
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+random(10),(MMY1 + 60), 4, 4, True)
Flag;
Ti:= 0;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(JadSymbol('bank', True)) Then
Begin
Writeln('Status : Found Bank Symbol')
Flag;
Ti:= 4
GameTab(4);
Exit;
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If((JadSymbol('Water', False)))Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,40,2,2)
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End else
Begin
Ti:= 0
If(RadialWalk(FindVarrockRoadColor,70,120,40,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End Else
Begin
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToMine;
Var
Tx, Ty, Ti, TreeMineDTM : Integer;

Begin
TreeMineDTM := DTMFromString('78DA633CCBCCC0F0890105D86A48328800694' +
'620FE0F048C07F0AB0101C63340352F09A8B90354F31DBF1A00B5' +
'AD0D52');
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank'))Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx+8, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,230,250,72,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(2000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Mouse( MMX1 + 10, MMY2 - 10, 4, 4, True);
Wait(2000 + Random(2000));
Flag;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,200,(260 + (Ti*3)),50,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+(12+(random(5))),(MMY2 - 21), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=4)
Ti:= 0
Repeat
If(JadSymbol('mining spot', True))Then
Begin
Writeln('Status : Found Mining Symbol')
Flag;
Ti:= 4
GameTab(4);
Exit;
End Else
Begin
Writeln('Status : Looking For Mining Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
LoadSymbolBitmapColor('short cut')
If(FindSymbol(Tx, Ty, 'short cut'))Or (JadSymbol('Short cut', True))Or(FindColorTolerance(Tx, Ty, 9529693, MMX1, MMY1, MMX2, MMY2, 20))Then
Begin
Writeln('Status : Found Agility Symbol')
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End Else
Begin
If((FindColorTolerance(Tx, Ty, 4309253, MMX1, MMY1, MMX2, MMY2, 30))Or (DTMRotated(TreeMineDTM, Tx, Ty, MMX1, MMY1, MMX2, MMY2)))Then
Begin
Writeln('Status : Found Agility Symbol Color')
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End Else
Begin
Writeln('Status : Can Not Find Mine (Or Agility)');
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End;
End;
End;
End;
Until(Ti=4)
End;

Procedure FountainToBank;
Var
Tx, Ty, Ti : Integer;

Begin
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,240,310,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
wait(5000+random(2000))
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,30,2,2);
Flag;
Ti:= 0;
If(FindSymbol(Tx, Ty, 'cook'))Then
Begin
RadialWalk(FindVarrockRoadColor,70,110,70,2,2);
Flag;
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToFountian;
Var
Tx, Ty, Ti : Integer;

Begin
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,120,160,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Water')) Then
Begin
Writeln('Status : Found Water Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Water Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True);
Ti:=0
End;
End;
Until(Ti=4)
End;

Procedure SmartAnimation;
Begin
ClearDebug;

LoadingTc := LoadingTc + 1;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADING WORLD '+ CharactersWorld +' ['+IntToStr(LoadingTc)+']')
Writeln('=========================================')
Wait(100);
If(LoadingTc>70)Then
Begin
LoginPlayer;
LoggedTi := True;
End Else
Begin
LoggedTi := False;
End;
End;

Procedure SetUpScript;
Begin
If(Not(Loggedin))Then
LoginPlayer;
TrueNorth;
SetRun(True);
SetAngle(True);
End;

procedure SetupSmart;
Var
Tx, Ty, WelcomeScreen : Integer;
CharactersPrefix : String;

begin
WelcomeScreen := BitmapFromString(32, 4, 'beNpjYHB09v3/nwGIgADCAI' +
'pAEFycGLatvSeEDUcQgFU9mvkeXsEk2QUHVtbOuPQCxeFSBN0DcT/' +
'QNDQvAEUgToXrRWMDrUB2DzzoMNUDzYdYgeIBAO43gOo=');
Writeln('Status : Connecting To Runescape.com To Get Emptiest Player Worlds')
CharactersPrefix := EmptiestWorld(Players[CurrentPlayer].Booleans[0])
SmartSetup(CharactersPrefix, false, true);
ClearDebug;
SetupSrl;
ScriptID := '880';
if ((players[currentplayer].strings[0] = '') or (players[currentplayer].strings[1] = ''))then
begin
SRLID:='4159';
SRLPassword:='sK9k5Dd7mV';
end else
begin
SRLID := players[currentplayer].strings[0];
SRLPassword := players[currentplayer].strings[1];
end;
Repeat
SetTargetDC(SmartGetDC);
SmartAnimation;
wait(100)
If(SmartReady)and (FindBitmapToleranceIn(WelcomeScreen, Tx, Ty, 0, 0, 764, 502, 100)) Then
LoggedTi:= True
Else
LoggedTi:= False;
Until(LoggedTi)
ClearDebug;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADED WORLD '+ CharactersWorld +' ')
Writeln('=========================================')
Wait(100)
end;

Begin
SRLPlayerForm(True, ['Members Account'], [], ['SRLStats User','SRLStats Pass'], [])
ClearReport;
ClearDebug;
LoadKillRandBitmaps;
SetupSmart;
loginplayer;
SetUpScript;
If(JadSymbol('mining spot', True))Then
MineToBank;
{#~Main Loop~#}
Repeat
SetUpScript;
BankToMine;
MineClay;
SetUpScript;
MineToBank;
BankClay;
BankToFountian;
WaterClay;
FountainToBank;
SecondClayWetter;
case random(10) of
4:
Begin
Writeln('Status : Sleeping After Banking')
Logout;
wait(120000+random(180000))
LoginPlayer;
End;

8:
Begin
Writeln('Status : Random Waiting After Banking')
wait(180000+random(180000))
If(Not(LoggedIn))Then
LoginPlayer;
End;
End;
Until(False)
End.

Camaro'

2008-06-04 21:47:51

From: Tv-XxX
Ok Thanx Allot "cnr sport" So Does This Look A Little Better?

program Tvs_Clay_Moist;
{.include Srl/Srl/Misc/Smart.scar}
{.include Srl/Srl.scar}
{.include Srl/Srl/Misc/Users.scar}
{.include Srl/Srl/Skill/Mining.scar}

{
___________ ____ ___ ____ ___ _________
\__ ___/__ __ \ \/ /___ ___\ \/ / / _____/____ ___.__. ______
| | \ \/ / ______ \ / \ \/ / \ / \_____ \\__ \< | |/ ___/
| | \ / /_____/ / \ > < / \ / \/ __ \\___ |\___ \
|____| \_/ /___/\ \/__/\_ \/___/\ \ /_______ (____ / ____/____ >
\_/ \/ \_/ \/ \/\/ \/
___________.__ __ _____.___. ___________
\__ ___/| |__ _____ ____ | | __ \__ | | ____ __ __ \__ ___/___ ____
| | | | \\__ \ / \| |/ / / | |/ _ \| | \ | | / _ \ / _ \
| | | Y \/ __ \| | \ < \____ ( <_> ) | / | |( <_> | <_> )
|____| |___| (____ /___| /__|_ \ / ______|\____/|____/ |____| \____/ \____/ /\ /\ /\
\/ \/ \/ \/ \/ \/ \/ \/

Starblaster For FindObjCustom2
Mixster For EmptiestWorld
Jad For JadSymbol
Waddo For PerfectNorth2 (Now Named TrueNorth)

}

Var
ClayMined, SoftClayMade, LoadingTc : Integer;
CharactersWorld : String;
LoggedTi : Boolean;
/////Kill Randoms Vars//////
CamoLegs, CamoTop : Integer; //Clothes
Beer, Kebab, Spinich : Integer; //Food
FrogToken : Integer; //Random
UncutRuby, UncutEmerald, UncutSapphire, UncutDiamond : Integer; //Gems

//###################### StarBlasters Find Object Custom Function #####################################################
function FindObjCustom2(var cx, cy: Integer; Text: TStringArray; Color: TIntegerArray; Tolerance: Integer): Boolean;
var
a, b, c, i, x1, y1, x2, y2: Integer;
Start: Boolean;
begin
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorSpiralTolerance(cx, cy, color[b], MSX1, MSY1, MSX2, MSY2, Tolerance)) then
begin
Start := True;
Break;
end;
end;
if(Start)then
begin
x1 := 245;
y1 := 165;
x2 := 277;
y2 := 185;
repeat
if not(LoggedIn)then break;
a := a + 1;
if (a = 1) then
c := c + 1
else if (a = 3) then
c := c + 1;
for i := 1 to c do
begin
if (a = 1) then
begin
x1 := x1 + 30;
x2 := x2 + 30;
end else
if (a = 2) then
begin
y1 := y1 - 20;
y2 := y2 - 20;
end else
if (a = 3) then
begin
x1 := x1 - 30;
x2 := x2 - 30;
end else
if (a = 4) then
begin
y1 := y1 + 20;
y2 := y2 + 20;
end;
if (x1 = 485) and (x2 = 517) then
x2 := x2 - 2;
if (y1 = 325) and (y2 = 345) then
y2 := y2 - 7;
if (x2 > 515) then
Break;
for b := 0 to (GetArrayLength(Color)-1) do
begin
if (FindColorTolerance(cx, cy, Color[b], x1, y1, x2, y2, tolerance)) then
begin
MMouse(cx, cy, 3, 3);
Wait(5+Random(10));
if (IsUpTextMultiCustom(Text)) then
begin
Result := True;
Exit;
end;
end;
end;
end;
if (a = 4) then
a := 0;
until (x2 > 515) or (Result = True);
end;
end;
//#######################################################################################################

//###################### Mixsters Random Least Worlds Function (Edited By Tv-XxX) #####################
function EmptiestWorld(members: Boolean): string;
var
website, GetCharacterWorld : string;
worlds : array of string;
RandWorld : Integer;
begin
case members of
False: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=MPLAW');
True: website := GetPage('http://www.runescape.com/slj.ws?lores.x=1&plugin=0&order=mPLAW');
end;
Delete(website, 1, Pos('function e(w,m,s,a,dt,h,p,l) ', website) + 50);
while GetArrayLength(worlds) < 5 do
begin
SetArrayLength(worlds, GetArrayLength(worlds) + 1);
Delete(website, 1, Pos('",', website) + 3);
worlds[GetArrayLength(worlds) - 1] := Between(',"', '",', website);
Delete(website, 1, Pos('",', website) + 3);
end;
RandWorld := Random(5)
Result := worlds[RandWorld];
If((Length(Result)=8))Then GetCharacterWorld := Right(Result,3) Else GetCharacterWorld := Right(Result,2);
CharactersWorld := GetCharacterWorld;
end;
//#######################################################################################################


//################# Jads Symbol Locator #################################################################
function JadSymbol(WhatSymbol: String; Click : Boolean): Boolean;
var
Tx, Ty, I : Integer;
begin
for I := 1 to 20=0 do
begin
if(FindSymbol(Tx, Ty,(WhatSymbol)))then
begin
if(Click)then
Mouse(Tx, Ty, 2, 2, True);
Flag;
Result := True;
Exit;
end;
wait(750+random(500));
end;
if(FindSymbol(Tx, Ty,(WhatSymbol)))then
begin
if(Click)then
Mouse(Tx, Ty, 4, 4, True);
Flag;
Result := True;
Exit;
end;
Writeln('Could Not Find '+WhatSymbol+' Symbol.');
Result := False;
end;
//######################################################################################################

//############# Waddos PerfectNorth Function, Edited By Tv-XxX and Renamed To TrueNorth ################
function TrueNorth : boolean;
var x,y,ndtm,checks,mark:integer;
begin
ndtm := DTMFromString('78DA63F4646260D06740011919D60C3A8C0C0' +
'C40C4F01F0818416AF450D5BCFDF685C18801A20604C06A748950' +
'A343408D07A67B30D4B813A1C68D08354E986A3EBF7E83A20600C' +
'EBE1E34');
MarkTime(Mark);
makecompass('n');
wait(1000);
keydown(vk_left);
repeat
wait(50);
if finddtm(ndtm,x,y,mmx1,mmy1,mmx2,mmy2)then
begin
keyup(vk_left);
writeln('found in '+inttostr(timefrommark(mark))+' ms');
keydown(vk_right);
wait(15+random(2));
keyup(vk_right);
result:=true;
exit;
end;
if rs_GetCompassAngleDegrees>=40 then
begin
keyup(vk_left);
makecompass('20');
wait(50);
keydown(vk_left);
end;
checks:=checks+1;
until ((checks>=10) or (result=true));
freedtm(ndtm);
checks:=0;
keyup(vk_left);
end;
//##############################################################################################

{
#####################################################################
# WithDraw Taken From SRL # 16 #
# Edited By Tv-XxX #
# Changes Are : #
# Longer Wait Time, #
# Removed +Chr(13) as TypeSend All Ready Includes That #
#####################################################################
}

procedure WithdrawCopy(col, row, Amount: Integer);

Var
BBox: TBox;

begin
Col := Col - 2;
FixBank;
BBox := BankIndexToMSBox(BankPointToIndex(Point(Col, Row)));
If Amount = 1 Then
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 1);
Wait(RandomRange(50, 150));
End
Else
Begin
MouseBox(BBox.X1 + 5, BBox.Y1 + 5, BBox.X2 - 5, BBox.Y2 - 5, 2);
if (Amount = 5) or (Amount = 10) then
ChooseOption('Withdraw ' +IntToStr(Amount))
else if Amount = 0 then
ChooseOption('Withdraw All')
else
begin
ChooseOption('Withdraw X');
Wait(2000 + Random(1000));
TypeSend(IntToStr(Amount));
end;
End;
end;

{
########################################################################################################################################################
_______ _______ _______ ______ _______ _______ _________ _______ _______ _________ _______ _______ _______ _______
( )|\ /| ( ____ \( ___ )( __ \ ( ____ \ ( ____ \\__ __/( ___ )( ____ )\__ __/( ____ \ |\ /|( ____ \( ____ )( ____ \
| () () |( \ / ) | ( \/| ( ) || ( \ )| ( \/ | ( \/ ) ( | ( ) || ( )| ) ( | ( \/ | ) ( || ( \/| ( )|| ( \/
| || || | \ (_) / | | | | | || | ) || (__ | (_____ | | | (___) || (____)| | | | (_____ | (___) || (__ | (____)|| (__
| |(_)| | \ / | | | | | || | | || __) (_____ ) | | | ___ || __) | | (_____ ) | ___ || __) | __)| __)
| | | | ) ( | | | | | || | ) || ( ) | | | | ( ) || (\ ( | | ) | | ( ) || ( | (\ ( | (
| ) ( | | | | (____/\| (___) || (__/ )| (____/\ /\____) | | | | ) ( || ) \ \__ | | /\____) | | ) ( || (____/\| ) \ \__| (____/\
|/ \| \_/ (_______/(_______)(______/ (_______/ \_______) )_( |/ \||/ \__/ )_( \_______) |/ \|(_______/|/ \__/(_______/

########################################################################################################################################################
}

Procedure TvReport;

Begin
ClearDebug;
Writeln('################################################')
Writeln('# Tvs Clay Miner and Moister #')
Writeln('################################################')
Writeln('---------------- Time Running ------------------')
Writeln('------------------------------------------------')
Writeln(' '+TimeRunning)
Writeln('------------------------------------------------')
Writeln('-------------- Clay Ores Mined -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(ClayMined))
Writeln('------------------------------------------------')
Writeln('-------------- Soft Clays Made -----------------')
Writeln('------------------------------------------------')
Writeln(' '+IntToStr(SoftClayMade))
Writeln('################################################')
Writeln('# [url]Http://www.Tv-XxX.co.uk[/url] #')
Writeln('################################################')
ReportVars[1]:= 28;
SendSRLReport;
wait(100)
SRLRandomsReport;
End;

Function CheckInvDtm(Dtm, InvNumber:Integer) : Boolean;
var
box : TBox;
x, y : Integer;
begin
Box := InvBox(InvNumber)
If(FindDTM(dtm, x, y, Box.x1, Box.y1, Box.x2, Box.y2))Then
Result := True;
end;

Procedure LoadKillRandBitmaps;
Begin
CamoLegs := BitmapFromString(24, 17, 'beNql09EKgjAYBeDtIbyK' +
'0OgFuonAICFBvJDorgeRuvbRO/GP058T/WfjXAzZPs6mOjc7/KXOk' +
'Wu7a7o9ggkiD8tqiwWHonALw8sW2SuOpo7lxuj0/e31vCPaIWVzfH' +
'cO6ycRidEhNYMYHaFixFbmx9HFEst8HBTQTpblSGKZ4ExSCOapTqw' +
'RsRyqPX3f+Mg0I8Fh6KRcb/gd9H2K8w9Ch8Xsx4kRTIisdlZ8MLzY' +
'UZlheCyXeQN1C3Mb');
CamoTop := BitmapFromString(29, 15, 'beNqF1G1LwlAYxvGd970Qw' +
'jBGTBGTQZFBEhgoZoSEyCqj0deQQopCevje/eOq2+PJsXEhc/P8vH' +
'bPGUX/Njcbtsl01r7KWuRy0jwfN54eM8JOpVIjk7Mm4RRhSVSyuaz' +
'fEnudp8hEbH+UBPL4tME+KZOdForNL1LJKgw7OknEmkz0lhTITldE' +
'W9ZaZ3Cbg1+Y0NbvjNCp132Q2KCI1lptouOwkq2hWMkBq+FXq4mxJ' +
'sukOQkK6yuI5oBcxPqFNQ2NQjtErCbsy5b18TqT/c6M1OZM9BlawQ' +
'YyhXk9ONrZT7c3ysE0kLVcPmd5RR509pTe4DfH3ZqxwY0r6iz27fX' +
'u4z1/eb5V4ZV8GHd7cTEbyoYj6/jX58NyeW9zsMJlbGFnGyzsYnEj' +
'lugmSha7G29tei4ca4Mhm6mesPP5VL92YiyFre3GwhL8PxP/wqX9r' +
'V1ji80VK9meggD01rqA/Tn2DYg12O0=');
FrogToken := BitmapFromString(31, 13, 'beNqlk7FLw1AQxtOl2tb' +
'GWnTq4CA4FEUlRNRYKsVKVUTQIUIWhww6ODg4CA7+6f0u38t5fREN' +
'FD4e9OXud9/dvQaNIGg8XmzdjzZfnhKrteeTThq17vZbsyHES/x0X' +
'/MEXztZLDGz4cr5TvNgYNPP9kKQ/4BD7YdDSEoUWHCax9uudBbzRM' +
'DqZJf39eE4xV4asQTFG5LhXxuEeVe9aGF81LNwxP8CR+MUh0Ambed' +
'J93Uk8ynNc25swYNLZJFl4fTmlCdO5TS6b2OXlUbM0ioePHyfIFhz' +
'Cac3nFY6DXKsOCLcT+MNb+brn1fhxyWqMF3g8OZJ4VmsE/aGCVXhV' +
'UktVdGaNc9XROmu68PRi8ryF3ZRrpiPlok3p/1/4cL/uhZZeGWPVd' +
'WEQ73vW49vX/iScOdf4eZ587+/JFz3+zMTA/fejIPPAXG4HYQ=');
Beer := BitmapFromString(22, 13, 'beNqtk79Og1AcheEVHIxpjPII' +
'PpFbJ9/AtXFtXFwcTDrqoGnEqEXwT6W2EKwthGIbaiBCIcVWCg/gI' +
'bdFwqTWmy8nv3BzvlxugGEoilZEpSN1kNKD1Lx9aggN8Uasc3WBFb' +
'gqx5/zAEPtrIa8Pr2qHFTQ2mIYQCWLNlSjr72ahonUX/Su3G032xD' +
'KjzKErfsWErOqqJDDU9wuEgP1vejR+8hzPN/1Xdu1h/ZbfzjQB71O' +
'T3vWkJjxBAaoSrul8s4KKgvmhrv9tdnnbPoxnQSTwA/G3hhCaB3Lg' +
'RNmYsB5UAfVvVXCQpIYCOE0BLCBKIxAHMWWaeEt2GOW1EF8uZmSM6' +
'hHhRzpFvhHA7mE8GJjSQNYxmCfrBP+ZiDd7D3w5V8YsvWsgUh+Ysh' +
'0049qbgDKYSFHugVSA+kmv8YXg06f/Q==');
Kebab := BitmapFromString(18, 9, 'beNpdkUtLAnEUxfdZqTPNjB+p' +
'RYuIIClJIwstelKLQKHFkJAhMvQSK0l6SQ8iioiIiIiIln0hf//OU' +
'BEcLnfOPefeMzN+8iIYe9jPj/RHQLzsxnwnumJ3L1tDfZHMYKdVcY' +
'VowYaHRMbjy9GsLHKZacFGLyCwdxPxksO22GrPQG+HYfYSb2fzTOV' +
'iJHE2GbpgWIUrNPqOFXjgvbUgAS6JqQCZybblsZlKr/zqPy+XMHJR' +
'4jBY4BHsB0YZeDqaT3WB15M5Xu25OfN0OA0+zhe/7oq/YuE7lTlXc' +
'rQcJd/wsTFFva/nbmuTgJ49BAAk0Wc0t8quwqC82ZmQnuZ6O3u1Oc' +
'7voNLDaM/f0WklTQP+kc311PHGKE2rmoERCQN/sDZcbwNV4bKg');
UncutRuby := BitmapFromString(21, 17, 'beNqV080KgkAYheGJIDBNQxLGZZf' +
'TImglCG2C6AZaFHXzffDNHI4z/kzxEi56jkaTMcasvm31tqW8S9c6' +
'jztVWZAo416OY0Hr6y3qfIn83hSftow5GuVYEM4LgT1P3D3gWJDPs' +
'5WOm7VfGHBdANcF8NshT+dPu9OLly3ZauBsNbXgWu+ffJE/miLoss' +
'/Y0sIyFyuHpxvePZGrVd79+fyw4Lwwz9kyx8IMl4I/zvzZYyg/MZr' +
'iwckftZx8F46sW5iCsXX8B0dOmBw=');
UncutSapphire := BitmapFromString(21, 17, 'beNqd080KgkAUx' +
'XFb1CI/xpHsJXqiIII2QRBt3AS9QZuCXrhrJ4/3DqZD8idc+DsUTk' +
'nyuWbV+pWXl8GW+RbJYyperfX1Uz5/jXDBThnOBZSV5z53RJG8qK5' +
'eL3ScDXIuCDcL1qbFLoZzQZ7XVpovNt2C4VggxwJ57pt4Xq7u35v6' +
'oS0i1xbBkiP8ihjuqltQ6g5psQ/CEZrkYuXwZO70B4cFDxYmvz8tu' +
'V4Y59pqzoURLgV/HM2xoM+egb7p+8GlQW6sqn13qta+AUwhrZg=');
UncutEmerald := BitmapFromString(21, 17, 'beNqd0tEKgjAUx' +
'vF1UZBubaI9RY8TBEE3QQjdCNEbRJD41B3d8exsphvJ/8Kb36eDCS' +
'HEynR7St61q8a2RxkESuDjcbdTO55fsUSuHoXpqimnopwvBDY7yRR' +
'OC9lZcQutD5txYYnbBeKqMelcv0p8+VTc2jzeeqlnod8lBC9Uf4pk' +
'HpRfdnCEoGEhzsH2t+im/+BoBx4sRP/f2ZHzhWXuWcZpYYFDnvW5X' +
'QjvHn26MdQch35ybnlwFh6zuDAHpxb5F2x9pgs=');
UncutDiamond := BitmapFromString(21, 17, 'beNqd00EKglAQx' +
'vE6lIuOZFCWZQiiYFlQ2UZd1Al0I4U8DTpdo1PD+DSV5L9w4e9D8D' +
'kaVdf4meeXvdfs7HlLVcXgMRZdpRVCFFWSxfSpKsUWPpwWsNNuS3m' +
'WhQ3k1yB4ZVmTU61cMM4XJLuZz4ZwWjA1jVtooijfhRoXdY4LxEPf' +
'H87vcYw3RZpyixEvTZbxbmH4SBIIbqij6w7lUSTlGIa50KTwCPVys' +
'HCKDo79B0eLXFrofX+yxPlCN+eWc1ro4JD093GOC/zs8QX4xNQvDr' +
'Vybnn2ekVZul7aNxnR+0I=');
Spinich := BitmapFromString(12, 9, 'beNpjYAADxhlL8yfMyeyYnN' +
'zYG1fRHJFfGZic4xGd7OQbYgGURVbTNS0FqKasMSy3zB+oJiLBwd3' +
'XBKyGccHaEqCaSfOzgObUd8XC1YTF2sENWbi+bNbyAohdyGpgCkBq' +
'lm6p4HDlYnfgBCK4moRMN2Q1QAVQNVYcQARUk1Xih6QAoYbNhAOOM' +
'NSAlEEMYdVlAyKgGgwFUGWoCAkAALyePy8=');
End;

Procedure KillRandoms(Wear, Eat, Drop: Boolean);

Var
Tx, Ty, Ti, Tc, Start, TimeToCheck : Integer; // X, Y Vars and Time Vars
AllObjects, WearObject, EdableObjcts : TIntegerArray; // Arrays

Begin
Begin
MarkTime(Start);
AllObjects := [CamoLegs, CamoTop, FrogToken, Beer, Kebab, UncutRuby, UncutEmerald,
UncutSapphire, UncutDiamond, Spinich];
WearObject := [CamoLegs, CamoTop]
EdableObjcts := [Kebab, Spinich]
Repeat
If Wear Then
If FindBitmapToleranceIn(WearObject[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('ear'))Or (Tc>10)
wait(300+random(100))
End;
Until(Not(FindBitmapToleranceIn(WearObject[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))Or (Tc>11)
FreeBitmap(WearObject[Ti])
Tc:= 0;
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(WearObject))
Ti:= 0;
Repeat
If Eat Then
If FindBitmapToleranceIn(EdableObjcts[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('at'))Or (Tc>10)
wait(300+random(100))
End;
Until(Not(FindBitmapToleranceIn(EdableObjcts[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))Or (Tc>11)
FreeBitmap(EdableObjcts[Ti])
Tc:= 0;
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(EdableObjcts))
Ti:= 0;
Repeat
If FindBitmapToleranceIn(AllObjects[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)Then
Begin
Tc := 0;
Begin
Repeat
If Drop Then
Begin
Mouse(Tx, Ty, 20, 20, False)
Repeat
wait(100+random(100))
Tc := Tc + 1
Until(ChooseOption('rop'))Or (Tc>50)
wait(250+random(100))
End;
Until(Not(FindBitmapToleranceIn(AllObjects[Ti], Tx, Ty, MIX1, MIY1, MIX2, MIY2, 10)))
FreeBitmap(AllObjects[Ti])
End;
End Else
Begin
Wait(10)
End;
Ti:= Ti + 1;
Until(Ti = getarraylength(AllObjects))
End;
TimeToCheck := TimeFromMark(Start);
//Writeln('Time Taken To Check For Randoms : ' + IntToStr(TimeToCheck) + ' m/s')
End;

Procedure TvAntiBan;

Begin
Case Random(200) of

1: HoverSkill('Mining', False);

8:
Begin
GameTab(1 + Random(12));
wait(1800 + random(500));
GameTab(4)
End;

12: BoredHuman;

16: AlmostLogout;

20: DoEmote(400 + Random(90));

40: Case Random(10) of

4:
Begin
Logout;
Writeln('Status : SLEEPING')
Wait(60000+random(300000))
LoginPlayer;
End;
End;
End;
If(InChat('Hi'))or (InChat('ello'))or (InChat('Hey')) Then
Begin
Case Random(20) of
0: TypeSend('hello');

1: TypeSend('hi');

2: TypeSend('hola');

3: TypeSend('hey');

4: TypeSend('morning');
End;
End;
If(InChat('lvl'))or (InChat('ining'))or (InChat('level'))or (InChat('lvl?')) Then
Begin
Case Random(5) of
0: TypeSend(IntToStr(GetSkillLevel('mining'))+' yours?');

1: TypeSend(IntToStr(GetSkillLevel('mining')));

2: TypeSend(IntToStr(GetSkillLevel('mining'))+' and you?');

3: TypeSend('erm... '+IntToStr(GetSkillLevel('mining')));

4: TypeSend(IntToStr(GetSkillLevel('mining')));
End;
End;
End;

Procedure TvAntiRandoms;
Var
Tx, Ty : Integer;

Begin
FindNormalRandoms;
wait(10);
If(FindFight)Then
Begin
RunAway('w',False,1,10000);
FindSymbol(Tx, Ty, 'mining spot');
Mouse(Tx, Ty, 4, 4, True);
Flag;
End;
wait(10)
KillRandoms(False, True, True);
End;

Procedure BankClay;
Var
Ti, Tx, Ty, BucketDTM, BankBucketDTM : Integer;

Begin
BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');
BankBucketDTM := DTMFromString('78DA633CCBC4C0C0C9C8800CBA0A1D198C803' +
'448F43F10301E07AA1146550391859140FA1C508D280135D7806A' +
'8408A8B90A54F38F01BF9AA340354CF8CD0100C1BC0BA2');
GameTab(4);
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until((BankScreen)Or (Ti > 10)Or (PinScreen));
If(BankScreen)Then
Begin
FixBank;
Deposit(1, 14, 14);
Ti:= 0
Repeat
DTMRotated(BankBucketDTM, Tx, Ty, MSX1, MSY1, MSX2, MSY2)
Mouse(Tx, Ty, 4, 4, False);
wait(200+random(200))
ChooseOption('All')
wait(1000+random(1000))
Ti:= Ti + 1
Until((DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Or (Ti>10))
CloseBank;
If(Not(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)))Then
BankClay;
End;
ClayMined:= ClayMined + 28;
AddToReport('Clay Mined : '+IntToStr(ClayMined))
ReportVars[0]:= 28;
SendSRLReport;
TvAntiRandoms;
End;

Procedure MineClay;
Var
Tx, Ty, Ti, ClayDTM, IncTol, CurrentInvCount : integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
SetupMining;
FindPickHeadColor;
If(not(InvFull))Then
begin
repeat
If(Not(Loggedin))Then
Exit;
CurrentInvCount := InvCount;
If(FindObjCustom2(Tx, Ty, ['Min', 'ine'], [6532563, 5146789, 5674678], 7 + IncTol))Then
Begin
MMouse(Tx,Ty,4,4)
wait(100+random(100))
If(IsUpText('ine'))Then
Mouse(Tx,Ty,0,0,True);
Flag;
Ti:= 0;
Repeat
TvAntiRandoms;
If(GasFound(Tx, Ty))Then
Begin
RunAway('w',False,1,10000);
FindSymbol(Tx, Ty, 'mining spot');
Mouse(Tx, Ty, 4, 4, True);
Flag;
End;
TvAntiBan;
FindPick;
Wait(300+random(300));
Ti := Ti + 1
Until(CheckInvDtm(ClayDtm, (CurrentInvCount + 1)))Or (Ti>5)
IncTol := 0
End Else
Begin
wait(100+random(100))
IncTol := IncTol + 2
End;
Until(InvFull);
End;
End;

Procedure WaterClay;
Var
Tx, Ty, Ti, BucketDTM, ClayDTM, BucketWaterDTM, WetClayDTM, ClayTxtBMP : Integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');

BucketDTM := DTMFromString('78DA637464616098CCC8800C26963B3388006' +
'990E87F20607406AA9987AA06220B2381B40550CD74026ABC806A' +
'BA08A8B102AA69C3AF0600E3D7099B');

BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
WetClayDTM := DTMFromString('78DA639CC7CCC060CAC8800CF28379198C803' +
'448F43F1030CE02AAB1435503918591407A0A508D2101350B806A' +
'B408A8590554638C5F0D00A5C20937');
If(DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Then
Begin
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Ti:=0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(BucketWaterDTM, 14))Or (Ti>30)
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Ti:=0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(WetClayDTM, 28))Or (Ti>30)
DTMRotated(BucketDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Ti := 0;
Repeat
Wait(1000+random(500))
Ti:= Ti + 1;
Until(CheckInvDtm(BucketWaterDTM, 14))Or (Ti>30)
End Else
Begin
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
MouseItem((1+random(12)), True)
MouseItem((16+random(10)), True)
Wait(2000+random(1000))
mouse(250,421,10,10,false);
wait(1000+random(500))
ChooseOption('All');
Wait(20000 + Random(5000))
MouseItem(1, True)
FindObjCustom2(Tx, Ty, ['tain', 'Foun'],[9932135, 11116160], 10)
Mouse(Tx, Ty, 4, 4, True)
Wait(15000 + Random(5000))
End;
End;

Procedure SecondClayWetter;
Var
Ti, Tx, Ty, ClayDTM, BucketWaterDTM, ClayTxtBMP, BankClayDTM : Integer;

Begin
ClayDTM := DTMFromString('78DA63CC60616060646240062B27243088006' +
'94620FE0F048C894035FF19195001231209A4B3806A5898F0ABC9' +
'03AAF987DF1C00A7C6096E');
BucketWaterDTM := DTMFromString('78DA6314636160B8C2C8800CAA6B663388006' +
'990E87F206004A97986AA06220B2381B40050CD39026A14806AAE' +
'1250C307547317BF1A003DCD0A6E');
ClayTxtBMP := BitmapFromString(30, 10, 'beNp9ktEJgDAMRLP/Co' +
'qI7iFIcQDBD93G0rTJeW0t95HY+HINCctzrNc+ZoWUhkWD+5ii/DY' +
'VZJXY6vNHkJOhPioyFS4i3oVQKCNgUBnWVNJpcphP3tAwedarBG+j' +
'ep4p2Ed9KbbQpn9kHDulzYHjxIrnNraPqiVwnFwIdGX1+HsPa/VI8' +
'4HDK8wzpk7+PsTXgNqVWDfQellrGh0vHqxBj6wxTb4uOLf53IbrBW' +
'CkR+4=');
BankClayDTM := DTMFromString('78DA635CCCCCC0F08E01052CEE8A651001D28' +
'C40FC1F08185701D5BC6140038C4824905E0454F389809AB94035' +
'AFF1AB0100A7950BF5');
GameTab(4);
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
Deposit(15, 28, 14);
wait(1000+random(500))
Ti:=0
Repeat
DTMRotated(BankClayDTM, Tx, Ty, MSX1, MSY1, MSX2, MSY2)
Mouse(Tx, Ty, 4, 4, False)
wait(500+random(500))
ChooseOption('All')
wait(1000+random(500))
Ti:= Ti+1
Until((DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))Or (Ti>4))
CloseBank;
Wait(2000+random(1000))
DTMRotated(BucketWaterDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, $, True)
DTMRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2)
Mouse(Tx, Ty, 4, 4, True)
wait(500+random(500))
Ti:=0
Repeat
Wait(500+random(500))
Ti:= Ti+1
Until((FindBitmap(ClayTxtBMP, Tx, Ty))Or (Ti>30))
mouse(250,421,10,10,false);
wait(100+random(500))
Ti:=0
Repeat
Wait(100+random(100))
Ti:= Ti+1
Until(ChooseOption('All')Or (Ti>30))
Ti:=0
Repeat
wait(1000+random(1000))
Ti:= Ti + 1;
Until(Not(DtmRotated(ClayDTM, Tx, Ty, MIX1, MIY1, MIX2, MIY2))or (Ti>30))
End;
Repeat
OpenBankFast('vwb');
Ti := Ti + 1;
Until ((BankScreen) Or (Ti > 5) or (PinScreen));
If BankScreen Then
Begin
FixBank;
DepositAll;
wait(1000+random(500))
CloseBank;
End;
SoftClayMade := SoftClayMade+28;
TvReport;
End;

Procedure MineToBank;
Var
Ti : Integer;

Begin
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/3)+MMX1)-random(15),(MMY1 + 20), 4, 4, True)
Wait(5000+random(1000))
Flag;
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
TrueNorth;
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+random(10),(MMY1 + 20), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=2)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,40,110,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Writeln('Status : Can Not Find Varrok Road');
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+random(10),(MMY1 + 60), 4, 4, True)
Flag;
Ti:= 0;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(JadSymbol('bank', True)) Then
Begin
Writeln('Status : Found Bank Symbol')
Flag;
Ti:= 4
GameTab(4);
Exit;
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If((JadSymbol('Water', False)))Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,40,2,2)
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End else
Begin
Ti:= 0
If(RadialWalk(FindVarrockRoadColor,70,120,40,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 0
End Else
Begin
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToMine;
Var
Tx, Ty, Ti, TreeMineDTM : Integer;

Begin
TreeMineDTM := DTMFromString('78DA633CCBCCC0F0890105D86A48328800694' +
'620FE0F048C07F0AB0101C63340352F09A8B90354F31DBF1A00B5' +
'AD0D52');
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank'))Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx+8, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,230,250,72,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(2000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Mouse( MMX1 + 10, MMY2 - 10, 4, 4, True);
Wait(2000 + Random(2000));
Flag;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,200,(260 + (Ti*3)),50,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
Mouse(((((MMX2)-(MMX1))/2)+MMX1)+(12+(random(5))),(MMY2 - 21), 4, 4, True)
Flag;
Wait(1000+random(1000))
Ti:= Ti + 1
Until(Ti=4)
Ti:= 0
Repeat
If(JadSymbol('mining spot', True))Then
Begin
Writeln('Status : Found Mining Symbol')
Flag;
Ti:= 4
GameTab(4);
Exit;
End Else
Begin
Writeln('Status : Looking For Mining Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
LoadSymbolBitmapColor('short cut')
If(FindSymbol(Tx, Ty, 'short cut'))Or (JadSymbol('Short cut', True))Or(FindColorTolerance(Tx, Ty, 9529693, MMX1, MMY1, MMX2, MMY2, 20))Then
Begin
Writeln('Status : Found Agility Symbol')
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End Else
Begin
If((FindColorTolerance(Tx, Ty, 4309253, MMX1, MMY1, MMX2, MMY2, 30))Or (DTMRotated(TreeMineDTM, Tx, Ty, MMX1, MMY1, MMX2, MMY2)))Then
Begin
Writeln('Status : Found Agility Symbol Color')
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End Else
Begin
Writeln('Status : Can Not Find Mine (Or Agility)');
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True)
Flag;
Ti:= 0
End;
End;
End;
End;
Until(Ti=4)
End;

Procedure FountainToBank;
Var
Tx, Ty, Ti : Integer;

Begin
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,240,310,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
wait(5000+random(2000))
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
RadialWalk(FindVarrockRoadColor,250,290,30,2,2);
Flag;
Ti:= 0;
If(FindSymbol(Tx, Ty, 'cook'))Then
Begin
RadialWalk(FindVarrockRoadColor,70,110,70,2,2);
Flag;
End;
End;
End;
Until(Ti=4)
End;

Procedure BankToFountian;
Var
Tx, Ty, Ti : Integer;

Begin
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Bank')) Then
Begin
Writeln('Status : Found Bank Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Bank Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(RadialWalk(FindVarrockRoadColor,120,160,60,2,2))Then
Begin
Writeln('Status : Found Varrok Road')
Wait(1000 + Random(1000))
Flag;
Ti:= 4
End Else
Begin
Writeln('Status : Looking For Varrok Road [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4)Then
Begin
Writeln('Status : Can Not Find Varrok Road, Logging Out');
Logout;
TerminateScript;
End;
End;
Until(Ti=4)
Ti:= 0
Repeat
If(FindSymbol(Tx, Ty, 'Water')) Then
Begin
Writeln('Status : Found Water Symbol')
Mouse(Tx, Ty, 4, 4, True)
Flag;
Ti:= 4
GameTab(4);
End Else
Begin
Writeln('Status : Looking For Water Symbol [' +IntToStr(Ti)+ ']')
Ti:= Ti + 1;
If(Ti=4) Then
Begin
Mouse((MMX2)-20, ((((MMY2)-(MMY1))/2)+MMY1)+random(5), 4, 4, True);
Ti:=0
End;
End;
Until(Ti=4)
End;

Procedure SmartAnimation;
Begin
ClearDebug;

LoadingTc := LoadingTc + 1;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADING WORLD '+ CharactersWorld +' ['+IntToStr(LoadingTc)+']')
Writeln('=========================================')
Wait(100);
If(LoadingTc>70)Then
Begin
LoginPlayer;
LoggedTi := True;
End Else
Begin
LoggedTi := False;
End;
End;

Procedure SetUpScript;
Begin
If(Not(Loggedin))Then
LoginPlayer;
TrueNorth;
SetRun(True);
SetAngle(True);
End;

procedure SetupSmart;
Var
Tx, Ty, WelcomeScreen : Integer;
CharactersPrefix : String;

begin
WelcomeScreen := BitmapFromString(32, 4, 'beNpjYHB09v3/nwGIgADCAI' +
'pAEFycGLatvSeEDUcQgFU9mvkeXsEk2QUHVtbOuPQCxeFSBN0DcT/' +
'QNDQvAEUgToXrRWMDrUB2DzzoMNUDzYdYgeIBAO43gOo=');
Writeln('Status : Connecting To Runescape.com To Get Emptiest Player Worlds')
CharactersPrefix := EmptiestWorld(Players[CurrentPlayer].Booleans[0])
SmartSetup(CharactersPrefix, false, true);
ClearDebug;
SetupSrl;
ScriptID := '880';
if ((players[currentplayer].strings[0] = '') or (players[currentplayer].strings[1] = ''))then
begin
SRLID:='4159';
SRLPassword:='sK9k5Dd7mV';
end else
begin
SRLID := players[currentplayer].strings[0];
SRLPassword := players[currentplayer].strings[1];
end;
Repeat
SetTargetDC(SmartGetDC);
SmartAnimation;
wait(100)
If(SmartReady)and (FindBitmapToleranceIn(WelcomeScreen, Tx, Ty, 0, 0, 764, 502, 100)) Then
LoggedTi:= True
Else
LoggedTi:= False;
Until(LoggedTi)
ClearDebug;
Writeln('=========================================')
Writeln('= ##### # # ##### ##### ##### =')
Writeln('= # # # # # # # # # # =')
Writeln('= ##### # # # ##### ##### # =')
Writeln('= # # # # # # # # =')
Writeln('= ##### # # # # # # # =')
Writeln('=========================================')
Writeln(' LOADED WORLD '+ CharactersWorld +' ')
Writeln('=========================================')
Wait(100)
end;

Begin
SRLPlayerForm(True, ['Members Account'], [], ['SRLStats User','SRLStats Pass'], [])
ClearReport;
ClearDebug;
LoadKillRandBitmaps;
SetupSmart;
loginplayer;
SetUpScript;
If(JadSymbol('mining spot', True))Then
MineToBank;
{#~Main Loop~#}
Repeat
SetUpScript;
BankToMine;
MineClay;
SetUpScript;
MineToBank;
BankClay;
BankToFountian;
WaterClay;
FountainToBank;
SecondClayWetter;
case random(10) of
4:
Begin
Writeln('Status : Sleeping After Banking')
Logout;
wait(120000+random(180000))
LoginPlayer;
End;

8:
Begin
Writeln('Status : Random Waiting After Banking')
wait(180000+random(180000))
If(Not(LoggedIn))Then
LoginPlayer;
End;
End;
Until(False)
End.


Looks better but still can be improved in places… I dont see you freeing dtms.. If you did im sorry, its late.

if you dont free dtms /bitmaps you will get huge lag aka memory leak

Smartzkid

2008-06-04 23:09:52

No way I'll vote yes unless you Promise To Stop Typing Like This!!!

Tv-XxX

2008-06-05 07:27:00

How Can The Way I Type Effect How Well I Code, n How I Contrabute To This Community?

and I'll Never Stop Typing Like This, I've Done It For Five Years, I Ain't Gonna Stop For You.

Camaro'

2008-06-05 17:52:22

From: Tv-XxX
How Can The Way I Type Effect How Well I Code, n How I Contrabute To This Community?

and I'll Never Stop Typing Like This, I've Done It For Five Years, I Ain't Gonna Stop For You.


Its fine the way you type, its not big deal. Im going to vote no for the previous reasons, but i will DEFINITLY guarantee you will get in srl members in a month. I like you.

Tv-XxX

2008-06-05 19:19:03

Cheers "cnr sport" Its People Like You That Make Me Love This Community

Yours

Tv.

Camaro'

2008-06-05 20:44:10

From: Tv-XxX
Cheers "cnr sport" Its People Like You That Make Me Love This Community

Yours

Tv.


NP. you have msn?

Tv-XxX

2008-06-06 12:27:22

yer its in my siggy XD

Camaro'

2008-06-07 10:45:47

From: Tv-XxX
yer its in my siggy XD


Ok, i added you but i think you have a different time zone then me. If you need ANY help on the new script for next months dont hesitate to ask.

nielsie95

2008-06-29 05:56:29

It seems like you're not getting in, sorry.
Due to SRL being down for some time, you may apply again without waiting.
Closed.