SRL Archive - Archive

whales - SRL Member Application Form


whales

2007-04-22 22:32:58

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

What is the meaning to life?


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


Programming Knowledge


Other Communitys
Freddy1990.com Dylock.net

How Long have You Played Runescape
Four Years

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

Over the past year I have been in and out of Runescape cheating and haven't until recently began to really enjoy it. I now have learned quite a bit about SCAR and scripting and I really enjoy scripting. I have met a lot of great people and truly enjoy visiting the site every day. While I am not able to dedicate 100% of my time to this site I do put in as much time as I possibly can. Hopefully I can continue to learn and contribute more to the community.

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

Barb Fly Fisher
{

__ __ __ __ _ __ _______ ___
\ \ / / | | | | / \ | | | ____| / |
\ \ /\ / / | |__| | / _ \ | | | |___ | \_|
\ \/ \/ / | __ | / /_\ \ | | | ___| |_ |
\ /\ / | | | | / / \ \ | |_____ | |____ | \ /
\/ \/ |__| |__| /__/ \__\ |________| |_______| \__/


===================================
| Barbarian FlyFisher 1.1B |
===================================


||||||||||||||||||||||||||||Instructions||||||||||||||||||||||||||||||||||||||

* Start at the fishing area
* Fly Fishing Rod and Feathers in 1st and 2nd
* Fill Out Players and Loads
* Post suggestions/results On SRL-Forums
* Do not use any parts of this script without permission from myself!

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}


Program FlyFisher;


{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Fishing.Scar}
{.include SRL/SRL/Misc/Wilderness.Scar}


Var

Rx, Ry, SC ,TC, x1, y1, XL, YL, L, F : Integer;

SuccesfulBanks, UnsuccesfulBanks, BeginLevel, CurrentLevel,
SkillStart, SkillEnd, SkillGained, Tbank : Integer;

FishSpotDTM, TroutDTM, SalmonDTM, FlyRodDTM, FeatherDTM : Integer;

WaterBmp : Integer;

Inbank, Running : boolean;

Const

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

Loads = 6; //Loads Per Player

{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}

{===========================Fill Out Players================================}

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

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active :=True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active :=True;

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active :=false;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active :=false;

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active :=false;

Players[5].Name :='';
Players[5].Pass :='';
Players[5].Nick :='';
Players[5].Active :=false;

Players[6].Name:='';
Players[6].Pass:='';
Players[6].Nick :='';
Players[6].Active :=false;

Players[7].Name:='';
Players[7].Pass:='';
Players[7].Nick :='';
Players[7].Active :=false;

Players[8].Name:='';
Players[8].Pass:='';
Players[8].Nick :='';
Players[8].Active :=false;


end;



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


Procedure LoadBmps;
begin

WaterBMP := BitmapFromString(8, 11, 'z78DA33333437733431238' +
'2340003B351F5434A3DA90000113B6E37');

end;

{--------------------------------------------------------------------------}


Procedure LoadDTMs;
begin

FishSpotDTM := DTMFromstring('78DA63FCC4C0C070910105CC38F086410E483' +
'342F98C1F31D5E4B52C4255F399083520BB2E10A1E6127E3500EE' +
'831204');


TroutDTM := DTMFromString('78DA633CCCC4C0B08D9101199C38708041124' +
'88344FF0301E331A09A5DA86A20B23012485F01AA594940CD3EA0' +
'9A3D04D49C02AAD94E40CD21A09A8DF8D50000002F0F65');


SalmonDTM := DTMFromString('78DA6374676260086564400687AA7319B8803' +
'448F43F10300603D578A0AA81C8C248206D07541343408D1B504D' +
'140135CE4035FE04D40412560300F30F0977');


FeatherDTM := DTMFromString('78DA633CCBC4C0D0CDC8800CB6AD59CDC00FA' +
'441A2FF8180F13C504D3FAA1A882C8C04D297806A6A09A8390D54' +
'3389809AC3F8ED02610067180CEB');


FlyRodDTM := DTMFromString('78DA63FCC8C4C0D0C3C8800C1A13F918B8813' +
'448F43F1030FE03AA6944550391859140FA1950CD14026A3E00D5' +
'CC20A0E63D504D070135DF816AFAF0AB0100FA320E15');


end;

{--------------------------------------------------------------------------}


