SRL Archive - Archive

faster789 - SRL Member Application Form


faster789

2008-04-17 21:33:20

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

What is the meaning to life?


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


Programming Knowledge
Basic Pascal

Other Communitys
None

How Long have You Played Runescape
About 3 or 4 years

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

As some of you may know, this is my second time applying for membership. Please note that the first time, it's not that I didn't make it but I wanted to re-apply because I knew I was going to get members, but not with everyone's satisfaction. So I've updated and developed on my script. I have a put a month's work into it, so hopefully it pays off.
Thanks
Faster789 aka BoBo

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

// -----------------------------------------------------------------------------------------------------//

// ------------------------------------- WELCOME TO BOH'S MINER PICK!!! -------------------------------//

// =============================Please Post BUGS AND PROGESS REPORTS!!! ===============================//

// ==================================== Version 2.5!!! =====================================//

//===========================RECOMMENDED TO USE RUNE PICKAXE FOR BEST RESULTS!======================//

//==========================================VERSION 2.5!!=============================================//

//-----------------NOTE!!!!!! DO NOT WIELD PICKAXE------------------------//

//==============TRY TO HAVE EXTRA PICKAXES FIRST BANK SLOT!!============///

//=================NOTE: Have ONLY ONE pickaxe, and extras in First Bank SLOT!AT LEAST HAVE STEEL PICKAXE NO LOWER!!!==========//

//================Reminder!!: BE SURE TO USE PICKAXE Steel pick or Better!!===============//

//====== VERSION 1.0 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

//===================================================================//
//===================================================================//

//====== VERSION 1.1 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//


// =========== **** Fixes**** ============//
// ==== ---> Many Small Bugs <--- =======//
// ==== ---> Flawless Finding Mine<--- =======//

//===================================================================//
//===================================================================//

//====== VERSION 2.0 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

// ================NEW!!!===================//
// ==== ---> Auto Responder! <---- =====//
// ==== ---> Flawless Walking! <---- =====//


// =========== **** Fixes**** ============//
// ==== ---> Many Small Bugs <--- =======//
// ==== ---> Fixed bank finding! <--- =======//
//============================================================//
//====== VERSION 2.1 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

// ================NEW!!!===================//
// ==== --->Took out responding to double speed! <---- =====//
// ==== ---> Flawless Walking! <---- =====//


// =========== **** Fixes**** ============//
// ==== ---> Many Small Bugs <--- =======//

//============================================================//
//====== VERSION 2.2 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

// =========== **** Fixes**** ============//
// ==== ---> Many Small Bugs <--- =======//
// ==== ---> Better Signature! <--- =======//
// == ---> Fixed Walking( WALKING IS PERFECT NOW!)<--- =======//

//============================================================//
//====== VERSION 2.3 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

// =========== **** Fixes**** ============//
// ==== ---> Small Bugs <--- =======//
// == ---> Fixed Walking( WALKING IS PERFECT NOW!)<--- =======//

//============================================================//
//====== VERSION 2.4 =======//
// ========== FEATURES THE FOLLOWING!!!======//

// ===== ----> ---Banking!--- <---- ======//
// ===== ----> --Power Mining!-- <--- ======//
// ===== ----> ----AntiBan!---- <--- ======//
// ===== ----> -Random Finding!- <--- ======//
// ===== ----> - Gas Finding!- <--- ======//
// ===== ----> Progress Reports! <--- ======//
// ===== ---> SRL STATS <--- ======//
// ==== ---> Broken PickHead Finder <-- =====//

// =========== **** Fixes**** ============//
// ==== ---> Small Bugs <--- =======//
// == --->Added small thing..to Walking( WALKING IS PERFECT NOW!)<--- =======//

//===================================================================//
//===================================================================//

// ========== CREDITS =========//
// --> Thanks to Torrent Of Flame for his awesome TUTS! <--//
// --> Thanks to MasterKill for his FindGas Procedure :)!! <--//
// --> Thanks to the following people for helping me fix very small bugs <--//
// --> Cazax and NaumanAkhlaQ(helped a lot with bugs), Dude Richard, PriSoner,KoKouKo,AFI,HyperSecret! <-- //
// --> And thanks to Iron Man for teaching me about Walkpath!(although not used in script) ;) <--//
// --> Thanks to Putnam11 for showing how to implement Smart...! <--//
// --> (all of my bugs were post in scripting help :) <--//
// PS: If you helped me and I did not mention you at all or properly PLEASE notify ME!!//

// ===================HAPPY AUTOING!!=================================//



program Miner;
{.include SRL/SRL/misc/SMART.scar}
{.include SRL/SRL.scar}

var LoadsNum, Level, PickStick, Tries, Trys, GasNum, TryTofind, Pickaxe, bankz : integer;
WaitForGasTime, Stick, BrokenPick, x, y, WaitPerRock, Pickaxehead : integer;

//-----------------NOTE!!!!!! DO NOT WIELD PICKAXE------------------------//
//==============TRY TO HAVE EXTRA PICKAXES FIRST BANK SLOT!!============///

// ============FILL OUT BELOW===============//
const
//YOU NEED TO HAVE SRL STATS!!!//
SRLStatsID = ''; //your srl stats id example : '0000'
SRLStatsPass = ''; // your srl stats password example : 'password'

