SRL Archive - NOTA

All My incomplete scripts :D


FreakyMonkey

2008-12-24 02:54:00

NOt sure if this goes under a certain category, but I'd like to show you guys my attempt at some scripts. Usually what I did on a rainy day lol.

DaSupaFlaxa

program DaSupaFlaxa;
{.include SRl/SRL.scar}


function ReadyToPicky: boolean;

Var
tpa: TPointArray;
TPAA: T2DPointArray;
Bounds: TBox;

begin
if not loggedin then exit;
x:=MMCX; y:=MMCY:
FindColorsSpiralTolerance(x,y,tpa,11363426,MMX1,MMY1,MMX2,MMY2,5);
if GetArrayLength(tpa)>0 then
begin
TPAA:=SplitTPA(tpa,2);
SortATPASize(TPAA,true);
MiddleTPAEx(TPAA[0],x,y);
Result:=MFNF(x,y,1,1);
Exit;
end;
Result:=False;
end;

function ColorUpText(Types: String): Boolean;

begin
if not loggedin then exit;
case lowercase(Types) of
'yellow': Result:= CountColorTolerance(1108200,54,8,118,18,250)>=10;
'blue': Result:= CountColorTolerance(14408730,54,8,118,18,250)>=10;
'orange': Result:= CountColorTolerance(3636184,54,8,118,18,250)>=10;
'green': Result:= CountColorTolerance(1171738,54,8,118,18,250)>=10;
'white': Result:= CountColorTolerance(13816788,54,8,118,18,250)>=10;
end;
end;


procedure PickyTime: boolean;

Var
FlaxCol: TPointArray;
FFlaxCol: T2DPointArray;
Stable: Integer;

begin
if FlagPresent then
FLag;
SetAngle(false);
PerfectNorth;
x:=MSCX; y:=MSCY;
FindColorsSpiralTolerance(x,y,Flaxcol,{col},MSX1,MSY1,MSX2,MSY2,3);
if GetArrayLengtH(FlaxCol)>0 then
begin
SetArrayLength(flaxcol,Getarraylength(FlaxCol));
FFlaxCol:=TPAtoaTPA(FlaxCol,10);
for i:=High(FFlaxCol) downto 0 do
begin
MiddleTPAEx(FFlaxCol[i],x,y);
MMouse(x,y,2,2,false);
if isuptextmulticustom(['ick','lax','fl'])then
Break;
end;
Stable:=GetColor(x,y);
while SimilarColors(Stable,{col},3) or not FlagPresent or (not CountDTMInv(Flax)=27) do
begin
Mouse(x,y,1,1,true);
Wait(1000+random(2000));//didn't know quite how to deal with this part.
end;
if InvFull then
GoToBank;
if not InvFull then
PickyTime;
end;
if GetArrayLength(FlaxCol)<1then
begin
Writeln('Could not find flax color. Terminating.');
terminatescript;
end;
end;

procedure RemoveEquips; //0=head, 1= necklace, 2= top, 3=leg, 4=cape, 5=shield, 6=sword

var
TBA: TBoxArray;

begin
Gametab(5);
TBA:=[inttobox(636, 223, 650, 234), //head
inttobox(634, 257, 649, 273), //necklace
inttobox(634, 299, 646, 312),//top
inttobox(650, 352, 634, 340),//leg
inttobox(592, 261, 607, 273),//cape
inttobox(689, 300, 705, 308),//shield
inttobox(578, 292, 597, 323)];//sword
for i:=1 to (High(TBA)-random(3)+random(2))do
begin
x:=i+random(5)-random(5);
if not x>High(TBA)and x<1 then //randomize it a bit.
Swap(TBA[i],TBA[x]);
end;
for i:=0 to High(TBA)do
begin
x:= TBA[i].x1+TBA[i].x2/2+random(2)-random(2); //MidPoint Formula
y:= TBA[i].y1+TBA[i].y2/2+random(2)-random(2);
MMouse(x,y,1,1);
Wait(500+random(500));
if not ColorUpText('blue')then
begin
Mouse(x,y,1,1,true);
Wait(500+random(500));
while not ColorUpText('blue')do
Wait(10);
end;
end;
writeln('All Removed.');
end;




procedure ALaBanca: boolean;

begin
if not RadialWalk(blah)then
if not RadialWalk(Blah)then
if not RadialWalk(Blah)then
begin
Writeln('Not find color.');
Exit;
end;
//more radial walk
f_Fflag(5+random(4));
RadialRoadWalk(FindCammyRoadColor, blah);
f_fflag(5+random(4));
if not RadialWalk(LoadSymbolBitmapColor('bank'),blah)then
if not RadialWalk(GetSymbolColor(x,y,'bank'),blah)then
if FindSymbolIn(x,y,'bank',MMX1,MMY1,MMX2,MMY2)then
MFNF(x,y,1,1);
Else
begin
Writeln('Couldnt find symbol.');
terminatescript;
end;
writeln('In bank.');
end;


procedure PlaceAtBank;

begin
SyAcc:=SymbolAccuracy;
SymbolAccuracy:=0.5;
if not FindSymbol('bank',x,y)then
if not FindColorSpiralTolerance(x,y,GetSymbolBitmapColor('bank'),MMX1,MMY1,MMX2,MMY2,5)then
if not FindColorSpiralTolerance(x,y,GetSymbolcolor('bank'),MMX1,MMY1,MMX2,MMY2,5)then
begin
writeln('not find bank.');
terminatescript;
end;
MouseFlag(x,y,1,1);
GameTab(4);
FreakBank;
SymbolAccuracy:=SyAcc;
end;

function FreakBank: Boolean;

var
BColor1,BColor2: TPointArray;
DBColor: T2DPointArray;
MixColor: TPointArray;
BCols: TIntegerArray;

begin
CTS:=GetColorToleranceSpeed;
ColorToleranceSpeed(2);
{SetColorSpeed2Modifiers(.07, .27);}
BCols:=[1725541,2116441];
FindColorsSpiralTolerance(x,y,BColor1,Bcols[0],MSX1,MSY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(x,y,BColor2,BCols[1],MSX1,MSY1,MSX2,MSY2,5);
MixColor:=CombineTPA(BColor1,Bcolor2);
DBColor:=SplitTPA(MixColor,5);
for i:=0 to high(DBColor)do
begin
MMouse(DBColor[i].x,DBColor[i].y,1,1);
Wait(200+random(200));
if isuptext('nk')then
Break;
if i=High(DBCOlor)then
begin
Writeln('Could not find bank.');
Result:=False;
Exit;
end;
end;
GetMousePos(x,y);
case random(20)of
1 to 18: begin
repeat
Mouse(x,y,1,1,false);
Wait(1000+random(200));
if ChooseOption('uick')then
Break;
until(False);
end;
19,20: begin
repeat
Mouse(x,y,1,1,true);
Wait(1000+random(200));
if ClickContinue then
break;
until(False);
ClickToContinue;
Wait(50+random(200));
CLicktocontinue;
end;
end;
if pinscreen then
InPin(PinNumber);
Result:=bankscreen;
ColorToleranceSpeed(CTS);
end;

function ToExitBank: boolean;

begin
if not RadialWalk(FindCammyRoadColor,75,100,-1,-1)then
if not RadialWalk(FindCammyRoadcolor,85,120,1,1)then
if not RadialWalk(FindCammYRoadColor,90,130,1,-1)then
begin
Result:=False
Exit;
end;
Writeln('Outside.');
Result:=True;
end;



function FindCammyRoadColor: Integer;//based on one of wizzy's cammy road color functions

var
CColor: TPointArray;
CCColor: T2DPointArray;

begin
FindColorsTolerance(CColor,FindRoadColor,MMX1,MMy1,MMX2,MMy2,5);
CCColor:=TPAtoATPA(CColor,2);
SortATPASize(CCColor,true);
if getarraylength(cccolor)>0 then
Result:=GetColor(CCColor[0][0].x,CCColor[0][0].y);
Else
Result:=FindRoadColor;
end;

function HeyHoToTheFlaxyOh;

var
FColor1,FColor2: TPointArray;
MFColor: TPointArray;
FFColor: T2dPointArray;

begin
FirstCol:=12546160; SecondCol:={col};
FindColorsSpiralTolerance(x,y,FColor1,FirstCol,MMX1,MMY1,MMX2,MMY2,5);
FindColorsSPiralTolerance(x,y,FColor2,SecondCol,MMX1,MMY1,MMX2,MMY2,5);
MFCOlor:=CombineTPA(FColor1,FColor2);
FFColor:=TPAtoATPAEx(MFColor,3,3);
if GetArrayLength(FFColor)>0 then
begin
SortATPASize(FFColor,True);
for i:=0 to High(FFColor[0])do
begin
if FFColor[0][i]=FirstCol then
Break;
end;
MFNF(FFcolor[0][i].x,FFColor[0][i].y,1,1);
F_fflag(5+random(10));
Result:=True;
end;
while not Result do
begin
if RadialWalk(12546160,90,180,70,-1,-1)then
Result:=True;
f_FFlag(5+random(10));
end;
end;

function CountDTMInv(DTM: integer): Integer;

Var
Slot: Integer;
DBox: TBox;

begin
if not logged in then exit;
for i:=1 to 28 do
begin
dbox:=invbox(slot);
if FindDTM(DTM,x,y,slot.x1,slot.y1,slot.x2,slot.y2)then
Inc(result);
end;
end;

FreaksMiner

program MineNBank;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/mining.scar}