Procedure Randoms;
begin
Wait(10)
HandleWhirlPool;
findnormalrandoms;
HandleWhirlPool;
If (FindFight) then
begin
RunawayDirection('w');
Wait(3000+random(750));
FindSymbol(x,y,'fish');
Mouse(x+1,y-1,5,5,True);
Flag;
end;
if (not(loggedin)) then
NextPlayer(false);
end;


{--------------------------------------------------------------------------}

Function HaveRod:Boolean;
Begin
LoadDTMs;
If (FindInvDTM( x, y, FlyRodDTM)) then
begin
Result := True;
end
else
Begin
Result :=False;
end;
FreeDTM( FlyRodDTM );
end;
{--------------------------------------------------------------------------}

Function HaveFeathers:Boolean;
Begin
LoadDTMs;
If (FindInvDTM( x, y, FeatherDTM)) then
begin
Result := True;
end
else
Begin
Result :=False;
end;
FreeDTM( FeatherDTM );
end;

{--------------------------------------------------------------------------}

Function GotEquipment:Boolean;
begin
If (HaveFeathers) and (HaveRod) then
begin
Result := True;
end
Else
Begin
Result := False;
If not(HaveRod) then
Begin
Writeln(Players[CurrentPlayer].Name+' doesnt have a fly rod in the Inventory.');
Wait(250);
End;
If not(HaveFeathers) then
Begin
Writeln(Players[CurrentPlayer].Name+' doesnt have feathers in the Inventory.');
Wait(250);
end;
NextPlayer(False);
end;
end;

{--------------------------------------------------------------------------}
//This is SRL's get symb color edited for my use :)
{==========================================================================}

function WhalesGetSymbolColor(var rx, ry: Integer; Name: string): Integer;
//Thank you SCAR 2.0 for making this much easier, work in progress
var
Bitmap, Color, c: Integer;
acc: Extended;
begin
if (LowerCase(Name) = 'fishing spot') or (LowerCase(Name) = 'fish') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
'BB6B6878');
Color := 16743189;
end;
FindDeformedBitmapToleranceIn(Bitmap, x, y, 659, 42, 692, 58, 70, 0, True,
acc);
if (acc > SymbolAccuracy) then
begin
repeat
c := c + 5;
if (FindColorTolerance(x, y, Color, x, y, x + 15, y + 5, c)) then
begin
Result := GetColor(x, y);
rx := x;
ry := y;
end;
until (Result > 0) or (c > 40);
If (C > 40 ) then
begin
Writeln('At southernSpot..Searching North')
FindDeformedBitmapToleranceIn(Bitmap, x, y, 659, 42, 692, 58, 70, 0, True,acc);
if (acc > SymbolAccuracy) then
begin
if (FindColorTolerance(x1, y1, Color, x, y, x + 15, y + 5, c)) then
begin
Result := GetColor(x1, y1);
rx := x1;
ry := y1;
end;
end;
end;
If (Result > 0) then
begin
Writeln('At NorthernSpot')
end;
end;
FreeBitmap(Bitmap);
end;

{========================================================================}
//Same thing here ;)

function WhalesFindSymbol(var rx, ry: Integer; Name: string): Boolean;
begin
if (GetSymbolColor(rx, ry, LowerCase(Name)) > 0) then
Result := True;
end;

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

//All the Previous functions lead to this

Procedure NextSpot;
Var rx, ry:integer;
begin
if not (FindDtmIn( X, Y, FishSpotDTM, 9, 9, MSX2, MSY2 )) then
begin
WhalesFindSymbol( rx,ry,'fish');
Mouse(rx,ry,4,4,True);
Flag;
end;
end;

{--------------------------------------------------------------------------}

Procedure RandomzMovement;
begin
Case random(25) of
1: MMouse(900,73,21,500);
2: MMouse(101,238,73,21);
3: MMouse(194,10,321,453);
4: MMouse(534,123,423,100);
5: MMouse(150,7,10,30);
7: MMouse(608,290,199,200);
6: MMouse(421,321,123,124);
8: MMouse(2,123,1,9);
9: MMouse(345,543,222,111);
end;
end;

{--------------------------------------------------------------------------}

Procedure CaseRotate;
Begin
Case Random (10) of
1: SendArrowSilentWait(0,1000 + Random(232));
2: SendArrowSilentWait(1, 323 + Random(232));
3: SendArrowSilentWait(2, 234 + Random(232));
4: SendArrowSilentWait(2, 654 + Random(232));
5: SendArrowSilentWait(3, 456 + Random(121));
7: SendArrowSilentWait(1, 234 + Random(452));
6: SendArrowSilentWait(3, 123 + Random(434));
8: SendArrowSilentWait(3, 776 + Random(232));
9: SendArrowSilentWait(1, 232 + Random(232));
end;
end;