// Version Number//
VerNum = '2.4';

//Smart Setup//
SmartWorld = 117; // what world do you want to login to??
Signed = True; // leave alone..

// Script Setup//
Bank = 'True'; // True or False? if True it will bank ore, if False it will drop ore
LoadsPerPlayer = 100; // how many loads per player?
MorePickaxe = 'True'; // True means you have more pickaxes in first bankslot and false if you have no extra pickaxes
Pickaxeuse = 'rune'; // what pickaxe are you using? rune, addy, mith, steel, iron, bronze

//-----------------NOTE!!!!!! DO NOT WIELD PICKAXE------------------------//

procedure DeclarePlayers;
begin
HowManyPlayers :=1; // how many players do you want
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0
Players[0].Name := 'username'; //Character Name
Players[0].Pass := 'password'; //Character Pass
Players[0].Nick := 'sern'; //Nickname 3 - 4 Letter's of char name
Players[0].Active := True; //true if you want this player to be ran in the script false if you dont want it to run
end;

// ===========DO NOT TOUCH BELOW UNLESS YOU KNOW WHAT YOUR DOING!!!================//


procedure Signature;
begin
ClearDebug;
writeln(' BoBo presents The Best Varrock East Mining Owner!(Power Miner + Banker) 2 IN 1! :');
Writeln(' ___ ___ ');
Writeln('| \ / | __ / \_____ _____ ______ ');
Writeln('| \ \/ / || || __ |/ ___ \| __ \ ');
Writeln('| |\__/| || || | | | ____/| | \/ ');
Writeln('|__| |__||__||__| |__|\____ \|__| ');
Writeln(' \/ ');
Writeln( 'Version '+VerNum+' Made By: Faster789 AKA BoBo ');
wait(3000 + random(750));
end;

procedure Proggy;

begin
ClearDebug;

Writeln('-------------------------------------');
Writeln('Please post proggies to the place');
Writeln(' you got this script from! ');
Writeln('-------------------------------------');
Writeln('|| Worked For: ' +TimeRunning+ '||');
if Bank = 'False' then
Writeln('|| Dropped '+ IntToStr(LoadsNum)+ ' Ores||');
if Bank = 'True' then
Writeln('|| Banked ' + IntToStr(LoadsNum)+ ' Load(s)||');
Writeln('|| Gasses Found ' + IntToStr(GasNum)+ ' ||');
Writeln('Current Mining Level Is ' +IntToStr(Level));
Writeln('-------------------------------------');
SRLRandomsReport;
end;

procedure SetupSmart;
begin
SmartSetupEx(SmartWorld, false, Signed);
ClearDebug;
WriteLn('Setting up Smart... Please Hold...');
Wait(10000 + random(5000));
SetTargetDC(SmartGetDC);
While not(SmartReady) do Wait(100);
end;


procedure CheckLevel;
begin
if (not(LoggedIn)) then Exit;
Wait(1500 +random(250));
Level := GetSkillInfo('mining', false);
end;


Procedure Myrandom;
begin
if(FindFight)then
RunAway('N', True,1,15000);
FindNormalRandoms;
end;

procedure Antiban;
begin
if(not(LoggedIn)) then Exit;
case Random(40) of
1: RandomRClick;
2: HoverSkill('Mining', False);
3: begin
RandomMovement;
SetAngle(true);
end;
4: BoredHuman;
5: AlmostLogout;
6: PickUpMouse;
end;
begin
ReportVars[1] := ReportVars[1] + 1;
end;
end;

function Leveled:boolean;
var x, y : integer;
begin
if(not(LoggedIn)) then Exit;
Result:=FindColor(x, y, 8388608, 14, 372, 495, 389)
if (result) then
begin
WriteLn(' ===Advanced A Mining Level==');
Wait(1500 +random(500));
clicktocontinue;
end;
end;

procedure FixHead;
begin
if(not(LoggedIn)) then Exit;
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
PickStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
GameTab(4);
Wait(550 + random(450));
if DTMRotated(PickaxeHead, x, y, mix1, miy1, mix2, miy2) then
Mouse(x, y, 1, 2, True);
If DTMRotated(PickStick, x, y, mix1, miy1, mix2, miy2) then
Mouse(x, y, 2, 1, True);
ReportVars[4] := ReportVars[4] + 1;
end;