const
ColorPick=03482034;//Color of Pick Head When Dropped

var
Pick: Array [0..3]of Integer;
Iron: Integer;

procedure DeclareDTMS;//Taken From Mining.scar. Thanks =)

begin
Pick[0] := BitmapFromString(11, 6, 'z78DA73730301038A811' + //broken
'B55CDA18569B800E5F662EA722311407401000F035515');
Pick[1] := BitmapFromString(14, 26, 'z78DA3330A014B82' + //handle
'101032A99865F8412D3069B99F8750D0633E9E9C2C11F86A32E1C' +
'6C2E1CFC7979D48523A116A0BC061C2A66D2A2DE07009D42B460');
Pick[2] := BitmapFromString(10, 7, 'z78DA33300001371CC0' + //head
'000720460D2E5D986CE27591AA973CF5D435C18D02003101000D7' +
'F5A19');
Iron := DTMFromString('78DA6314606060106140019E7A4A609A11CA6' +
'704C9B332A001465435B240829F801A2E20214F400DC81E6E026A' +
'7881040B7E3500DB51015E');
end;

function FRadialWalkEx(TheColor, StartRadial, EndRadial, Radius, Tol: Integer): boolean;

var
TPA: TPointArray;

begin
if RadialWalkEX(TPA, MMCX, MMCY, TheColor, Tol, StartRadial, EndRadial, Radius)then
begin
Mouse(TPA[0].x,TPA[0].y,1,1,true);
Wait(200+random(200)) //failsafe
Result:=f_FFlag(5+random(15));
Else
begin
Wait(200+random(200));
Exit;
end;
end;

function f_FFlag(Dist: Integer): Boolean;

begin
while FlagDistance>Distance do
begin
FTWait(1);
FindNormalRandoms;
end;
end;


function SearchAndFind: Boolean;

var
RDots: TPointArray;
RRDots: Array of TPointArray;

begin
FindColorsSpiralTolerance(MMCX,MMCY,RDots,395004,MSX1,MSY1,MSX2,MSY2,5);
SetLength(Rdots, GetArrayLength(Rdots));
RRDots:=TPAtoaTPA(RDOts,20);
if GetArrayLength(RRDots)>0 then
for d:=0 to High(RRDots)do
begin
SortATPASize(RRdots,true);
SortTPAFrom(RRDots[0],MiddleTPA(RDots[0]));
MouseFlag(RRDots[0][0].x,RRDots[0][0].y,1,1);
Result:=ClickPickhead;
end;
Result:=False;
end;

function ClickPickHead: Boolean;

var
DropCol1,DropCol2: TPointArray;
MDropCol: TPointArray;
DDropCol: T2DPointArray;