{--------------------------------------------------------------------------}

Procedure RunOn;
Begin
If not(Running) then
begin
SetRun(True);
Running := True;
end;
end;

{--------------------------------------------------------------------------}

Procedure PreventLogout;
Var NoLog:Integer;
begin
If not (InvFull) then
begin
Nolog := Random(30);
case Nolog of
1: RandomRClickEvery(2 + Random(8));
2: HoverSkill('random', false);
3: RandomChatEvery(10 + Random(5));
4: RotateEvery(11 + Random(10));
5: LeaveScreenEvery(5 + Random(5));
6: HoverEvery(15 + Random(5),'fishing');
8: PickUpMouse;
9: BoredEvery(9 + Random(24));
10: RandomZMovement;
end;
end;
GameTab(4);
end;

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

Function Fishing : Boolean;
Begin
LoadDTMs;
Wait(1000);
Wait(200)
MakeCompass('w');
HighestAngle;
If (FindDtmIn( XL, YL, FishSpotDTM, 230, 211, 268, 234)) Then
Begin
Wait(3000);
Result := True
End
Else
Begin
Result := False;
Writeln('Not Fishing');
end;
FreeDTM(FishSpotDTM);
end;



{--------------------------------------------------------------------------}

Procedure FindClickFish;
begin
Flag;
If not ( InvFull ) and ( GotEquipment ) then
begin
LoadDTMs; {Credit To Dankness for the DTM used Below}
NextSpot;
if (FindDtmIn( X, Y, FishSpotDTM, 9, 9, MSX2, MSY2 )) then
begin
MMouse(x,y,1,1);
If (Isuptext('ure'))or (Isuptext('ish'))or (Isuptext('ing')) or (Isuptext('pot'))
then
Mouse(x,y,1,1,True);
MMouse(0+random(200),0+random(200),55,55);
Wait(1000);
Repeat
Randoms;
ClickToContinue;
wait(1500+random(321));
PreventLogout;
RandomzMovement;
Randoms;
NextSpot;
If not (loggedin) then
break;
until (not (Fishing)) or (invFull) or not (loggedin) or not (Gotequipment)
end;
end;
FreeDTM(FishSpotDTM);
end;

{--------------------------------------------------------------------------}

Procedure Reps;
begin
If not (InvFull) then
begin
Repeat
FindClickFish;
Wait(150);
{HandleWhirlPool;}
until (InvFull) or not (loggedin) or not (GotEquipment)
If not ( GotEquipment ) then
begin
Writeln('You dont have the equipment, check inv and restart script')
NextPlayer(False);
end;
end;
CurrentLevel := GetskillLevel('fishing');
SkillEnd := GetXP('fishing');
end;

{--------------------------------------------------------------------------}

Procedure GetWaterColor;
Var Tx, Ty:Integer;
begin
LoadBMPs;
if (findbitmapTol(Tx,Ty,WaterBMP,568,12,704,143)) then
Begin
WaterColor:= Getcolor(Tx,Ty);
end
Else
writeln('Cannot locate Water!');
end;

{--------------------------------------------------------------------------}

Procedure ToTheBank;
begin
If (InvFull) then
begin
RunOn;
MakeCompass('n');
GetWaterColor;
FindColor(x,y,WaterColor, 582, 10, 707, 30 );
Wait(125);
Mouse(x - 20 , y + 5 , 10, 1,True);
CaseRotate;
Wait(750);
If not (FindSymbol(Rx, Ry, 'Bank')) then
Begin
If (F < 3) then FFlag(50);
If (F > 3) then FFlag(10);
end;
end;
end;

{--------------------------------------------------------------------------}

Procedure ToFish;
Begin
If not (InvFull) then
begin
RunOn;
MakeCompass('s');
GetWaterColor;
FindColor(x,y,WaterColor, 582, 10, 707, 30 );
Wait(300);
Mouse(x + 15, y + 12 , 3, 3, True);
Wait(250);
FFlag(45);
end
Else
Begin
Writeln('Did not Deposit.. Bank pin may be the problem');
TerminateScript;
end;
end;