function SearchHead:boolean;
begin
if(not(LoggedIn)) then Exit;
SetAngle(false);
Trytofind := 0;
repeat
Case Players[CurrentPlayer].strings[0] of
'Rune': begin
If FindObjCustom(x, y, ['ead', 'ick'], [8944476], 10) then
Mouse(x, y, 2, 2, True);
end;
'Addy': begin
If FindObjCustom(x, y, ['ead', 'ick'], [5070925], 10) then
Mouse(x, y, 2, 2, True);
end;
'Mith': begin
If FindObjCustom(x, y, ['ead', 'ick'], [4205098], 10) then
Mouse(x, y, 2, 2, True);
end;
'Steel': begin
If FindObjCustom(x, y, ['ead', 'ick'], [9079701], 10) then
Mouse(x, y, 2, 2, True);
end;
'Iron': begin
If FindObjCustom(x, y, ['ead', 'ick'], [7039858], 10) then
Mouse(x, y, 2, 2, True);
end;
'Bronze': begin
If FindObjCustom(x, y, ['ead', 'ick'], [2704730], 10) then
Mouse(x, y, 2, 2, True);
end;
end;
if (not (FindDTM(PickaxeHead, x, y, 525, 182, 745, 473))) then
begin
WriteLn(' Uh-oh attempted ' + IntToStr(Trytofind) + 'to find pickaxe head');
Trytofind := Trytofind + 1;
Wait(4000);
end else
begin
Writeln(' WOOOT!! FOUND PICKAXE HEAD!! ');
Result := true;
FixHead;
end;
Pickaxe := DTMFromString('78DA6314606060E06540038C4824909605125' +
'C04D470020976026A40662810502302245808A801B9590CBF1A00' +
'612000CF');
if FindDTM(Pickaxe,x, y, 525, 182, 745, 473) then
begin
WriteLn(' ' + Players[CurrentPlayer].Name + ': "yay found pickaxehead!!"');
if Players[CurrentPlayer].Booleans[0] then
Mouse(x, y, 0, 0, True);
Trytofind := 5;
PickAxeAttached := PickAxeAttached + 1;
end;
if (Trytofind = 2) then MakeCompass('W');
if (Trytofind = 3) then MakeCompass('E');
if (Trytofind = 4) then MakeCompass('S');
if (Trytofind = 1) then MakeCompass('N');
until (Trytofind = 5)
if (not (FindDTM(Pickaxe,x, y, 525, 182, 745, 473))) then
begin
if Morepickaxe = 'True'then
begin
Writeln(' Dang Sorry, Could not find the pickaxe head, going to bank to get new one ');
if Morepickaxe = 'False'then
begin
Writeln(' Sorry, but we could not find the pickaxe head, logging out! ');
Proggy;
Exit;
Logout;
end;
end;
end;
end;

function Loadiron: Integer; // DONT.. bother ask why i use this as a DDTM, just love DDTMS and nothing bad with using this.
var
ironMP: TDTMPointDef;
ironSP: array of TDTMPointDef;
ironDDTM: TDTM;

begin
SetArrayLength(ironSP, 5);

ironMP.x := 20;
ironMP.y := 17;
ironMP.areasize := 1;
ironMP.areashape := 0;
ironMP.color := 2305870;
ironMP.tolerance := 9;

ironSP[0].x := 6;
ironSP[0].y := 23;
ironSP[0].areasize := 1;
ironSP[0].areashape := 0;
ironSP[0].color := 65536;
ironSP[0].tolerance := 0;

ironSP[1].x := 13;
ironSP[1].y := 7;
ironSP[1].areasize := 1;
ironSP[1].areashape := 0;
ironSP[1].color := 65536;
ironSP[1].tolerance := 0;

ironSP[2].x := 24;
ironSP[2].y := 8;
ironSP[2].areasize := 1;
ironSP[2].areashape := 0;
ironSP[2].color := 65536;
ironSP[2].tolerance := 0;

ironSP[3].x := 30;
ironSP[3].y := 15;
ironSP[3].areasize := 1;
ironSP[3].areashape := 0;
ironSP[3].color := 65536;
ironSP[3].tolerance := 0;

ironSP[4].x := 18;
ironSP[4].y := 26;
ironSP[4].areasize := 1;
ironSP[4].areashape := 0;
ironSP[4].color := 65536;
ironSP[4].tolerance := 0;

ironDDTM.MainPoint := ironMP;
ironDDTM.SubPoints := ironSP;
result := AddDTM(ironDDTM);
end;

function Gorock: Integer;
var
rockMP: TDTMPointDef;
rockSP: array of TDTMPointDef;
rockDDTM: TDTM;
rockcolor : integer;
begin
RockColor :=FindRockColor;
SetArrayLength(rockSP, 5);

rockMP.x := 17;
rockMP.y := 6;
rockMP.areasize := 1;
rockMP.areashape := 0;
rockMP.color := 1;
rockMP.tolerance := 255;

rockSP[0].x := 22;
rockSP[0].y := 13;
rockSP[0].areasize := 1;
rockSP[0].areashape := 0;
rockSP[0].color := rockcolor;
rockSP[0].tolerance := 1;

rockSP[1].x := 13;
rockSP[1].y := 13;
rockSP[1].areasize := 1;
rockSP[1].areashape := 0;
rockSP[1].color := rockcolor;
rockSP[1].tolerance := 1;

rockSP[2].x := 16;
rockSP[2].y := 17;
rockSP[2].areasize := 1;
rockSP[2].areashape := 0;
rockSP[2].color := rockcolor;
rockSP[2].tolerance := 1;

rockSP[3].x := 19;
rockSP[3].y := 16;
rockSP[3].areasize := 1;
rockSP[3].areashape := 0;
rockSP[3].color := rockcolor;
rockSP[3].tolerance := 1;

rockSP[4].x := 23;
rockSP[4].y := 17;
rockSP[4].areasize := 1;
rockSP[4].areashape := 0;
rockSP[4].color := rockcolor;
rockSP[4].tolerance := 1;

rockDDTM.MainPoint := rockMP;
rockDDTM.SubPoints := rockSP;
result := AddDTM(rockDDTM);
end;