begin
FindColorsSpiralTolerance(MSCX,MSCY,DropCol1,{ColorPick},MSX1,MSY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(MSCX,MSCy,DropCol2,{ColorPick},MSX1,MSY1,MSX2,MSY2,5);
MDropCol:=CombineTPA(DropCol1,DropCol2);
DDropCol:=TPAtoATPAEx(MDropCol,10,10);
if not GetArrayLength(DDropCol)>0 then
begin
Result:=False;
Exit;
end;
SortATPASize(DDropCol,True);
SortTPAFrom(DDRopCol[0],MiddleTPA(DDropCol[0]));
for i:=0 to High(DDropCol[0])do
begin
MMouse(DropCol[0][i].x,DropCol[0][i].y,1,1);
Wait(30+random(40));
if Pos('ick',getuptext)<>0 then
Break;
if I=High(DropCol)then
begin
Result:=False
Exit;
end;
end;
DropBox:=GetTPABOunds(DDRop[0]);
ME:=InvCount;
repeat
Inc(She);
MouseBox(ddrop[0].x1,ddrop[0].y1,ddrop[0].x2,ddrop[0].y2,1);
Wait(30+random(40));
if not InvCount=Me then
Break;
until(She=30);
if She=30 then
begin
Result:=False
Exit;
end;
Gametab(4);
FindPick;
if FindSymbol('mining',x,y)then
Result:=MouseFlag(x,y,1,1);
end;



procedure WaitWhile;

begin
GameTab(4);
if FindBitmapIn(Pick[0],x,y,MIX1,MIY1,MIX2,MIY2)then
Writeln('Found Broken PickAxe. Terminating Script.');
if FindBitmapIn(Pick[1],x,y,MIX1,MIY1,MIX2,MIY2)then
SearchAndFind;
FindNormalRandoms;
if FindFight then
begin
writeln('Found Fight Terminating Script!');
TerminateScript;
end;
end;


function CheckPick: Boolean;

begin
Gametab(6);
MouseBox(580,302,593,312,3);
if IsUpTextMultiCustom(['ick','Pick'])then
case lowercase(WhichPick) of
'rune': Result:= FindColorTolerance(x,y,5984829,580,302,593,312,5);
'adamant','addy': Result:=FindColorTolerance(x,y,4017469,580,302,593,312,5);
'mithril','mith': Result:=FindColorTolerance(x,y,5322551,580,302,593,312,5);
'steel': Result:=FindColorTolerance(x,y,6250343,580,302,593,312,5);
end;
if not Result then
begin
Writeln('Not right pick.');
Terminatescript;
end;
end;


procedure WalkToSite;

var
Mark: integer;

begin
MarkTime(Mark);
if not FRadialWalkEX(VarrockRoadColor,225,237,71)then
if not FRadialWalkEX(VarrockRoadColor,225,237,65)then
if not FRadialWalkEX(VarrockRoadColor,225,237,61)then
if not FRadialWalkEX(3958379,225,237,70)then
Exit;
FRadialWalkEx(3629410,180,210,70);
AntiRandom;
AntiBan;
FRadialWalkEx(4086864,160,185,70);
SymbolAccuracy:=0.5;
if FindSymbol('Mine')then
begin
Writeln('Found');
Exit;
Else
FRadialWalkEx(1848911,152,180,62);
if FindSymbol('Mine')then
begin
SymbolAccuracy:=Synow;
SetAngle(True);
repeat
Mouse(x,y,1,1);
Wait(30+random(75));
until(FlagPresent);
Else
begin
Writeln('Still cannot find the mining site.');
Terminatescript;
end;
end;

function CountDTMInInv(DTM: Integer): Integer;//by Freakymonkey

var
slot: integer;
IBox: Tbox;

begin
if not LoggedIn then Exit;
Gametab(4);
for slot:=1 to 28 do
begin
IBox:=InvBox(slot);
if FindDTM(DTM,x,y,IBox.x1,IBox.y1,IBox.x2,IBox.y2)then
Inc(Result);
end;
end;

function CountEmptySlot: Integer;

var
slot4: integer;
Empty: TBox;

begin
for i:=1 to 28 do
begin
Empty:=InvBox(Slot);
if not ExistItem(i)then
Inc(Result);
end;
end;

function FindRock(x,y:integer):boolean;
var
RockCol1,RockCol2: TPointArray;
MRockCol: TPointArray;
RRockCol: Array of TPointArray;
CTS: integer;

begin
CTS:=GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(.2,.2);
FindColorsSpiralTolerance(x,y,RockCol1,3096422,MSX1,MSY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(x,y,RockCol2,{col},MSX1,MSY1,MSX2,MSY2,5);
MRockCol:=CombineTPA(RockCol2,RockCol);
RRockCol:=TPAtoATPAEx(MRockCol,10,10);
for i:=0 to High(RRockCol)do
begin
for d:=0 to High(RockCol[i])do
MiddleTPAEx(RockCol[i],x,y);
MMouse(x,y,1,1);
Wait(30+random(75));
if (Pos('ine',getuptext)<>0)then
begin
Writeln('Found Rock');
GetMousePos(x,y);
Result:=True;
Exit;
end;
Writeln('Didnt Find the Rock Using the Middles of the TPAS');
MMouse((RockCol[i])[d].x,(RockCol[i])[d].y,1,1);
Wait(30+random(40));
if (Pos('ine',rs_getuptext)<>0)then
begin
Writeln('FOund Rock');
GetMousePos(x,y);
Result:=True;
Exit;
end;
end;
Result:=False;
ColorToleranceSpeed(CTS);
end;

function FreakEscape: Boolean;

Escape,Mark,i: Integer;
Escapado,Return: TPointArray;

begin
Escape:= GetColor(MMCX-4,MMCY-4);
MarkTime(Mark);
FRadialWalkEx(Escapado,x,y,1848911,5,90,180);
MiddleTPAEx(Escapado,x,y);
repeat
MMouse(x,y,1,1);
Wait(20+random(30));
until(FlagPresent);
f_FFlag(5);
case Random(100) of
11,53: TypeSend('Dang gas....');
1,60: TypeSend('Man i hate when the rock gets gassy =p');
end;
repeat
Wait(10);
until TimeFromMark(Mark)>=12000;
FRadialWalkEx(Return,x,y,Escape,5,180,270);
end;



procedure ClickRock;

var
Mark2,TryMe: integer;
Change: Boolean

begin
for i:=0 to CountEmptySlot do//or replace 28 with amount of empty spaces in inv
begin
for d:=0 to 8 do
begin
if ChatsBlackText=[1 to 3] then
begin
Change:=True;
Writeln('Looking at black chat is unreliable');
break;
end;
Mouse(x,y,0,0);
Wait(30+random(75));
if (Pos('ing',BlackChatMessage)<>0)then
Break;
until(false);
if Change then
begin
repeat
Inc(TryMe);
Mouse(x,y,0,0,true);
Wait(20+random(30));
until(Tryme>=20);
end;
MarkTime(Mark2);
repeat
if FindGas(x,y)then
FreakEscape;
WhileMining;
if not (Pos('ed',BlackChatMessage)<>0)then
Break;
until(TimeFromMark(Mark2)>=12000);
if TimeFromMark(Mark2)>=12000 then
begin
Writeln('Someting is wrong terminating script.');
Terminatescript;
end;
Inc(Mined);
MakeCompass('n');
if InvFull then
Break;
end;
end;


procedure FindBank;

var
BankColor: TPointArray;
BCols: TIntegerArray;

begin
if not Loggedin then Exit;
MakeCompass('n');
BCols:=[1626085,12892858];
SyNow:=SymbolAccuracy;
SymbolAccuracy:=0.5;
if FindSymbol(x,y'bank')then
begin
SymbolAccuracy:=Synow;
repeat
Mouse(x,y,1,1,True);
wait(30+random(40));
until(FlagPresent);
Flag;
Else
begin
for i:=0 to High(Bcols)do
begin
FindColorsSpiralTolerance(x,y,BankColor,BCols[i],MMX1,MMY1,MMX2,MMY2,5);
if Length(BankColor)>=1 then
begin
repeat
Mouse(x,y,1,1,true);
Wait(30+random(40));
until(FlagPresent);
FFlag(5);
Exit;
Else
Begin
Writeln('Cannot Find Bank.');
Terminatescript;
end;
end;
end;
end.

procedure Depositing; //freakymonkey

var Cols,Cols2,MCols: TPointArray;
var 2DMCols: T2DPointArray;
var cx,cy,mx,my,Col,Col2: integer;
var slot2: TBox;

begin
if FindDTM(Bank,x,y,MSX1,MSY1,MSX2,MSY2)then //needa make a DTM of it
begin
Col:= GetColor(x,y);
Col2:=GetColor(x+3,y+3);
FindColorsSpiralTOlerance(cx,cy,Cols,Col,MSX1,MSY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(mx,my,Cols2,Col2,MSX1,MSY1,MSX2,MSY2,5);
MCols:=CombineTPA(Cols,Cols2);
2DMCols:=TPAToATPA(Mcols,20);
for i:= 0 to High(2DMCols)do
begin
MiddleTPAEx(2dMcols[i],x,y);
wait(300+random(400));
if isuptext('ank')then
Break;
end;
repeat
Mouse(x,y,0,0,false);
Wait(300+random(400));
if ChooseOption('pen')then
Break;
until(false);
Wait(400+Random(300));
if BankScreen then
begin
Mined:=Mined+inttostr(CountDTMInInv(Iron));
for i:=1 to 28 do
begin
slot2:=InvBox(i);
if FindDTM(Iron,x,y,slot2.x1,slot2.y1,slot2.x2,slot2.y2)then
begin
Mouse(x,y,1,1,false);
wait(100+random(500));
if ChooseOption('All')then
Break;
end;
end;
CloseBank;
end;
end;

procedure WalkBack;

begin
Writeln('Walking Back');
Makecompass('n');
if not FRadialWalkEx(3563613,340,0,60,2)then
if not FRadialWalkEx(4021062,15,60,60,2)then
if not FRadialWalkEx(3431766,15,80,60,2)then
Exit;
if FRadialWalkEx(3629659 ,0,8,70,2)then
if FRadialWalkEx(3106407,2,22,73,2)then
if FRadialWalkEx(VarrockRoadColor,14,33,63,2)then
if FindSymbol('bank')then
begin
Mouse(x,y,1,1,true);
FFLag(5);
Else
begin
Writeln('Radial walk did not work.');
Terminatescript;
end;
MakeCompass('e');
MakeANgle(False);
Depositing;
end;

function NumPeopleObj(Color: integer): Integer;

WColor: TPointArray;
WWcolor: T2DPointArray;
L,LL: Integer;

begin
FindColorsSpiralTolerance(x,y,WColor,color,560,45,693,122,5);
L:=GetArrayLength(Wcolor);
if not L>2 then
begin
Result:=0;
Exit;
end;
WWColor:=SplitTPA(WColor,1);
LL:=GetArrayLength(WWColor);
Result:=LL;
end;

function REnergyLeft: Integer;

AllTed: String;

begin
AllTed:=TrimOthers(GetTextAtEx(640,442,5,SmallChars,False,True,0,0,39167,6,
True,tr_Digits);
if not Allted='' then
Result:=StrToInt(AllTed);
end;

begin

//Here's when I got bored :D


FreaksAlcher

Probably the worst out of mine lol but ironically i got the farthest…

program FreaksAlcher;
{.include SRL/SRL.scar}

{=================================================}
{================FREAKS ALCHER====================}
{1.What You're Alching Must Be In Note Form In Your Inventory!
{2.You Can Use Either Runes or Staves!
{3.Will Add An Auto Responder, Antiban, and AntiRandom Soon!}


var
x,y,LevelReq,LevelIncrease,LevelIncrease2,CR,CS: integer;
Alched, Note: integer;

{SRL ID AND PASS}
{=================================================}
const

SRLIdentification=''; //SRL Stats ID
SRLPass='';//SRL Stats Password

{=================================================}

Procedure DeclarePlayers;
begin
HowManyPlayers :=1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :=''; //Username For Runescape
Players[0].Pass :=''; //Password For Runescape
Players[0].Nick :=''; //Three Words From Your Username
Players[0].Active:=True; //If This Player Is Active
Players[0].Booleans[0]:=True;//Use Staff?
Players[0].Booleans[1]:=False;//Use Runes?
Players[0].Integers[0]:=1000;//How Many To Alch Before Logging Out/Switching Chars?
Players[0].Integers[1]:=50;//Proggie Every How Many Alchings?
Players[0].Strings[0]:='Yew LongBow';//What To Alch?(Don't Really Have To Spell It Correctly.
//Add More Players If You Wish


Writeln('You are using '+inttostr(howmanyplayers)+' player[s]');
Writeln('Good Luck');

MouseSpeed:=25;//Adjust If You Want.

end;

{==========================================================================}
{***************Don't Touch Under This*************************************}
{***********Unless You Know What You're Doing!*****************************}
{==========================================================================}

function CheckLIncrease(skill:string): boolean;

var
Doit2:integer;
LevelIncrease2: integer;

begin
Doit2:=GetSkillInfo(skill,false);
if Doit2>levelincrease then
begin
Writeln('Gained a level. Congratz.');
Result:=True;
end else
Result:=False;
Doit2:=LevelIncrease2;
end;


function LevelCheck(skill:string):boolean; //freakymonkey

var
Doit: integer;

begin
Doit:=GetSkillInfo(skill,false);
if (Doit)<(LevelReq)then
begin
WriteLn('You dont have the appropriate level to craft this type of leather');
Result:=False;
TerminateScript;
end else
begin
Writeln('Your '+skill+' Level is '+IntToStr(GetSkillInfo(skill,false)));
LevelIncrease:=Doit;
Result:=True;
end;
end;

function ChangeMusic: boolean;

begin
Gametab(MusicGT);//change
MouseBox(coords);//change
GetMousePos(x,y);
if FindColorTolerance(x,y,color,coords,250)then//change
begin
Mouse(x,y,1,1,true);//
Result:=True;
end;
end;



function GetAlchColor: Boolean;

var
u: integer;
FOund: boolean;

begin
Gametab(6);
if GetColor(570,364)=849658 then
begin
Result:=True;
end else
begin
repeat
if getcolor(517+u,364+u)=71705 then
begin
Found:=True;
Result:=False;
end;
u:=u+1;
until(u=5)or (Found);
if u=5 then
begin
Result:=False;
end;
end;


function FindFireStaffUptext: boolean;

begin
if Players[0].Booleans[0]=True then
begin
Gametab(5);
if FindColorTolerance(x,y,1913317,571,290,604,310,250)then
begin
Mmouse(573,292,1,1);
if IsUpText('Staff of')then
begin
Writeln('The Staff of Fire is equiped');
Result:=True;
end;
end else
begin
Writeln('Staff of Fire is not equiped');
Result:=False;
end;
end;
end;

function FindFireRune(x,y: integer): boolean;

begin
if Players[0].Booleans[1] then
begin
GameTab(4);
if FindColorTolerance(x,y,1451433,MIX1, MIY1, MIX2, MIY2,5)then
begin
MMouse(x,y,1,1);
if isuptext('ire Rune')then
begin
Writeln('There are fire runes present');
GetMousePos(x,y);
Result:=True;
end else
begin
Writeln('We cannot find the fire runes');
Result:=False;
end;
end;
end;
end;

function FindNatureRune: boolean;

begin
Gametab(4);
if FindColorTOlerance(x,y,1543186,MIX1,MIY1,MIX2,MIY2,250)then
begin
MMouse(x,y,1,1);
if Isuptext('ature Rune')then
begin
Writeln('Found nature rune.');
Result:=True;
end else
result:=False;
end;
end;

function FindNotedItem(x,y:integer): boolean;

var
notecol: TpointArray;
CTS3,e: integer;
quick2: integer;

begin
CTS3:= GetColorToleranceSpeed;
ColorToleranceSpeed(2);
Gametab(4);
FindColorsSpiralTolerance(x,y,notecol,9944781,MIX1, MIY1, MIX2, MIY2,250);
for E:=0 to High(notecol)do
begin
Quick2:=GetArrayLength(notecol);
if quick2>=3 then
begin
Writeln('We have found the noted'+players[0].strings[0]+'!');
GetMousePos(x,y);
Result:=True;
end;
if Quick2<3 then
begin
WRiteln('We have not found the noted'+ players[0].strings[0]+'!');
Result:=False;
end;
end;
end;

function InAlchFindNoted: boolean;

begin
Note := DTMFromString('78DA6394606060E06540010B27E7806946289' +
'F5105480833A001465435AA40828F08351C04D4C8000976026A24' +
'8830871B48281050C309246409A8E1011242F8D500000ADC0329');
Gametab(4);
if FindDTM(Note,x,y,MIX1,MIY1,MIX2,MIY2)then
begin
Writeln('Noted '+players[0].strings[0]+' found!');
FreeDTM(Note);
Result:=True;
end else
begin
FreeDTM(note);
Result:=False;
end;
end;

procedure SetupRS; //Needs a lotta work!

var
Click,Click2,Click3 : boolean;
Click4,Click5: boolean;

begin
LevelReq:=55;
if not LoggedIn then
LoginPlayer;
Writeln('Logged in');
LevelCheck('Magic');
if Players[0].Booleans[0]=True then
begin
if FindStaffInMS then
Click:=True;
if FindFireStaffUpText then
Click2:=True;
end else
begin
Writeln('Cannot Find Fire Staff!');
nextplayer(false);
SetupRS;
end;
if Players[0].Booleans[1]=True then
begin
if FindFireRune(x,y) then
Click3:=True;
end else
begin
Writeln('Cannot Find Rune!');
nextplayer(false);
SetupRS;
end;
if FindNotedItem(x,y) then
begin
Click4:=True;
end else
begin
Writeln('Cannot Find noted Object.');
Logout;
nextplayer(false);
SetupRS;
end;
if GetAlchColor then
begin
Click5:=True;
end else
begin
Writeln('You either do not have the level or runes to perform this spell.');
nextplayer(false);
SetupRS;
end;
SetChat('off',2);
SetChat('on',3);
SetAngle(true);
if Click and Click2 and Click3 and Click4 and Click5 then
begin
Writeln('All is going smoothly so far.');
end else
begin
nextplayer(false);
SetupRS;
end;

end;

function CoinAmountPerAlch: integer;

begin
if CR=1 then
begin
Gametab(4);
CS:=CoinAmount('inventory');
Writeln('Recording the amount of money per alch.');
Result:=CS;
end;
end;

procedure Alch;

var
SX,SE,TR,g,IT2,ACOl: integer;
animatecol: tpointarray;

begin
If not InAlchFindNoted then
begin
Writeln('We have run out of things to alch.');
Writeln('Switching players.');
nextplayer(false);
end;
CheckLIncrease('Magic');
Gametab(6);
if CR=1 then
begin
IT2:=CoinAmountPerAlch;
WRiteln('You Get '+inttostr(IT2)+' gp per '+players[0].strings[0]);
end;
if CR=0 then
CR:=CR+1;
if GetAlchColor then
begin
repeat
SX:=SX+1;
MouseBox(558,353,580,369,1);
until(FIndColorTolerance(x,y,3424328,560,367,626,403,5))or (SX=30);
if SX=30 then
begin
Writeln('Something is wrong...switching players..');
Nextplayer(false);
end;
if FindnotedItem(x,y) then
begin
Writeln('Starting to alch.');
MMouse(x,y,1,1);
if isuptext('Cast')then
begin
Mouse(x,y,1,1,true);
SetArraylength(Animatecol,High(AnimateCol));
FindColorsTolerance(Animatecol,6525590,203,126,284,182,4);
ACOL:=GetArrayLength(AnimateCol);
end;
end;
for g:=0 to High(AnimateCol)do
begin
if ACOL>=3 then
begin
Writeln('FOund Animation');
Writeln('Continuing...');
Alched:=Alched+1;
ReportVars[0]:=ReportVars[0]+1;
end;
end;
if ACOL<=2 then
begin
TR:=TR+1;
if TR=4 then
begin
Writeln('We have missed recording the color animation when alching 4 Times!');
Writeln('Switching players as a safety precaution.');
nextplayer(false)
end;
end;
end;
end;


procedure Proggie;

begin
if Alched mod Players[0].Integers[1]=0 then
begin
Writeln('==================FREAKS AUTO=======================');
Writeln('Alched '+players[0].strings[0]+'s');
Writeln('Alched '+inttostr(Alched)+'times');
Writeln('Alched For '+TimeRunning);
if CheckLIncrease('magic')then
Writeln('Increase '+inttostr(LevelIncrease2)+' level[s]!');
Writeln('================THANKS FOR USIN IT==================');
end;
end;

procedure LosCreditos;

begin
Writeln('Thanks to WhoCares357 For Helping Me Whenever I Needed It!');
Wait(2000);
writeln('Enjoy.');
ClearDebug;
end;

{=======================THE WONDERFUL MAIN LOOP===============================}
{*****************************************************************************}

begin
SetupSRL;
ScriptId:='829';
SRLID:=SRLIdentification;
SRLPASSWORD:=SRLPASS;
LosCreditos;
if players[0].booleans[0] and
players[0].booleans[1] then
begin
WRiteln('You cannot use both runes and staff...Choose one...');
Terminatescript;
end;
ActivateClient;
SetupRS;
repeat
Alch;
Proggie;
if CR=Players[0].Integers[0] then
NextPlayer(False);
until(not LoggedIn);
if not LoggedIn then
begin
Writeln('The Script Has Logged Out. Stopping the script.');
Proggie;
TerminateScript;
end;
end.

MasterFarmerThiever

program Thiever;
{.include SRL/SRL.scar}

var
Steal: Integer;
x,y: Integer;

procedure FindMastaFarmer(x,y: Integer);

var
Click: Boolean;
Farmer1,Farmer2: TPointArray;
MixFarmer: TPointArray;
FFarmer: T2DPointArray;

begin
x:=MSCX; y:=MSCY;
FindColorsSpiralTolerance(x,y,Farmer1,{col}, MSX1,MSY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(x,y,Farmer2,{col}, MSX1,MSY1,MSX2,MSY2,5);
MixFarmer:=CombineTPA(Farmer1,Farmer2);
FFarmer:=SplitTPA(MixFarmer,2);
if GetArrayLength(FFarmer)>0 then
begin
writeln('Found.');
for i:=0 to High(FFarmer)do
begin
MMouse(FFarmer[i].x,FFarmer[i].y,1,1);
wait(200+random(300));
if isuptextmulticustom(['aster','armer','Farm'])then
Break;
if i= High(FFarmer)then
begin
Result:=False;
exit;
end;
end;
GetMousePos(x,y);
Result:=True;
end else
begin
writeln('Could not find Master Farmer colors!');
result:=False;
exit;
end;
end;

function FindBank2(x,y: Integer): Boolean;

begin
Result:= FindSymbol(x,y,'bank');
if not Result then
begin
Result:=True;
if FindColorSpiralTolerance(x,y,LoadSymbolBitmapColor('bank'),MMX1,MMY1,MMX2,MMY2,5)then
Exit;
if FindColorTolerance(x,y,LoadSymbolBitmapColor('bank'),MMX1,MMY1,MMX2,MMY2,5)then
Exit;
if FindColorSpiralTolerance(x,y,GetSymbolCOlor('bank'),x,y,LoadSymbolBitmapColor('bank'),MMX1,MMY1,MMX2,MMY2,5)then
Exit;
Result:=FindColorTolerance(x,y,GetSymbolColor('bank')x,y,LoadSymbolBitmapColor('bank'),MMX1,MMY1,MMX2,MMY2,5);
end;
end;

function SituateBank: Boolean;

begin
Result:=False;
if FindBank2(x,y) then
if MFNF(x,y,1,1)then
if f_fflag(5+random(15))then
Result:=True;
end;

function OpeningBank: Boolean;

begin
Result:=False;
if OpenBankFast('db')then
if PinScreen then
InPin(IntoStr(Pin));
if BankScreen then
Result:=True;
end;

function WalkIt(Color,StartRadial,EndRadial,Radius,Xmod,Ymod,Tolerance,flag: Integer): Boolean;

var
TPA: TPointArray;
TTPA: T2DPointArray;

begin
RadialWalkEx(TPA,x,y,Color,Tolerance,StartRadial,EndRadial,Radius,Xmod,Ymod);
if not getarraylength(TPA)>0 then
Result:=True;
if Result then
begin
TTPA:=SplitTPA(TPA,2);
SortATPASize(TTPA,true);
MiddleTPAEx(TTPA[0],x,y);
if MFNF(x,y,2,2)then
Result:=f_FFlag(flag);
end;
end;

function ChooseSteal: Boolean;

begin
Result:=False;
if not isuptextmulticustom(['teal','eal','ast','arm'])then
Exit;
while not ChooseOption('teal')do
begin
mouse(x,y,0,0,false);
Wait(300+random(400));
end;
Result:=True;
end;

function FindBirdies: Boolean;

var
TPA1,TPA2: TPointArray;
MTPA: TPointArray;

begin
Result:=False;
FindColorsSpiralTolerance(x,y,TPA1,{col},MSX1,MSXY1,MSX2,MSY2,5);
FindColorsSpiralTolerance(x,y,TPA2,{col},MSX1,MSY1,MSX2,MSY2,5);
MTPA:=CombineTPA(TPA1,TPA2);
if not GetArrayLength(MTPA)>1 then
Exit;
Writeln('Farmer hit us.');
end;

function NeedFood: Boolean;

begin
Result:=False;
if GetMMLevels('hp',hp)= Red then
Result:=True;
end;

function EmptyInvEntirely: Boolean;

begin
Result:=False;
if BankScreen then
DepositAll;
if InvEmpty then
Result:=True;
end;

function CheckColorFood: Boolean;

var
FoodTPA: TPointArray;
FFoodTPA: T2DPointArray;

begin
Result:=False;
if BankScreen then
begin
Fixbank;
FindColorsSpiralTolerance(x,y,FoodTPA,FoodColor,MSX1,MSY1,MSX2,MSY2,250);
FFoodTPA:= SplitTPA(FoodTPA,2);
SortATPASize(FFoodTPA,true);
for i:=0 to High(FFoodTPA)do
begin
MMouse(FFoodTPA[0][i].x,FFoodTPA[0][i].y,2,2);
Wait(40+random(300));
if isuptext(uptext)then
Break;
if i=High(FFoodTPA) then
Exit;
end;
while not Result do
begin
GetmousePos(x,y);
Mouse(x,y,0,0,false);
Wait(300+random(300));
if chooseoption('5')then
Result:=True;
end;
end;
end;

function EatFood: Boolean;

var
slot: Integer;
FB: TBox;

begin
Result:=False;
GameTab(4);
if invempty then
Exit;
for slot:=1 to 27 do
begin
FB:= Invbox(slot);
x:= FB.x1+FB.x2/2+random(3); y:= FB.y1+FB.y2/2+random(3);
MMouse(x,y,2,2);
Wait(300+random(300));
if isuptext('Eat')then
Break;
if slot=27 then
begin
Writeln('No Food Left.');
Exit;
end;
end;
GetMousePos(x,y);
Mouse(x,y,0,0,true);
Result:=True;
end;

function f_FFlag(Dist: Integer):Boolean; //Peforms Randoms Check

FTPA: TPointArray;
Temp: Integer;
FPoint: Tpoint;

begin
Result:=False;
FindColorsSPiralTolerance(MMCX,MMCy,FTPA,255,MMX1,MMY1,MMX2,MMY2,5);
if not getarraylength(FTPA)>0 then
exit;
FPoint.x:= MMCX; FPoint.y:= MMCY;
SortTPAFrom(FTPA, FPoint);
if GetColor(FTPA[0].x,FTPA[0].y)=255 then
while (not Distance(FTPA[0].x, FTPA[0].y,FPoint.x, FPoint.y)>=Dist) do
begin
FindNormalRandoms;
FindInventoryRandoms;
Wait(1);
end;
Result:=True;
end;

procedure StealLoop: boolean;

var
Time: String;

begin
repeat
Time:=GetSystemTime;
if FindMastaFarmer(x,y)then
if ChooseSteal then
Wait(200+Random(200));
if not FindBirdies then
Inc(Steal);
if CheckHP then
if not EatFood then
begin
Writeln('No More Food.');
LogOut;
end;
if TimeTo>=Time then
begin
Writeln('Done.');
Logout;
end;
until(not Loggedin)or CheckHP or InvFull
if not Loggedin then
Terminatescript;
GoBack;
end;

function ClickBankSymbolRadians(StartRadial,EndRadial,Radius,,Tolerance): Boolean;

var
TPA: TPointArray;
TP: TPoint;

begin
TP.x:=MMCX;
TP.y:=MMCY;
RadialWalkEx(TPA,MMCX,MMCY,GetSymbolColor(x,y,'bank'),Tolerance,StartRadial,EndRadial,Radius);
if not GetArrayLength(TPA)>0 then
begin
RadialWalk(GetSymbolColor(x,y,'bank'),StartRadial,EndRadial,Radius,1,1);
Exit;
end;
SortTPAFrom(TPA,TP);
if MFNF(TPA[0].x,TPA[0].y,1,1)then
Result:=f_fflag(5+random(4));
end;


function GoForth: boolean;

begin
Result:=True;
if not WalkIt(RoadColor,297,310,72,1,1,5,5+random(15))then
if not WalkIt(RoadCOlor,290,305,75,1,1,5,5+random(15))then
Result:=False;
end;

function GoBack: boolean;

begin
Result:=True;
if not WalkIt(
if not WalkIt(
begin
Result:=False;
Exit;
end;
if not FindBank2(x,y)then
begin
Result:=False
Exit;
end;
end.


Seers Efficiently Efficient Ravaging Script (SEERS for short :D)

program SEERS; //Seers Energy Efficient Ravaging Script
{.include SRL/SRL.scar}
{.include SLR/SRL/Misc/Users.scar}
{.include SRL/SRL/Skill/Woodcutting.scar}


function AtBank: boolean;

begin
if not loggedin then exit;
if not TrySymbol('bank')then
begin
writeln('Bank not found.');
result:=false;
exit;
end;
result:=MouseFlag(x,y,1,1);
writeln('at bank.');
end;

function BackToBank: Boolean;

begin
if not loggedin then exit;
if not TrySymbol('bank')then
begin
writeln('Bank not Found.');
Result:=False;
exit;
end;
Result:=MFNF(x,y,1,1);
end;

function CountPeopleDist(Dist: integer): integer;

PCol: TPointArray;
PPCol: T2DPointArray;
MTPoint: TPoint;
MMCenter: TPoint;

begin
MakeCompass('N');
FindColorsSpiralTolerance(MMCX,MMCY,PCol,{col},MMX1,MMY1,MMX2,MMY2,5);
PPCol:=SplitTPA(PCol,1);
if not getarraylength>1 then
begin
Result:=0;
Exit;
end;
for i:=0 to High(PPcol)do
begin
MTPoint:=MiddleTPA(PPcol[i]);
if Distance(MTPoint.x,MTpoint.y,MMCX,MMCY)<=Dist then
Inc(Result);
end;
Result:= Dec(Result);
end;


function f_FFlag(Dist: Integer):Boolean; //Peforms Randoms Check

FTPA: TPointArray;
Temp: Integer;
FPoint: Tpoint;

begin
FindColorsSPiralTolerance(MMCX,MMCy,FTPA,255,MMX1,MMY1,MMX2,MMY2,5);
if not getarraylength(FTPA)>0 then
begin
result:=false;
exit;
end;
FPoint.x:= MMCX; FPoint.y:= MMCY;
SortTPAFrom(FTPA, FPoint);
if GetColor(FTPA[0].x,FTPA[0].y)=255 then
while (not Distance(FTPA[0].x, FTPA[0].y,FPoint.x, FPoint.y)=Dist) do
begin
FindNormalRandoms;
FindInventoryRandoms;
Wait(1);
end;
Result:=True;
end;

function TrySymbol(Symbol: String): Boolean;

begin
Result:=False;
if not FindSymbol(x,y,Symbol)then
if not FindColorSpiralTolerance(x,y,GetSymbolColor(Symbol),MMX1,MMy1,MMX2,MMY2,5)then
if not FindColorSpiralTolerance(x,y,LoadSymbolBitmapColor(Symbol),MMX1,MMY1,MMX2,MMY2,5)then
Exit;
Result:=MFNF(x,y,1,1);
end;


procedure StartCut;

T1Col: TPointArray;
T2COl: TPointArray;
MTCol: TPointArray;
STCol: T2DPointArray;
amount, Mark: Integer;

begin
if FlagPresent then
f_Flag(0);
MakeCompass('n');
SetAngle(true);
FindColorsSpiralTolerance(MSCX,MSCY,T1COl,{col},MSX1,MSY1,MSX2,MSY2,5);
FindCOlorsSpiralTolerance(MSCX,MSCY,T2Col,{col},MSX1,MSY1,MSX2,MSY2,5);
MTCOL:=CombineTPA(T1Col,T2COl);
if getarraylength(MTCol)>0 then
begin
STCol:=TPAtoATPAEX(MTCol,10,10);
SortATPASize(STCOl,true);
MiddleTPAEx(STCol[0],x,y);
MMouse(x,y,1,1);
wait(300+random(400));
if isuptextmulticustom(['ree','ee','aple','Maple','hop'])then
begin
writeln('Tree found.');
MarkTIme(Mark);
Mouse(x,y,0,0,true);
end else
begin
Writeln('Couldnt find tree.');
Terminatescript;
end;
gametab(4);
repeat
amount:=countdtminv(log);
Wait(30+random(30));
FindInventoryRandoms;
FindNormalRandoms;
if FindEnt(x,y,true)or FindStump or FindBirdsNest then
NextTree;
if countdtminv(log)>amount then
writeln('Got a log.');
until(invfull) or (TimeFromMark(Mark)>=120000);
IncEx(Logs,CountDTMInv(Logs));
BackToBank;
Exit;
end;
writeln('Couldnt find tree color.');
terminatescript;
end;

function CheckAxe: Boolean;

begin
GameTab(6);
Mousebox(blah,3);
Wait(300+random(300));
if isuptextmulticustom(['xe','Axe'])then
if not isuptextmulticustom(['rok','Brok','ken'])then
begin
Result:=True;
Exit;
end;
Writeln('Axe either not found or broken.');
Result:=False;
exit;
end;

function NextTree;

NT1Col, NT2Col: TPointArray;
NMTCol: TPointArray;
DTCol: T2DPointArray;
DPCol: TPoint;

begin
Result:=False;
FindColorsSpiralTolerance(MSCX,MSCY,NT1Col,{col},MSX1,MSY1,MSX2,MSY2,5);
FindCOlorsSpiralTolerance(MSCX,MSCY,NT2Col,{col},MSX1,MSY1,MSX2,MSY2,5);
NMTCOL:=CombineTPA(NT1Col,NT2COl);
DTCol:= TPAtoATPAEx(NMTCol,20,20);
SortATPASize(DTCol,true);
DPCol:=MiddleTPA(DTCol[0]);
SortATPAFromFirstPoint(DTCol,DPCol);
for i:=0 to High(DPCol)do
begin
MMouse(x,y,1,1);
Wait(300+random(400));
if isuptextmulticustom(['ut','og','aple'])then
Break;
if i:= High(DPCol)then
begin
writeln('Could not find next tree.');
exit;
end;
end;
Mouse(x,y,0,0,true);
while FlagPresent do
begin
FindNormalRandoms;
Wait(1);
end;
Flag;
end;


function FindFlagColor(StartRadial: integer; EndRadial: Integer;Tolerance: Integer; Radius: integer): Boolean;
//checks if Flag made in area.
Var
TPA: TPointArray;

begin
FindColorsSpiralTolerance(MMCX,MMCy,TPA,255,MMX1,MMY1,MMX2,MMY2,5);
FilterPointsPie(TPA,StartRadial,EndRadial,Radius-5,Radius+5,MMCX,MMCY);
SortCircleWise(TPA,MMCX,MMCY,StartRadial,True);
if GetColor(TPA[0].x,TPA[0].y)=255 then
Result:=True;
end;

function ToTheMaples: Boolean;

Var
MTPA: TPointArray;
MTTPA: T2DPointArray;
D1Colors,D2Colors: TPointArray;
MDColors: TPointArray;
SMDColors:= T2DPointArray;

begin
Result:=False;
if not loggedin then exit;
if not atbank then exit;
RadialWalkEx(MTPA,x,y,{col},5,340,10,50,1,1);
if getarraylength(MTPA)>0 then
begin
setlength(MTA,getarraylength(MTPA));
MTTPA:=splittpa(MTPA,2);
SortaTPASize(MTTPA,true);
MiddleTPAEx(MTPA[0],x,y);
Mouse(x,y,1,1);
Result:=FindFlagColor(330,15,5,50);
if not Result then
begin
OpenDoor;
TrySymbol;
ToTheMaples;
end;
end;
end;

procedure Depositing;

begin
MakeCompass('N');
if TrySymbol('bank')then
begin
OpenBankFast('seers');
if BankScreen then
if FindDTM(log,x,y,MIX1,MIY1,MIX2,MIY2)then
repeat
Mouse(x,y,1,1,false);
Wait(300+random(200));
if chooseoption('ll')then
Break;
until(false);
if InvCount<5 then
Exit;
end else
begin
Writeln('Couldnt find bank.');
terminatescript;
end;
end;

procedure SetupRS;

begin
if not TrySymbol('bank')then
Exit;
for i:= 1 to 3 do
SetChat('hide',i);
Gametab(4);
end;


function OpenDoor: Boolean;

begin
if FindFlagColor(270,90,5,50)then
begin
MakeCompass('S');
SetAngle(false);
while FlagPresent do
begin
FindNormalRandoms;
Wait(1);
end;
FindColorsSpiralTolerance(MSCX,MSCY,DColors,5340814,MSX1,MSY1,MSX2,MSY2,5);
FindColorsSPiralTolerance(MSCX,MSCY,DColors,4417653,MSX1,MSY1,MSX2,MSY2,5);
MDColors:=CombineTPA(D1Colors,D2COlors);
if getarraylength(MDColors)>3 then
begin
SMDCOlors:= SplitTPA(MDcolors,3);
SortATPASize(SMDColors,true);
MMouse(SMDColors[0].x,SMDCOlors[0].y,1,1);
Wait(50+random(600));
if isuptext('pen')then
begin
Writeln('Door found.');
Mouse(x,y,0,0,true);
Result:=Wait(50+random(600));
Exit;
end;
end else
begin
Writeln('Could not find door color.');
Result:=False;
Exit;
end;
end else
begin
Writeln('Could not find flag near door.');
Result:=False;
end;
end;
function FindCammyRoadColor: Integer;

var
TPA: Tpointarray;
TTPA: T2DPointArray;

begin
FindColorsSpiralTolerance(MMCX,MMCY,tpa,FindRoadCOlor,MMX1,MMy1,MMX2,MMy2,5);
if GetArrayLength(Tpa)>0 then
begin
SetLength(TPA, Getarraylength(TPA));
TTPA:=SPlitTPA(Tpa,1);
if GetArrayLength(TTPA)>1 then
begin
SetLength(TPA, Getarraylength(TTPA));
SortaTPASize(TTPA,true);
Result:=GetColor(TTPA[0][0].x, TTPA[0][0].y);
Else
Result:= RoadColor;
Else
Result:= RoadColor;
end;

begin
ActivateClient;
if not loggedin then
LoginPlayer;
SetupRS;
if TrySymbol('bank')then
begin
if not CheckAxe then
begin
Writeln('No Axe.'):
terminatescript;
end;
AtBank;
for i:=0 to Players[CurrentPlayer].Integers[0]do
begin
ToThemaples;
repeat
NextTree;
FindNormalRandoms;
FindInventoryRandoms;
FTWait(2);
until(InvFull)or not loggedin;
if not loggedin then
begin
Writeln('Not Logged In.');
termiatescript;
end;
BackToBank;
end;
if not Loggedin then
begin
Writeln('Not Logged In.');
termiantescript;
end;
Writeln('Exceeded number of times to cut. Logging off and terminating.');
while loggedin do
Logout;
Terminatescript;
end else
begin
Writeln('Could not find bank.');
terminatescript;
end;
end.

FreaksLumbySpinner

THis is my latest work and the one that I have the highest hopes for :D

program New;
{.include SRL/SRL.scar}

Var x,y: Integer;


Procedure DeclarePlayers;
begin
HowManyPlayers :=1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :=''; //Username For Runescape
Players[0].Pass :=''; //Password For Runescape
Players[0].Nick :=''; //Three Words From Your Username
Players[0].Active:=True; //If This Player Is Active
Writeln('You are using '+inttostr(howmanyplayers)+' player[s]');
Writeln('Good Luck');

MouseSpeed:=25;//Adjust If You Want.

end;

procedure SettingUp;

begin
ClearDebug;
SetupSRL;
ActivateClient;
DeclarePlayers;
if not Loggedin then
LoginPlayer;
MakeCompass('N');
SetAngle(True);
end;

function FindBanking: Boolean;

Var Points: TPointArray;
Var Pointing: TPoint;

begin
if not FindSymbol(x,y,'bank')then
begin
FindColorsTolerance(Points,{col},MSX1,MSY1,MSX2,MSY2,5);
Pointing:= MiddleTPA(Points);

t:= GetSystemTime+5000;
while not FlagPresent or not (GetSystemTime>t) do
begin
Mouse(Pointing.x,Pointing.y,2,2,true);
Wait(30+random(300));
end;

FFlag(0);
Exit;
end;
FFlag(0);
end;

function OpeningBank: Boolean;

Var Bank: TPointArray;
Var Bank2: TPointArray;

begin
FindColorsTolerance(Bank,{col},MSX1,MSY1,MSX2,MSY2,5);
if GetArrayLength(Bank)>0 then
begin
Bank2:=SplitTPA(Bank,3);
SortATPASize(Bank2,True);
MMouse(Bank2[0][0].x, Bank2[0][0].y, 1,1);
if not IsUpText('pen') then
Exit;
begin
Mouse(x,y,1,1,false);
Wait(20+random(200));
ChooseOption('pen');
end;
end;

if FindObjTPA(x, y,{col}, 5, -1, 2, 2, 1, ['pen','ank'])then
begin
Mouse(x,y,0,0,false);
Wait(20+random(200));
ChooseOption('pen');
end;
end;

procedure FindingFlax;

begin
if PinScreen then
InPin(PinNumber);
if BankScreen then
begin
FixBank;
if FindColorTolerance(x,y,{col flax},MSX1,MSY1,MSX2,MSY2,250)then
begin
Mouse(x,y,0,0,false);
Wait(RandomRange(300,600));
ChooseOption('All');
else
begin
writeln('Cant find flax.');
TerminateScript;
end;
CloseBank;
Exit;
end;
Writeln('Couldnt find bank screen.');
end;

Procedure GoToStaircase;

Var StairPoints: TPointArray;
Var i,t2, Stairs: Integer;
Var s: String;

begin
MakeCompass('N');
SetAngle(True);
Stairs := DTMFromString('78DA63E463606050674001895A4C609A11CA6' +
'71404122AA86ADEBD7BC7F00B590D3790D04455F3FEE537B83920' +
'0C00437407C5');
if DTMRotated(Stairs,x,y,MMX1,MMX2,MMY2,MMX2) then
if rs_onminimap(x,y)then
begin
Mouse(x,y,0,0,true);
Wait(RandomRange(300,600));
FFlag(0);
end;
FindColorsSpiralTolerance(x, y, StairPoints, 4280671, MSX1, MSY1, MSX2, MSY2, 5);
t2:= GetArrayLength(StairPoints);
SetArrayLength(StairPoints, t2);
for i:=0 to t2-1 do
begin
MMouse(StairPoints[i].x, StairPoints[i].y, 0, 0);
Wait(RandomRange(300,600));
s:= rs_getuptext;
if not Pos('air',s)<>0 then
Break;
end;
if i = t2-1 then
begin
Writeln('Could not find Stairs.')
Terminatescript;
end;
x:= StairPoints[i].x;
y:= StairPoints[i].y;
Mouse(x,y,0,0,true);
FreeDTM(Stairs);
end;

function FindWheelSymbol: Boolean;

begin
if FindSymbol(x, y, 'SpinningWheel')then
begin
Mouse(x,y,0,0,true);
Wait(RandomRange(300,600));
FFlag(0);
Exit;
end;
If FindSymbol(x,y, 'Quest')then
Continue;
if FindColorTolerance(x, y, {col}, MMCX1, MMCY1, MMCX2, MMCY2, 5)then
if rs_OnMinimap(x,y)then
begin
Mouse(x, y, 0, 0, true);
FFlag(0);
Writeln('Found.');
end;
end;

function FindWheel: Boolean;

Var WheelPoints: TPointArray;
Var CTS2: Integer;
Var s2: String;

begin
CTS2:= GetColorToleranceSpeed;
FindColorsTolerance(WheelPoints, {col}, MSX1, MSY1, MSX2, MSY2, 5);
for i:= 0 to High(WheelPoints)-1 do
begin
MMouse(WheelPoints[i].x, WheelPoints[i].y, 0, 0);
Wait(RandomRange(300,600));
s2:= rs_getuptext;
if not Pos('heel', s2)<>0 then
Break;
end;
if i = High(WheelPoints) then
begin
Writeln('Could not find wheel.');
Terminatescript;
end;
x:= WheelPoints[i].x;
y:= WheelPoints[i].y;
Mouse(x, y, 0, 0, true);
end;

function CountColorTBox(Point1: Integer; Point2: Integer; Color: Integer; DistEnc: Integer; Box: TBox): Integer;

begin
Box.x1:= Point1.x+DistEnc;
Box.y1:= Point1.y+DistEnc;
Box.x2:= Point2.x-DistEnc;
Box.y2:= Point2.y-DistEnc;
Result:= CountColor(Color, Box.x1, Box.y1, Box.x2, Box.y2);
end;

procedure ClickFlax;

Var FlaxBox: TBox;
Var FlaxArray: TPointArray;
Var t4: Integer;

begin
if FIndColorTolerance(x, y, {col}, MSX1, MSY1, MSX2, MSY2, 5)then
if CountColorTBox(x, y, {col}, 5, FlaxBox)>2 then
begin
FindColorsTolerance(FlaxArray, {col}, FlaxBox.x1, Flaxbox.y1, Flaxbox.x2, Flaxbox.y2, 5);
t4:= GetArrayLength(FlaxArray);
for i:= 0 to t4-1 do
begin
MMouse(FlaxArray[i].x, FlaxArray[i].y , 1, 1);
Wait(RandomRange(300,600));
if isuptext('lax')then
begin
Result:=ChooseOption('All');
Break;
end;
end;
end;
Result:=false;
end;

function CountDTMInv(DTM: integer): Integer;

Var
Slot: Integer;
DBox: TBox;

begin
if not logged in then exit;
Gametab(4);
for i:=1 to 28 do
begin
dbox:=invbox(slot);
if FindDTM(DTM,x,y,slot.x1,slot.y1,slot.x2,slot.y2)then
Inc(result);
end;
end;

procedure WhileSpinning;

Var z: Integer;

begin
Writeln('Starting to spin.');
Gametab(4);
z:=GetSystemTime+50000;
while CountDTMInv(Flax)<28 or GetSystemTime<z do
begin
FindNormalRandoms;
Wait(RandomRange(2,300));
end;
end;

function BackToStaircase: Boolean;

Var StairPoints2: TPointArray;
Var i,t3,CTS: Integer;
Var s2: String;

begin
MakeCompass('N');
SetAngle(True);
Stairs: DTMFRomString....
if DTMRotated(Stairs,x,y,MMX1,MMX2,MMY2,MMX2) then
if rs_onminimap(x,y)then
begin
Mouse(x,y,0,0,true);
Wait(RandomRange(300,600));
FFlag(0);
end;
CTS:=GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(.0606,.014);
FindColorsSpiralTolerance(x, y, StairPoints2, 7568253, MSX1, MSY1, MSX2, MSY2, 5);
ColorToleranceSpeed(CTS);
for i:=0 to High(StairPoints2)-1 do
begin
Mouse(StairPoints2[i].x, StairPoints2[i].y, 0, 0, left);
Wait(RandomRange(300,600));
s2:= rs_getuptext;
if not Pos('air',s2)<>0 then
Break;
end;
if i = High(StairPoints2)-1 then
begin
Writeln('Could not find Stairs.')
Terminatescript;
end;
x:= StairPoints2[i].x;
y:= StairPoints2[i].y;
Mouse(x,y,0,0,false);
Wait(randomrange(300,600));
ChooseOption('Up');
end;



Procedure DBSRF;

begin
if BankScreen then
begin
FixBank;
DepositAll;
FindingFlax;
end;
end;

begin
SettingUp;
FindBanking;
OpeningBank;
repeat
FindingFlax;
GoToStaircase;
FindWheelSymbol;
FindWheel;
ClickFlax;
WhileSpinning;
BackToStaircase;
FindBanking;
OpeningBank;
DepositingBS;
DBSRF;
until(not loggedin);
end.


THis is of course still in navity but it'll get there.

For you newer scripters you can use all the ideas in here. You'll find that I didn't register them ;D. Steal all the ideas you want. Please, if these helped you in getting some ideas in some way plz tell me, I'd really appreciate it :D

NCDS

2008-12-24 03:00:14

How old are these? Do you plan on ever finishing them all?

Blumblebee

2008-12-24 03:02:11

Haha, i thought i was the only one that made scripts and got bored halfway through, :p really good coding though, they all look very well done.

FreakyMonkey

2008-12-24 03:03:12

We'll see, some were actually in BETA testing stage, until certain "Frustrating events" (new updates) in particular kinda changed my mind about some of them.

I'm still planning on working with the Lumby Spinner though. Its on course (for the while)

@bee —Thank you. I empathize buddy. Making the script is the EASY part lol, testing is a bitch.

NCDS

2008-12-24 03:05:56

Yeah I know what your saying, I have alot of incomplete ones to that never made it very far out of frustration. Although, I dont really think I knew what I was doing when I tried making them but, whatever lol. Anyways, if you want help with anything with any of those let me know, Im just looking for more experience.

FreakyMonkey

2008-12-24 03:24:36

For sure dude. I've got a butt load of knowledge about functions but I'm way to lazy

NCDS

2008-12-24 03:30:38

my MSN is [email]dstmmetal@hotmail.com[/email] get at me!