{--------------------------------------------------------------------------}

Procedure WalkToFishSpot;
Begin
Writeln('======================');
Writeln('Heading Back to Fish..');
Writeln('======================');
Repeat
ToFish;
Wait(15);
Until (Findsymbol(x,y,'fish'))
Wait(250+random(200));
Mouse(x + 5, y, 0,1,True);
Writeln('At FishSpot');
Writeln('=============');
Flag;
end;

{--------------------------------------------------------------------------}




{--------------------------------------------------------------------------}

Procedure InEBank;
Begin
If not (FlagPresent) then
HighestAngle;
Wait(100+random(99));
MarkTime(Tbank);
repeat
OpenBank3;
If (TimeFromMark(Tbank) > 4000) and (not (BankScreen)) then
begin
MakeCompass('n');
Mouse(263+random(6),45+random(6),9,7,true);
CaseRotate;
end;
until (BankScreen)
If (BankScreen) then
Inbank := True;
end;

{--------------------------------------------------------------------------}

Procedure DepositFish;
begin
LoadDTMs;
if (Inbank = True) then
begin
Writeln('=============');
Writeln('Storing Fish');
{=========Trout============}
TC:= TC + CountItemDTM(TroutDTM);
FindDTMIn(X,Y,TroutDTM,517,214,725,454);
Wait(120);
Mouse(x,y,2,3,False);
ChooseOption(x,y,'Store All');
Wait (200);
{=========Salmon============}
SC:= SC + CountItemDTM(SalmonDTM);
FindDTMIn(X,Y,SalmonDTM,517,214,725,454);
Wait(120);
Mouse(x,y,2,3,False);
ChooseOption(x,y,'Store All');
{===========================}
SuccesfulBanks := SuccesfulBanks + 1;
UnsuccesfulBanks := 0;
FreeDTM(TroutDTM);
FreeDTM(SalmonDTM);
CloseBank;
End
Else
Begin
Writeln('No Fish To Store!');
UnsuccesfulBanks := UnsuccesfulBanks + 1;
end;
end;

{--------------------------------------------------------------------------}

Procedure WalkToBank;
begin
If (InvFull) then
MakeCompass('n');
begin
F := 0;
Writeln('The Color of Water: ' +IntToStr(watercolor));
Writeln('==============================');
Repeat
TotheBank;
F := F + 1;
Wait(300+random(99));
If (Inwilderness) then
begin
Repeat
MakeCompass('n');
Mouse(613,132,10,10,true);
Flag;
Until (FindSymbol(Rx,Ry,'Bank')) or (findsymbol(x,y,'water')) or (findsymbol(x,y,'cook'))
If not(FindSymbol(Rx,Ry,'Bank')) then
begin
Logout;
NextPlayer(false);
end;
end;
Until(FindSymbol(Rx,Ry,'Bank'))
If (FindSymbol(Rx,Ry,'Bank')) then
begin
Writeln('=============');
Writeln('Arriving at bank');
Mouse(Rx - 3, Ry + 7, 1, 1, True);
Flag;
Wait(123+random(75));
Flag;
Writeln('In the Bank');
end;
end;
end;

{--------------------------------------------------------------------------}

Procedure Progress;
begin
SkillGained := SkillEnd-SkillStart;

Writeln('===========================================');
Writeln('PROGRESS');
Writeln('---------');
Writeln('Current Player: '+ Players[CurrentPlayer].Name)
Writeln('Starting Fishing Level was '+InttoStr(BeginLevel))
Writeln('Current Fishing Level is '+IntToStr(CurrentLevel))
Writeln('EXP gained: '+IntToStr(skillgained))
Writeln('-------------------------------');
Writeln('Worked for: ' +TimeRunning);
Writeln('Succesful Banks: ' + IntToStr(SuccesfulBanks));
Writeln('Trout Stored: ' + IntToStr(TC));
Writeln('Salmon Stored: ' + IntToStr(SC));
Writeln('Unsuccesful Banks: ' + IntToStr(UnsuccesfulBanks));
Writeln('===============================================');

SRLrandomsReport;
end;


{--------------------------------------------------------------------------}

Procedure Dowhat;
Begin
BeginLevel := GetSkillLevel('fishing');
SkillStart := GetXP('fishing');
Repeat
Wait(199+random(199));
Reps;
Wait(199+random(199));
WalkToBank;
Wait(199+random(199));
InEBank;
Wait(199+random(199));
DepositFish;
Progress;
L:=L+1;
WalkToFishSpot;
until (l=loads)
L := 0;
Progress;
NextPlayer (True);
Running := False;
end;



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