function Gorock2: Integer;
var
rock1MP: TDTMPointDef;
rock1SP: array of TDTMPointDef;
rock1DDTM: TDTM;
rockcolor : integer;
begin
RockColor :=FindRockColor;
SetArrayLength(rock1SP, 5);

rock1MP.x := 75;
rock1MP.y := 50;
rock1MP.areasize := 1;
rock1MP.areashape := 0;
rock1MP.color := 1;
rock1MP.tolerance := 255;

rock1SP[0].x := 70;
rock1SP[0].y := 78;
rock1SP[0].areasize := 1;
rock1SP[0].areashape := 0;
rock1SP[0].color := rockcolor;
rock1SP[0].tolerance := 1;

rock1SP[1].x := 73;
rock1SP[1].y := 56;
rock1SP[1].areasize := 1;
rock1SP[1].areashape := 0;
rock1SP[1].color := rockcolor;
rock1SP[1].tolerance := 1;

rock1SP[2].x := 69;
rock1SP[2].y := 55;
rock1SP[2].areasize := 1;
rock1SP[2].areashape := 0;
rock1SP[2].color := rockcolor;
rock1SP[2].tolerance := 1;

rock1SP[3].x := 67;
rock1SP[3].y := 52;
rock1SP[3].areasize := 1;
rock1SP[3].areashape := 0;
rock1SP[3].color := rockcolor;
rock1SP[3].tolerance := 1;

rock1DDTM.MainPoint := rock1MP;
rock1DDTM.SubPoints := rock1SP;
result := AddDTM(rock1DDTM);
end;

function RoadzDDTM: Integer;
var
RoadMP: TDTMPointDef;
RoadSP: Array [0..4] of TDTMPointDef;
RoadDDTM: TDTM;
RoadColor : integer;
begin
RoadColor :=FindVarrockRoadColor;
SetArrayLength(RoadSP, 5);

RoadMP.x := 103;
RoadMP.y := 20;
RoadMP.AreaSize := 0;
RoadMP.AreaShape := 0;
RoadMP.Color := RoadColor;
RoadMP.Tolerance := 0;

RoadSP[0].x := 103;
RoadSP[0].y := 20;
RoadSP[0].AreaSize := 0;
RoadSP[0].AreaShape := 0;
RoadSP[0].Color := 7172983;
RoadSP[0].Tolerance := 1;

RoadSP[1].x := 81;
RoadSP[1].y := 80;
RoadSP[1].AreaSize := 0;
RoadSP[1].AreaShape := 0;
RoadSP[1].Color := 2114127;
RoadSP[1].Tolerance := 1;

RoadSP[2].x := 86;
RoadSP[2].y := 78;
RoadSP[2].AreaSize := 0;
RoadSP[2].AreaShape := 0;
RoadSP[2].Color := 2247250;
RoadSP[2].Tolerance := 1;

RoadSP[3].x := 90;
RoadSP[3].y := 78;
RoadSP[3].AreaSize := 0;
RoadSP[3].AreaShape := 0;
RoadSP[3].Color := 1385287;
RoadSP[3].Tolerance := 1;

RoadSP[4].x := 89;
RoadSP[4].y := 84;
RoadSP[4].AreaSize := 0;
RoadSP[4].AreaShape := 0;
RoadSP[4].Color := 2114127;
RoadSP[4].Tolerance := 1;

RoadDDTM.MainPoint := RoadMP;
RoadDDTM.SubPoints := RoadSP;
result := AddDTM(RoadDDTM);;
end;

procedure Playcheck; // awsome FailSafe.. if connection lost during game..
var CHx, CHy, ClickHereToPlay : integer;
begin

ClickHereToPlay := BitmapFromString(33, 1, 'z78DA758E510E80300843' +
'AF54C0E2F6E94CB8FF9134123392693FFA41FA4A23A6F0888443D' +
'26DC000A7DCE7F458F23EE444E721444B6A0F53D58FE44F4365B7' +
'067D37AC3D95AADF2F50962C79');
if Not(LoggedIn) then exit;
if not(FindBitmapToleranceIn(ClickHereToPlay, CHx, CHy, 250, 270, 530, 390, 5)) then
begin
exit;
end else
begin
Wait(1000 + Random(500));
Mouse(CHx, CHy, 50, 20, True);
exit;
end;
end;

procedure GasFound;
begin
if Not (LoggedIn) then exit;

Writeln (' ** Gas Detected ** ');
Mouse(630, 90, 8, 8, true);
FFlag(0);
Flag;
WaitForGasTime := 0;
Wait(500 + random(500));
repeat
Wait(1000);
WaitForGasTime := WaitForGasTime + 1;
until(WaitForGasTime > 29)
WriteLn(' yay its gone....');
GasNum := GasNum + 1;
ReportVars[3] := ReportVars[3] + 1;
end;

procedure FindGas; // BY MASTERKILL!
begin
If Not LoggedIn then exit;
if (FindColorTolerance (x, y, 10596274, 0, 0, 500, 500, 1))
or (FindColorTolerance (x, y, 8950933, 0, 0, 500, 500, 1))
or (FindColorTolerance (x, y, 9017755, 0, 0, 500, 500, 1))
or (FindColorTolerance (x, y, 7900302, 0, 0, 500, 500, 1)) then
GasFound;
end;

