faster789
2008-04-06 21:48:00
faster789 - SRL Member Application Form
faster789
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
Very basic of Pascal
Other Communitys
How Long have You Played Runescape
About 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have attempted to write scripts many times, but failed. This is my third try to actually make a script that works good. IMO I have accomplished my goal and have added many features I never thought I could make before. I am/was "Very" active in SRL for the past 2 months. I continue to make my script better and will release more new scripts that aren't released yet. I am glad we have a "Scripting Help" thread, because it really helped me in learning how to script. I would also like to thank everyone for the encouragement and support for helping me to learn to script.
Thanks.
~BoBo/faster789
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
// -----------------------------------------------------------------------------------------------------//
// ------------------------------------- WELCOME TO BOH'S MINER PICK!!! -------------------------------//
// =============================Please Post BUGS AND PROGESS REPORTS!!! ===============================//
// ==================================== Version 1.1!!! =====================================//
//===========================RECOMMENDED TO USE RUNE PICKAXE FOR BEST RESULTS!======================//
//==========================================VERSION 1.1!!=============================================//
//-----------------NOTE!!!!!! DO NOT WIELD PICKAXE------------------------//
//==============TRY TO HAVE EXTRA PICKAXES FIRST BANK SLOT!!============///
//====== 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<--- =======//
//===================================================================//
//===================================================================//
// ========== CREDITS =========//
// --> Thanks to Torrent Of Flame for his awesome TUTS! <--//
// --> Thanks to MasterKill for his FindGas and some of his PickAxe DTMS Procedure :)!! <--//
// --> Thanks to the following people for helping me fix very small bugs <--//
// --> Cazax, NaumanAkhlaQ(helped a lot with bugs), PriSoner,KoKouKo//
// --> (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 : 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'
//Smart Setup//
SmartWorld = 105; // what world do you want to login to??
Signed = True; // leave alone..
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
WaitPerRock = 3000 ; //if using rune pick write 3000, if addy pick write 4000, if steel pick write 8000, if iron or bronze pick GO BUY A BETER PICKAXE~!
var Gasnum : integer; // DO NOT TOUCH
//-----------------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 := 'pasword'; //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 mine picker:');
wait(250);
writeln(' __________ _________ ___ ___ ');
wait(250);
writeln('| ____ | | | | | | |');
wait(250);
writeln('| | | | | _____ | | | | |');
wait(250);
writeln('| |____| | | | | | | |___| |');
wait(250);
writeln('| _______| | | | | | ___ |');
wait(250);
writeln('| ____ | | |_____| | | | | |');
wait(250);
writeln('| | | | | | | | | |');
wait(250);
writeln('| |____| | |_________| |___| |___|');
wait(250);
writeln('|__________| Made To Succeed! ');
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;
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(30) of
1: RandomRClick;
2: HoverSkill('Mining', False);
3: RandomMovement;
4: BoredHuman;
5: AlmostLogout;
6: DoEmote(400 + Random(90));
end;
begin
ReportVars[1] := ReportVars[1] + 1;
end;
end;
function InChatMulti(text: TStringArray): boolean;
var
i : integer;
s: string;
begin
for i:=0 to high(text) do
begin
if (not (GetLastChatText(s))) then
LastChatter(s);
Result := (Pos(Text[i], s) > 0);
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==');
clicktocontinue;
wait(2000)
clicktocontinue;
end;
end;
procedure FixHead;
var x, y, PickAxeHead, PickStick : integer;
begin
if(not(LoggedIn)) then Exit;
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
PickStick := DTMFromString('78DA6314666060906140038C4824901601124' +
'204D44801095E026A40F2CA04D408000929026A048184220135E2' +
'404214BF1A00B23A014A');
GameTab(4);
Wait(550 + random(450));
if FindDTM(PickaxeHead, x, y, 525, 182, 745, 473) then
Mouse(x, y, 0, 0, True);
If FindDTM(PickStick, x, y, 525, 182, 745, 473) then
Mouse(x, y, 0, 0, True);
ReportVars[4] := ReportVars[4] + 1;
end;
function SearchHead:boolean;
var x, y, TryTofind, PickaxeHead, Pickaxe : integer;
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, 0, 0, True);
end;
'Addy': begin
If FindObjCustom(x, y, ['ead', 'ick'], [5070925], 10) then
Mouse(x, y, 0, 0, True);
end;
'Mith': begin
If FindObjCustom(x, y, ['ead', 'ick'], [4205098], 10) then
Mouse(x, y, 0, 0, True);
end;
'Steel': begin
If FindObjCustom(x, y, ['ead', 'ick'], [9079701], 10) then
Mouse(x, y, 0, 0, True);
end;
'Iron': begin
If FindObjCustom(x, y, ['ead', 'ick'], [7039858], 10) then
Mouse(x, y, 0, 0, True);
end;
'Bronze': begin
If FindObjCustom(x, y, ['ead', 'ick'], [2704730], 10) then
Mouse(x, y, 0, 0, True);
end;
end;
PickaxeHead := DTMFromString('78DA6314666060106040038C482490960112B' +
'C04D470020951026A0481841801355244980352C3895F0D0073E1' +
'00F6');
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;
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;
procedure GasFound;
var WaitForGasTime: Integer;
begin
if Not (LoggedIn) then exit;
Writeln (' ** Gas Detected ** ');
Mouse(630, 90, 8, 8, true);
FFlag(0);
case random (15) of
0: TypeSend('stupd gasses');
1: TypeSend('.....gas again :(');
2: TypeSend('...waits an hour..');
3: TypeSend('and there it comes..');
4: TypeSend('again??...gass...');
5: TypeSend('Gasess');
6: TypeSend('KABOOM :)');
7: TypeSend('another gass..');
8: TypeSend('sooo bored...');
9: TypeSend('waz expecting a gas..');
10:TypeSend('dumb gas..');
11:TypeSend('oh great..');
12:TypeSend('..so boredd...');
13:TypeSend('stop minin ppl gass here..');
14:TypeSend('thats rite stop mining..:(');
end;
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!
var x, y : integer;
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 Walktobank;
var x, y: integer;
begin
if Not(LoggedIn) then exit;
SetAngle(True);
MakeCompass('N');
SetRun(False);
RadialRoadWalk(FindVarrockRoadColor,0,90,65,-2,0);
Wait (1000+ random(200));
repeat
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,270,390,65,-2,0);
Wait (1000+ random(200));
FFlag(0);
until FindBank('veb');
WriteLn(' Entering Bank ');
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;
LoadsNum := LoadsNum + 1;
Inc(Players[CurrentPlayer].Banked);
if Players[CurrentPlayer].Banked mod LoadsPerPlayer = 0 then
begin
CheckLevel;
Proggy;
NextPlayer(True);
end;
end;
end;
procedure WalktoMine;
var x,y : integer;
begin
if Not(LoggedIn) then exit;
ClearDebug;
Proggy;
SetAngle(True);
Myrandom;
MakeCompass('N');
SetRun(True);
RadialRoadWalk(FindVarrockRoadColor,0,90,65,-2,0);
FFlag(5);
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,45,110,65,-2,0);
Myrandom;
repeat
Myrandom;
RadialRoadWalk(FindVarrockRoadColor,90,230,65,-2,0);
Wait(700+ random(250));
FFlag(5);
until FindSymbol(x,y,'mining spot');
If FindSymbol(x,y,'mining spot') then
begin
WriteLn('Found Mining Spot');
ClearDebug;
Proggy;
Mouse(x,y,7,7,true);
FFlag(0);
end;
end;
procedure Makesurepick;
var Stick, BrokenPick, x, y, n, m : Integer;
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, n, m, 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;
Proggy;
Logout;
NextPlayer(true);
if MorePickAxe = 'False' then
WalktoBank;
Proggy;
Logout;
NextPlayer(false);
end;
end;
end;
procedure MakeSureRock;
var x, y, n, m : integer;
begin
if(not(LoggedIn))then
Exit;
MakeCompass('N');
SetAngle(True);
begin
if not FindObjCustom(x, y, ['ock', 'Mine'], [2832993], 6)then
SetAngle(false);
writeln('couldnt find the rock so lowering');
if FindObjCustom(n, m, ['ock', 'Mine'], [2832993], 6)then
Makesurepick;
FindGas;
Leveled;
Myrandom;
Mouse(n, m, 1, 1, True);
Myrandom;
exit;
end;
end;
procedure MinedaRock;
var x, y : integer;
begin
MakeCompass('N');
SetAngle(True);
repeat
if Not(LoggedIn) then exit;
if not FindObjCustom(x, y, ['ock', 'ine'], [2832993], 3) then
Wait(900 +random(250));
if FindObjCustom(x, y, ['ock', 'ine'], [2832993], 3) then
Makesurepick;
FindGas;
Leveled;
Myrandom;
Mouse(x, y, 1, 1, True);
Myrandom;
Wait(WaitPerRock +random(500));
until InvFull;
if InvFull then
begin
writeln( 'Inventory Full walking to bank.' );
ReportVars[0] := ReportVars[0] + 1;
end;
end;
procedure Tobank;
begin
if(not(LoggedIn)) then Exit;
MakeCompass('N')
SetAngle(True);
WalktoMine;
Antiban;
Myrandom;
MakeSureRock;
MinedaRock;
Antiban;
Myrandom;
Walktobank;
end;
procedure Drop;
Var x : integer;
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;
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;
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 –>