begin
SetupSRL;
ScriptID := '112';
SetupSRLFishing;
DeclarePlayers;
Repeat
Wait(100);
DoWhat;
if not (loggedin) then
NextPlayer (False);
until (False)
end.

Prayer Leveler

{

__ __ __ __ _ __ _______ ___
\ \ / / | | | | / \ | | | ____| / |
\ \ /\ / / | |__| | / _ \ | | | |___ | \_|
\ \/ \/ / | __ | / /_\ \ | | | ___| |_ |
\ /\ / | | | | / / \ \ | |_____ | |____ | \ /
\/ \/ |__| |__| /__/ \__\ |________| |_______| \__/

===================================
| Prayer Leveler Version 1.32 |
===================================

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
_______________
_______________/REGULAR PICK UP\________________
|================================================|
| RegularBury = True |
| Best if ran in Edgeville Dungeon rats cave |
| Start Logged in |
| If your character has white hair wear a helmet |
==================================================

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
_________
___________________/Bank Bury\____________________
|==================================================|
| RegularBury = False |
| One Player Can Now Have Pin Number |
| Bones Can Be Anywhere in Bank |
| BigBones = True forBigBones |
| BigBones = False For RegualrBones |
====================================================

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| }


Program WhalesPrayerLeveler;

{.include SRL\SRL.SCAR}

Var

Bonecount, Loads, PickTime,
BankedBones,TotalBones, TotalLoads,
RunCount :Integer;

BankBone, BankBig :Integer;

TakeBone, TakeBoneY :Integer;

DropArray : Array [0..8] of Integer;

FX, FY, RX, RY, T, D: Integer;

ax, aY, xX, yY, I, TT: Integer;