procedure Bankgo;
begin
if FindDTM(Loadiron, x, y, mix1, miy1, mix2, miy2) then
begin
mouse (x,y,2,2,false);
Wait(200+random(1000));
ChooseOption('All');
Wait (1000 +random(300));
CloseBank;
ReportVars[0] := ReportVars[0] + 1;
LoadsNum := LoadsNum + 1;
ClearDebug;
Proggy;
Inc(Players[CurrentPlayer].Banked);
if Players[CurrentPlayer].Banked mod LoadsPerPlayer = 0 then
begin
CheckLevel;
Proggy;
NextPlayer(True);
end;
end;
end;

procedure Walktobank;
begin

Bankz := DTMFromString('78DA637CCFCCC0A0C3C800026C0C10F0E6E32' +
'B062E200D12FD0F048CF731D5BC7BF70EAE0604183F00D5A8A0AA' +
'790DC4186A6409A801B94710B77BC06A2E03D5C8A3AAE11764465' +
'1030054AF150B');

if Not(LoggedIn) then exit;
SetAngle(True);
MakeCompass('N');
SetRun(False);
if not RadialRoadWalk(FindVarrockRoadColor,0,90,65,-2,0)then
begin
FindDTM(RoadzDDTM, x, y, MMX1, MMY1, MMX2, MMY2);
Wait (1000+ random(200));
end else
begin
Wait (1000+ random(200));
end;
begin
RadialRoadWalk(FindVarrockRoadColor,270,390,65,-2,0);
Myrandom;
FFlag(0);
RadialRoadWalk(FindVarrockRoadColor,270,390,65,-2,0);
Myrandom;
FFlag(0);
end;
repeat
Tries:= Tries +1;
Playcheck;
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,270,390,65,-2,0);
Wait (1000+ random(200));
FFlag(0);
until FindDTM(gorock, x, y, MMX1, MMY1, MMX2, MMY2)or FindDTM(gorock2, x, y, MMX1, MMY1, MMX2, MMY2) or (Tries >15)
if Tries >30 then
begin
WriteLn(' Dang, couldnt find rock! ');
Logout;
NextPlayer(false);
end;
begin
if FindDTM(gorock, x, y, MMX1, MMY1, MMX2, MMY2)or FindDTM(gorock2, x, y, MMX1, MMY1, MMX2, MMY2)then
begin
Mouse(x, y, 1, 1, true);
WriteLn(' found rock ');
FFlag(0);
RadialRoadWalk(FindVarrockRoadColor,240,330,65,-2,0);
Playcheck;
FindBank('veb');
bankgo;
exit;
begin
if not FindBank('veb') then
writeln('couldnt find bank..');
Logout;
Nextplayer(false);
end;
end;
end;
end;

function FindStoneColor1: Integer;
var
GC, a, l, TestColor: integer;
var
P:array of Tpoint;
begin
GC := 3561615;
Flag;
FindColorsSpiralTolerance(MMCX, MMCY, P, GC, MMX1,MMY1,MMX2,MMY2, 60);
l:=GetArrayLength(P);
for a:= 0 to l-1 do
begin
TestColor := GetColor(P[a].x,P[a].y);
if (GetColor(P[a].x-1,P[a].y)=TestColor-461068) then
begin
Result := TestColor;
Exit;
end;
end;
Result := 0;
end;

procedure WithdrawPick;
begin
if Not(LoggedIn) then exit;
OpenBankFast('veb');
if FindDTM(Loadiron, x, y, mix1, miy1, mix2, miy2) then
begin
mouse (x,y,2,2,false);
Wait(200+random(1000));
ChooseOption('All');
Wait (1000 +random(300));
end;
begin
Fixbank;
Withdraw(1, 1, 1);
CloseBank;
Writeln('woot! got another pickaxe!');
end;
end;

procedure Makesurepick;
begin
if(not(LoggedIn)) then Exit;
BrokenPick := DTMFromString('78DA6334676660A8656440058C4824907603A' +
'A2926A0C61BA8A688801A3BA09A4C026A8C806A728950D34A408D' +
'13504D3E7E3500C8FC050A');
Stick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
if FindDTM(Stick, x, y, 532, 183, 751, 485) then
begin
writeln('uhoh lost pickhead...guna look for it..');
SearchHead;
end;
begin
if FindDTM(BrokenPick, x, y, 532, 183, 751, 485) then
begin
writeln(' dang, gasfound did not work I guess...please report this bug if you got it. ');
if MorePickAxe = 'True' then
WalktoBank;
WithdrawPick;
Proggy;
Logout;
NextPlayer(true);
if MorePickAxe = 'False' then
WalktoBank;
Proggy;
Logout;
NextPlayer(false);
end;
end;
end;

function Energy70: Boolean;
var
Colour: string;
Level: Integer;
begin
Level := GetMMLevels('energy', Colour);
Result := Level > 70;
end;