const
{=================================================================|
FILL the following OUT accordingly |
==================================================================|
|
| }
RegularBury = True; {For Normal Bury |
| }
bonecolor = 11185078 ;{Yours Or Mine |
| }
loadsnum = 2 ; {numberof loads you want done per player |
| }
PinNum = '4321'; {If using multiple player all must have same # |
| }
BigBones = False;{ False:RegularBury | True: Bigbones |
{==================================================================}

procedure DeclarePlayers;
begin
HowManyPlayers := 4;
NumberOfPlayers(HowManyPlayers); // Leave do not change
CurrentPlayer :=0; // 0,1,2,3

Players[0].Name :=''; // Runescape name between quotes
Players[0].Pass :=''; // Rs Password here
Players[0].Nick :=''; // Use three letters in order after your first letter
Players[0].Active := True; // If you want them Used

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active := true;

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active := true;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active := true;

end;


{==========================================================================
--------------------------No need to go any further------------------------
===========================================================================}


Procedure LoadDTM;
begin

BankBone := DTMFromString('78DA633CC9C8C02003C448E0CAB9730CFC401' +
'A24FA1F0818AF0259B2A86A40B25C503560DE09204B85809A7340' +
'9608013507812C71026AF60359D2F8D500007F080C22');

BankBig := DTMFromString('78DA639464646098C98002F66DDD0AA619A17' +
'C4665206B21031A604455A30264CD20A04604C89A4B400D3F9035' +
'8B801A39206B0A0135C284D50000B84E0729');

end;


{----------------------------------------------------------------------------}


Procedure LoadBMP;
begin

//Below is of 'ke Bo'
TakeBone := BitmapFromString(33, 4, 'z78DA7373C30E0C9080A98' +
'BA98989392E596471884AFCA49B9BA581890184443507214EAA7A' +
'62DC8FCB17F8C589F705E5E238A2C20D9BEDF8002EBFD3DF17F85' +
'3082E3713EF7EDAF90200317FB27B');

//Below is of yellow take
TakeBoneY := BitmapFromString(25, 2, 'z78DA73737373333070C3' +
'209181A98BA98989392E596471884AFCA49B9BA58189018444350' +
'7214E8C7B70B90ABF38F1AEC214070017B74201');

end;

{----------------------------------------------------------------------------}

Procedure Drop;
Begin
Droparray[0]:= 1188768;
Droparray[1]:= 1413554;
Droparray[2]:= 6294794;
Droparray[3]:= 65535;
Droparray[4]:= 2836316;
Droparray[5]:= 7015738;
Droparray[6]:= 1122718;
Droparray[7]:= 2111562;
Droparray[8]:= 7081275;
for I := 1 to 8 do
begin
if (finditemcolortol(DropArray[I],10)) then
begin
mmouse(x,y,3,1);
if (Isuptext('oggle')) then
begin
Mouse(650,190,4,4,true);
Exit;
end else
Mouse(x,y,2,2,false);
chooseoption(x,y,'Drop');
Writeln('Droping and Item')
end;
end;
end;



{----------------------------------------------------------------------------}

Procedure Report;
begin
writeln('')
writeln('============= WhalesPrayerLeveler 1.31 =============')
writeln('----------------------------------------------------')
Writeln('Current Player: '+ Players[CurrentPlayer].Name)
If (RegularBury = False) then
begin
Writeln('Bank Bury = True')
writeln('Worked for: '+TimeRunning)
writeln('Bank Bones Buried: '+IntToStr(BankedBones))
writeln('Loads done: '+IntToStr(loads))
end;
if (RegularBury = True) then
begin
Writeln('Picking and Burying')
writeln('Loads done: '+IntToStr(loads))
writeln('Bones Picked: '+IntToStr(bonecount))
writeln('Bones Buried: '+IntToStr((loads)*28))
writeln('Worked for: '+TimeRunning)
end;
Writeln('|||||||||||||||||||Script Totals||||||||||||||||||||')
Writeln('Bones picked: '+IntToStr(TotalBones))
Writeln('Loads buried: '+IntToSTr(TotalLoads))
Writeln('||||||||||||||||||||||||||||||||||||||||||||||||||||')
Writeln('----------------------------------------------------')
writeln('============= WhalesPrayerLeveler 1.31 =============')
writeln('')
end;




{==========================Bank Burying Procedures==========================}

Procedure LocateBone;
begin
if (findDTMIn(FX,FY,BankBone,19,58,463,283)) then
begin
Status('Bone is found, withdrawing...');
MMouse(FX,FY,1,1);
Mouse(Fx,FY,1,1,False);
Wait(130)
ChooseOption(RX, RY, 'Withdraw X');
Wait(1000+Random(75))
TypeSend('28'+Chr(13));
end;
begin
if (not(findDTMIn(FX,FY,BankBone,19,58,463,283))) then
begin
if (bankscreen) then
writeln('You Dont have any more regular bones');
Closebank;
Logout;
NextPlayer(true);
end;
end;
end;

{----------------------------------------------------------------------------}

Procedure LocateBigBones;
begin
if (findDTMIn(aX,aY,BankBig,19,58,463,283)) then
begin
Status('Bone is found, withdrawing...');
MMouse(aX,aY,1,1);
Mouse(ax,aY,1,1,False);
Wait(130)
ChooseOption(xX, yY, 'Withdraw X');
Wait(1000+Random(75))
TypeSend('28'+Chr(13));
end;
begin
if (not(findDTMIn(FX,FY,BankBig,19,58,463,283))) then
begin
if (bankscreen) then
begin
writeln('You Dont have any more Big Bones');
Closebank;
Logout;
NextPlayer(true);
end;
end;
end;
end;

{----------------------------------------------------------------------------}

Procedure BankFail;
begin
if (not(BankScreen)) then
begin
Writeln('NO BANK!');
Logout;
nextplayer(true);
end;
end;

{----------------------------------------------------------------------------}

procedure PIN;
begin
if (Pinscreen) then
begin
Status('entering Pin #..');
wait(25+random(20))
InPin(PinNum);
end;
end;

{----------------------------------------------------------------------------}

Procedure LocateBigOrSmall;
Begin
if (bigbones = true) then
begin
locateBigBones;
end;
if (BigBones = false) then
begin
LocateBone;
end;
end;


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


Procedure Randoms;
begin
findnormalrandoms;
wait(88)
solvepinball;
wait(15)
drop;
findmaze;
wait(20)
findtalk;
If (FindObjMultiText(x,y,'hea','eas','ant',4278554,3)) then
begin
writeln('Shit, found Freaky Forester logging out current and logging in next player')
Logout;
Nextplayer(False);
Report;
end;
end;

{----------------------------------------------------------------------------}

Procedure NoBan; // Based off WT-Fakawi's Anti Ban in RATZ
begin
case random(20) of
1: MMouse(400,10,399,9);
2: RandomRClickEvery(7+random(2));
3: LeaveScreenEvery(2+random(1));
4: GameTab(3 + Random(2));
5: BoredEvery(9 + Random(5));
6: RandomRClickEvery(2+random(1));
7: LeaveScreenEvery(6+random(1));
8: LeaveScreenEvery(2+random(1));
9: RandomRClick;
end;
GameTab(4);
end;

{----------------------------------------------------------------------------}

procedure Skillcheck;
begin
case random(55) of
1: Getxp('prayer');
3: Getxp('prayer');
end;
end;

{----------------------------------------------------------------------------}

Procedure RunRandomly;
begin
case random(5) of
1: SetRun(True);
end;
end;

Procedure Rotate;
begin
case random(10) of
1: SendArrowSilentWait(1,845+random(299));
3: SendArrowSilentWait(3,857+random(345));
5: SendArrowSilentWait(0,420+random(211));
6: Wait(200+random(50));
8: SendArrowSilentWait(2,220+random(121));
9: SendArrowSilentWait(1,845+random(299));
10: RunRandomly;
end;
end;


{================All of the following are used in ChooseOption===============}
{----------------------------------------------------------------------------}

Procedure Cancel;
var
x1, y1, x2: Integer;
begin
if (FindText(x, y, 'Cancel', upchars, x1, y1, x2, 502)) then
begin
Mouse(x + 9, y + 3, 2, 2, True);
end;
end;

{----------------------------------------------------------------------------}
Procedure MoveToCancel;
begin
Mousespeed := 21;
Case Random(4) of
1:MMouse(x - 175, y + 55, 16, 15);
2:MMouse(x - 87, y + 175, 5, 10);
3:MMouse(x + 76, y - 175, 16, 15);
4:MMouse(x + 175, y - 87, 5, 10);
end;
Mousespeed:=15;
end;

{----------------------------------------------------------------------------}
{This procedure is used in the following function when you misclick.
This will move the mouse away sometimes instead of just clicking Cancel.}

Procedure HumanCancel;
begin
Case Random(8) of
1: MoveToCancel;
2: MoveToCancel;
3: MoveToCancel;
4: MoveToCancel;
5: MoveToCancel;
6: MoveToCancel;
7: MoveToCancel;
8: Cancel;
end;
end;

{----------------------------------------------------------------------------}

{This is SRL's choose option function edited to find BMPs instead of text}
function ChooseOptionBMP(x, y, Bitmap1, BitMap2: Integer ): Boolean;
var
x1, y1, x2, y2, LeftCorner, RightCorner: Integer;
begin
LeftCorner := BitmapFromString(4, 4, 'z78DA33753135313137C5' +
'411A600064715CEA914500CACE13F0');

RightCorner := BitmapFromString(4, 4, 'z78DA33753135313137' +
'C5200D30002E35F8C501C9C013F0');

if (FindBitmap(LeftCorner, x1, y1)) and (FindBitmap(RightCorner, x2, y2)) then
begin
if (FindBitMapToleranceIn(Bitmap1, x, y, x1, y1, x2, 502,75)) or (FindBitMapToleranceIn(Bitmap2, x, y, x1, y1, x2, 502,75)) then
begin
Result := True;
Mouse(x + random(4), y, 2, 0, True);
end
else HumanCancel;

{if (FindText(x, y, 'Cancel', upchars, x1, y1, x2, 502)) then
Mouse(x + 9, y + 3, 2, 2, True);}
end;
FreeBitmap(LeftCorner);
FreeBitmap(RightCorner);
end;

{============================================================================}
{----------------------------------------------------------------------------}

Procedure MouseTrue;
begin
Mouse(x - 1,y,3,2,true);
wait(22+random(23));
end;

{----------------------------------------------------------------------------}

Procedure MouseFalse;
begin
LoadBMP;
Mouse(x,y,2,2,false);
Flag;
ChooseOptionBMP(x,y,TakeBone,TakeBoneY);
Wait(35+random(25));
FreeBitmap(TakeBone);
FreeBitmap(TakeBoneY);
end;

{----------------------------------------------------------------------------}

Procedure Clicking;
Begin
Case Random(5) of
1: MouseTrue;
2: MouseFalse;
3: MouseFalse;
4: MouseFalse;
5: MouseFalse;
end;
end;

{----------------------------------------------------------------------------}

Procedure ROTATEU;
Begin
If (RegularBury=True) then
begin
repeat
Rotate;
NoBan;
If (findMSColorTol(x,y,BoneColor,5)) then
begin
break;
end;
until (FindMSColorTol(x,y,BoneColor,5))
end;
end;

{----------------------------------------------------------------------------}

Procedure Pick;
Begin
if FindObjMultiText(x,y,'ake','Bon','nes',bonecolor,3) then
Begin
FFlag(5);
RunCount:= Runcount + 1;
Clicking;
bonecount:=bonecount+1;
end;
end;

{----------------------------------------------------------------------------}

Procedure Bury;
begin
if (inventoryfull)then
begin
loads:=loads+1;
D := TimeFromMark(PickTime);
Writeln('Picktime in MILSeconds = '+inttostr(D));
TT := D div 1000;
T := TT div 60;
Writeln('It took '+inttostr(T )+' minutes or '+inttostr(TT)+' seconds to pick.')
repeat
Randoms;
clickitemcolortol(bonecolor,4,true);
wait(500)
SkillCheck;
{Drop;}
until(InvEmpty)
end;
end;

{----------------------------------------------------------------------------}

Procedure BuryBanked;
begin
repeat
OpenBank3;
rotate;
PIN;
wait(232)
BankFail;
until( bankscreen)
LocateBigOrSmall;
CloseBank;
Wait(150)
repeat
clickitemcolortol(bonecolor,4,true);
wait(500);
BankedBones := BankedBones + 1;
until(invempty)
loads:= loads + 1;
end;

{----------------------------------------------------------------------------}

Procedure Repitition;
begin
if (RegularBury = False) then
begin
BuryBanked;
end;
If (RegularBury = True) then
begin
marktime(picktime);
repeat
Randoms;
RotateU;
Pick;
If (Runcount > 5+random(4)) then
begin
RunRandomly;
RunCount:= 0;
end;
until(inventoryfull)
Randoms;
Bury;
Picktime:=0;
Report;
end;
end;

{----------------------------------------------------------------------------}

Procedure Loopey;
begin
repeat
Repitition;
until(loads = loadsnum)
TotalBones := TotalBones + BoneCount;
TotalLoads := TotalLoads + Loads;
SRLrandomsReport;
Loads := 0;
BoneCount := 0;
Logout;
NextPlayer(True);
end;

{================================Setup=====================================
{==========================================================================}

Procedure SetitAll;
begin
DeclarePlayers;
LoadDTM;
LoadBMP;
writeln(' _______________________________')
writeln(' | |')
writeln(' |-------3---------------3-------|')
wait(200)
writeln(' |-----------2--------2----------|')
wait(200)
writeln(' |---------------1---------------|')
wait(200)
writeln(' | |')
writeln(' | WhalesPrayerLeveler |')
writeln(' |_______________________________|')
If not (loggedin) then begin NextPlayer(True); end;
Randoms;
end;

{================================Main Loop=================================
{==========================================================================}

Begin
SetupSRL;
ScriptID := '103';
SetitAll;
repeat
Randoms;
Loopey;
until(false)
end.


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

WhiteShadow

2007-04-22 22:35:53

Yes from me.

Rune Hacker

2007-04-22 22:42:25

I don't see anything I can say bad about it really lol. Im gonna say yes also.

neG

2007-04-22 23:05:59

Nice work, easy to read. Yes from me also :)

JAD

2007-04-22 23:14:20

From: Rune Hacker
I don't see anything I can say bad about it really lol. Im gonna say yes also.


Can't see anything bad about it? These are not correct standards :p I'll probably vote yes too.. but later. Good scripts.

Doofy

2007-04-22 23:40:41

yeah…… the standards are not correct and some things can be shortened….

NO WAY JOSE!!


jk lol its a yes from me :p

JuKKa

2007-04-23 00:53:17

add fail safes, else it looks good.

~alex~

2007-04-23 03:03:01

Not bad man.

Yes from me

Bobarkinator

2007-04-23 07:50:42

Yes from me

Abyssal

2007-04-23 07:57:50

Definitely, very nice two scripts there.

Johura

2007-04-23 09:06:05

Yes for me. Since im such a nice guy and have nothing else to do i fixed your standards :).

GoF

2007-04-23 09:11:41

I think ive seen u apply before too :) Alot of improvements.

Yes from me, keep up the good work.

WT-Fakawi

2007-04-23 09:51:24

Accepted.