procedure WalktoMine;
begin
if Not(LoggedIn) then exit;
SetAngle(True);
Myrandom;
MakeCompass('N');
if Energy70 then
begin
SetRun(True);
end else SetRun(false);
RadialRoadWalk(FindVarrockRoadColor,0,90,65,-2,0);
FFlag(5);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,55,110,65,-2,0);
FFlag(0);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,90,230,65,-2,0);
FFlag(0);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,90,230,65,-2,0);
Playcheck;
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,90,230,65,-2,0);
Playcheck;
Myrandom;
Trys:= 0;
repeat
Trys:= Trys + 1;
Myrandom;
Playcheck;
If FindColorTolerance (x, y, FindStoneColor1, MMX1, MMCY, MMX2, MMY2, 0) then break;
If not FindColorTolerance (x, y, FindStoneColor1, MMX1, MMCY, MMX2, MMY2, 0)then
RadialRoadWalk(FindVarrockRoadColor,90,230,35,-2,0);
Wait(700+ random(250));
FFlag(5);
if Trys > 7 then
begin
Tries:= 0
repeat
Tries:= Tries + 1;
Writeln('got lost, trying to get back :)');
RadialRoadWalk(FindVarrockRoadColor,270,390,65,-2,0);
if Tries > 7 then
begin
Logout;
Writeln('player lost when reaching mines...');
NextPlayer(false);
end;
until FindSymbol(x,y,'mining');
end;
until FindColorTolerance (x, y, FindStoneColor1, MMX1, MMCY, MMX2, MMY2, 0);
If FindColorTolerance (x, y, FindStoneColor1, MMX1, MMCY, MMX2, MMY2, 0) then
begin
WriteLn('Found Mining Spot');
Playcheck;
Mouse(x,y,7,7,true);
FFlag(0);
if not FindObjCustom(x, y, ['ock', 'Mine'], [2832993], 6)then
begin
SetAngle(false);
Makesurepick;
FindGas;
Leveled;
Myrandom;
Mouse(x, y, 1, 1, True);
Myrandom;
exit;
end;
end;
end;

procedure MakeSureRock;
begin
if(not(LoggedIn))then
Exit;
MakeCompass('N');
begin
SetAngle(false);
if FindObjCustom(x, y, ['ock', 'Mine'], [2832993], 6)then
Makesurepick;
FindGas;
Leveled;
Myrandom;
Mouse(x, y, 1, 1, True);
Myrandom;
exit;
end;
end;


function FindOres(var tx, ty: Integer):boolean; //Made by Me :)...
var
i: integer;
IronPoints: TPointArray;
Iron2D : T2DPointArray;
IronPoint : TPoint;
begin
if not LoggedIn then exit;
x:= MSCX;
y:= MSCY;
begin
FindColorsSpiralTolerance(tx,ty,IronPoints,2832993,MSX1,MSY1,MSX2,MSY2,7);
Iron2D:= TPAtoATPAEx(IronPoints,3,3);
for i:= 0 to length(Iron2D)-1 do
begin
if not LoggedIn then exit;
Ironpoint:= MiddleTPA(Iron2D[i]);
tx:= IronPoint.X;
ty:= IronPoint.Y;
MMouse(tx,ty,2,2);
wait(90+random(50));
if isuptext('ine')then
begin
GetMousePos(tx,ty);
result:= true;
Exit;
end else Continue;
end;
end;
end;

procedure MinedaRock;
var
i, MiningTime : Integer;
Blacktext : string;
begin
MakeCompass('N');
SetAngle(True);
SetRun(True);
if Pickaxeuse ='rune' then
begin
WaitPerRock :=(3000+ random(500));
end;
if Pickaxeuse ='addy' then
begin
WaitPerRock :=(4000+ random(500));
end;
if Pickaxeuse ='mith'then
begin
WaitPerRock :=(6000+ random(500));
end;
if Pickaxeuse ='steel'then
begin
Writeln('Try to use a better pickaxe');
WaitPerRock :=(8000+ random(500));
end;
if Pickaxeuse ='iron'then
begin
Writeln('Are you serious? an Iron pickaxe, come back with at least a steel pickaxe');
Logout;
NextPlayer(false);
exit;
end;
if Pickaxeuse='bronze'then
begin
Logout;
Writeln('LOL, noob get at LEAST a steel pickaxe');
Nextplayer(false);
exit;
end;
for i := 0 to 2 do
repeat
if Not(LoggedIn) then exit;
Myrandom;
FindGas;
if not FindOres(x, y) then
begin
Trys:= 0;
repeat
Trys := Trys + 1;
wait(50+ random(20));
if Trys > 30 then break;
until FindOres(x, y);
end else
Mouse(x,y,2,2,True);
MarkTime(MiningTime);
Wait(1500+ random(250));
Myrandom;
FindGas;
repeat
BlackText := GetBlackChatMessage;
if (getcolor(486, 384) = 0) then
Wait(250+Random(300));
until (Pos('anage', BlackText) <> 0) or (Pos('vailable', BlackText) <> 0) or (TimeFromMark(MiningTime) > (WaitperRock +random(250))); // this is not an endless loop because it has mark time used..
until (InvFull);
if not(InvFull) then
begin
MinedaRock;
end else
begin
writeln( 'Inventory Full walking to bank.' );
end;
end;


procedure Tobank;
begin
if(not(LoggedIn)) then Exit;
MakeCompass('N')
SetAngle(True);
WalktoMine;
Antiban;
Myrandom;
MakeSureRock;
SetRun(True);
MinedaRock;
Antiban;
Myrandom;
Walktobank;
end;

procedure Drop;
begin
if Not(LoggedIn) then exit;
Antiban;
GameTab(4);
for x := 2 to 28 do
Begin
if Random(101) < 3 then
Begin
MouseItem(x, true);
MouseItem(x + 1, true);
end;
MouseItem(x, false);
ChooseOption('rop');
Myrandom;
LoadsNum := LoadsNum + 1;
ReportVars[2] := ReportVars[2] + 1;
Proggy;
end;
end;

procedure ToDrop;
begin
if(not(LoggedIn)) then Exit;
MakeCompass('N');
SetAngle(True);
WalktoMine;
Antiban;
Myrandom;
MakeSureRock;
SetRun(True);
repeat
Minedarock;
Drop;
Antiban;
Myrandom;
Inc(Players[CurrentPlayer].Banked);
until Players[CurrentPlayer].Banked mod LoadsPerPlayer = 0;
begin
CheckLevel;
Proggy;
NextPlayer(True);
end;
end;

begin
SetUpSmart;
Signature;
SetupSRL;
ScriptID :='766';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPass;
if (SRLID = '') or (SRLPassword = '') then
begin
ClearDebug;
if (SRLStatsID = '') and not(SRLStatsPass = '') then writeln('Nice try, trying to trick it with just a ID :P');
writeln('You dont have SRL stats, To set up a SRL stats ID go here: http://www.stats.srl-forums.com');
TerminateScript;
end;
begin
DeclarePlayers;
if LoggedIn then Logout;
LoginPlayer;
Wait(2000+random(500));
SetChat('off', 1);
CheckLevel;
Writeln('Current Mining Level Is ' +IntToStr(Level));
if Bank = 'False' then
begin
repeat
ToDrop;
if not Loggedin then NextPlayer(False);
until False;
end;
if Bank = 'True' then
begin
repeat
Tobank;
if not Loggedin then NextPlayer(False);
until False;
end;
end;
end.



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

Daniel

2008-04-17 21:54:37

Over-all a good script. But you could shorten up some functions and procedures, and instead of a string for true or false you could've used boolean. Some standards in some places are a bit weird but that doesn't really matter.

I vote yes! Good luck getting into members.

faster789

2008-04-17 22:02:28

From: IP-Drowner
Over-all a good script. But you could shorten up some functions and procedures, and instead of a string for true or false you could've used boolean. Some standards in some places are a bit weird but that doesn't really matter.

I vote yes! Good luck getting into members.


Thanks for the advice and vote!:)

R0b0t1

2008-04-17 22:13:10

Yes.


What I found most was your scripting standards. That doesn't matter though, thats anesthetics.


EDIT: If anyone votes NO I will RAPE YOU.

mikevskater

2008-04-17 22:14:22

Nice first script, seen you've worked on it a while. Im going to say yes!
Btw you could make this neater:

function Leveled:boolean;
var x, y : integer;
begin
if(not(LoggedIn)) then Exit;
Result:=FindColor(x, y, 8388608, 14, 372, 495, 389)
if (result) then
begin
WriteLn(' ===Advanced A Mining Level==');
Wait(1500 +random(500));
clicktocontinue;
end;
end;

To:

function Leveled:boolean;
var x, y : integer;
begin
if(not(LoggedIn)) then Exit;
if FindColor(x, y, 8388608, 14, 372, 495, 389) then
begin
WriteLn(' ===Advanced A Mining Level==');
Wait(1500 +random(500));
clicktocontinue;
end;
end;
There is some other standards that could be fixed but all in all good script

faster789

2008-04-17 22:15:57

From: R0b0t1
Yes.


What I found most was your scripting standards. That doesn't matter though, thats anesthetics.


EDIT: If anyone votes NO I will RAPE YOU.


LOL, thanks buddy. Yep, I think I can improve on my standards. And thanks for the vote.;)

EDIT:
@Mikevskate
Thanks for the tips. And thanks for vote..;)

Edit: Whoa!…A no..:( dang..can that person please explain why..:confused:

Iron Man

2008-04-17 22:25:34

I am going to vote yes, because I believe you want to learn and you are going to keep learning if or if not you get in. And you know the most of what is needed to get in IMO.

You need to add failsafes for your walking. Like

if not RadialWalk(etc....) then
if not RadialWalk(etc....) then
begin
NextPlayer(true);
Exit;
end;

You don't need Logout; before NextPlayer because thats included in it.
Theres a couple parts where script can be shortened. But the overall script looks good.

First script I've voted on yay.

P1nky

2008-04-17 22:25:58

wow i didnt read like in details but DAM I GOT TO SAY!

you covered most of the requirements by just looking with a GLANCE!

YEZ

edit: after reading 1 of the previous posts yeah failsafes are needed always :) just a heads up

faster789

2008-04-17 22:27:14

From: Iron man
I am going to vote yes, because I believe you want to learn and you are going to keep learning if or if not you get in. And you know the most of what is needed to get in IMO.

You need to add failsafes for your walking. Like

if not RadialWalk(etc....) then
if not RadialWalk(etc....) then
begin
NextPlayer(true);
Exit;
end;

You don't need Logout; before NextPlayer because thats included in it.
Theres a couple parts where script can be shortened. But the overall script looks good.

First script I've voted on yay.


Thanks Buddy!:D Yep, you got that right..and thanks for advice;)

Harry

2008-04-17 22:33:42

Didn't you just make an old app like 1 week ago? :confused: Unless Hy is going silly again :) Holding vote…

faster789

2008-04-17 22:40:59

yes, i've applied but wasnt happy with 5 no's and 13 yes i thot i could do better so i re-applied and LOL…vote already :p

Santa_Clause

2008-04-18 01:13:42

From: mikevskater
Nice first script, seen you've worked on it a while. Im going to say yes!
Btw you could make this neater:

function Leveled:boolean;
var x, y : integer;
begin
if(not(LoggedIn)) then Exit;
Result:=FindColor(x, y, 8388608, 14, 372, 495, 389)
if (result) then
begin
WriteLn(' ===Advanced A Mining Level==');
Wait(1500 +random(500));
clicktocontinue;
end;
end;

To:

function Leveled:boolean;
var x, y : integer;
begin
if(not(LoggedIn)) then Exit;
if FindColor(x, y, 8388608, 14, 372, 495, 389) then
begin
WriteLn(' ===Advanced A Mining Level==');
Wait(1500 +random(500));
clicktocontinue;
end;
end;
There is some other standards that could be fixed but all in all good script


The way you did it, the function won't have a result, so either you need to change it to a procedure or have 'Result := True' somewhere there.

Also, yes from me. You can script better than some of our SRL Members. First yes for someone in a long time. Congratulations.

faster789

2008-04-18 01:19:01

@Santa_Clause
Thanks for the correction! And Thanks a lot for the vote, glad to here it was a yes since a long time. :D ;)

Santa_Clause

2008-04-18 01:55:32

I was correcting what Mikevskater said. The way you have it right now is correct.

Naum

2008-04-18 06:44:18

Well done Faster789, this script is worthy of SRL Member Status (Yes).
Thanks for the credits ;).

richk1693

2008-04-18 06:49:13

From: R0b0t1
Yes.
If anyone votes NO I will RAPE YOU.

Yes. Please dun rape my face.

Richard

2008-04-18 12:55:19

Yes, pretty much same reason everyone else has. Btw, I think you have one of the few apps that have basically perfect standards.

Torrent of Flame

2008-04-18 13:01:09

Ooh. I noticed my name in there :D

Im voting yes too, it covers everything, except standards 0_o

faster789

2008-04-18 16:46:34

Thanks To everyone for voting!:D
Too bad the person who said no had no reason..:(
And Lol, sorry about my standards..:p

JAD

2008-04-18 16:53:24

I was browsing through the forums, looking for some nice code, and I find this crap?


Yes from me :)

skilld u

2008-04-18 17:22:12

no.




j/k, yes

faster789

2008-04-18 22:07:50

From: JAD
I was browsing through the forums, looking for some nice code, and I find this crap?


Yes from me :)


:( hey…you were being sarcastic right? Well you better be!:p
Thanks for the vote..:D

Daniel

2008-04-18 22:54:32

Oh, by the way faster, don't get worried about the No vote. That is a bug within the forums, it appears on every application.

faster789

2008-04-18 23:14:58

From: IP-Drowner
Oh, by the way faster, don't get worried about the No vote. That is a bug within the forums, it appears on every application.


Thanks for explaining Got worrid for a second:)

Edit:
@Skilld U ….LOL? you didnt vote a no and if a no can you explain please?

Daniel

2008-04-18 23:41:50

From: faster789
@Skilld U ….LOL? you didnt vote a no and if a no can you explain please?

Highlight his whole paragraph, not just the no, the whoollee paragraph.

faster789

2008-04-18 23:45:23

Skilld U …Rawrrr..LOL got me scared! lol thx for vote ;)

JuKKa

2008-04-19 03:57:11

what i saw was ur using Strings when u should use a boolean.

example:
string = 'True'

When

Boolean = True

else i guess its a good script.

faster789

2008-04-19 10:50:22

From: JuKKa
what i saw was ur using Strings when u should use a boolean.

example:
string = 'True'

When

Boolean = True

else i guess its a good script.


Thanks Jukka for the advice! And thanks for the vote.:)

EDIT: Can someone tell me if the 2 NOs are a glitch are real? if Real like seriously can those people at least tell me why they voted no?

nielsie95

2008-04-20 06:27:01

Make sure you free all your dtms and bitmaps loaded in functions and procedures. And there's also no need to search for rotated dtms when you're fixing your pick (or is there? :p). Also, like said before, some failsafes would be nice. For example:


procedure FixHead;
begin
if(not(LoggedIn)) then Exit;
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
PickStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
GameTab(4);
Wait(550 + random(450));
if DTMRotated(PickaxeHead, x, y, mix1, miy1, mix2, miy2) then
Mouse(x, y, 1, 2, True);
If DTMRotated(PickStick, x, y, mix1, miy1, mix2, miy2) then
Mouse(x, y, 2, 1, True);
ReportVars[4] := ReportVars[4] + 1;
end;

No failsafes, maybe you didn't find the pickhead? And no freeing of the DTM's ;)


But I guess overall it's good enough, so..

Welcome sir!