Simba Code:
program copperminer;
{$DEFINE SMART}
{$include SRL\SRL.simba}
{$i ObjectDTM\ObjDTMInclude.simba}
{$i sps/sps.simba}
//at the bottom set witch u wana mine/default is copper powermining minecop(copper)minetin(tin) mineiron(iron)
Const
SRLStats_Username = ''; // Your SRL Stats Username
SRLStats_Password = ''; // Your SRL Stats Password
NumbOfPlayers= 1; //How many players are you using
StartPlayer= 0; //Player to start auoting with! (0 means first char)
LoadsTotal= 999999; //How Many Total Lods To Do Per Character!
Version= '1.0'; //NO TOUCHY! program new;
var
x, y, oreMined, TotalEXP: integer;
{*******************************************************************************
procedure DeclarePlayers;
By: SRL
Description: SRL's Player Setup
*******************************************************************************}
procedure DeclarePlayers;
var i:integer;
begin
NumberOfPlayers(NumbOfPlayers);
CurrentPlayer := StartPlayer;
for i := 0 to NumbOfPlayers-1 do
Players[i].BoxRewards := ['mote', 'ostume', 'XP', 'Gem', 'ithril', 'oal', 'une', 'oins'];
with Players[0] do
begin
Name := ''; //Player username.
Pass := ''; //Player password.
Active := True;
Integers[1] := 4; //1=BrightCopper,2=DarkCopper,3=Tin,4=Iron.
Integers[2] := 4; //Seconds to try mining rock before clicking another.
end;
end;
procedure oreMindd;
begin
if InvFull then
IncEx(oreMined, 28)
end;
procedure Report;
begin
if (InvFull) then
begin
TotalEXP := (oreMined*18);
Writeln('############ Tombows Mining #############');
Writeln('|= Player : ' + Players[CurrentPlayer].Name);
Writeln('|= Time Running : ' + TimeRunning);
Writeln('|= Xp gained : ' + IntToStr(TotalEXP));
Writeln('|= Ore Mined: ' + IntToStr(oreMined));
Writeln('|= Ore Dropped: ' + InttoStr(oreMined));
Writeln('########################################');
end;
end;
{*******************************************************************************
Procedure StatsGuise(wat:String);
By: YoHoJo
Description: Combination of Status & Diguise
*******************************************************************************}
Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;
{*******************************************************************************
Function CheckAndClick(X,Y:Integer):Boolean;
By: YoHoJo
Description: Moves mouse to x,y, checks for uptext, and clikcs if found
*******************************************************************************}
Function CheckAndClick(UpText:String; X,Y:Integer; RClick:String):Boolean;
Begin
MMouse(x, y, 5, 5);
If WaitUptext(UpText, 5000) Then
Begin
Result:=True;
GetMousePos(x, y);
Case RClick Of
'R':
Begin
Mouse(x, y, 0, 0, False);
WaitOption('ine', 2000);
FFlag(0);
End;
'L':
Begin
Mouse(x, y, 0, 0,True);
Wait(100+Random(50));
FFlag(0);
End;
End;
End;
End;
procedure AntiBan;
begin
if(not(LoggedIn))then
exit;
FindNormalRandoms;
case Random(60000) of
0:
begin
WriteLn('AntiBan Is Being Performed');
GameTab(Tab_Stats);
HoverSkill('Mining', false);
wait(1000 + Random(1000));
Mouse(659, 189, 0, 0, True);
end;
1:
begin
WriteLn('Bored')
BoredHuman;
end;
end;
end;
Procedure Failsafe (reason:string);
begin
players[currentplayer].Loc:=reason;
logout;
stats_commit;
terminatescript;
end;
Function minecop:boolean;
var
x, y, Plusone, treecounter: integer;
begin
FindNormalRandoms;
plusone:= Invcount + 1;
If FindObjcustom(x, y, ['Mine', 'copper', 'e c'], [5149437, 4621025, 660246, 4621283, 4687078], 10) Then
begin
StatsGuise('hooray we found the bastard');
getmousepos(x, y);
case random(1) of
0: mouse (x, y, 5, 5, true);
1: begin
mouse (x, y, 5, 5, false);
WaitOption ('mine', 1000);
end;
end;
flag;
marktime(treecounter);
Repeat
FindNormalRandoms;
statsGuise('Antiban and waiting');
Antiban;
wait(100);
if invcount=plusone then
writeln('we got one');
until (invcount=plusone) or (timefrommark(treecounter) > 9000)
End;
end;
Function minetin:boolean;
var
x, y, Plusone, treecounter: integer;
begin
FindNormalRandoms;
plusone:= Invcount + 1;
If FindObjcustom(x, y, ['Mine', 'tin', 'e t'], [8289924, 10592680, 5066064], 7) Then
begin
StatsGuise('hooray we found the tin');
getmousepos(x, y);
case random(1) of
0: mouse (x, y, 5, 5, true);
1: begin
mouse (x, y, 5, 5, false);
WaitOption ('mine', 1000);
end;
end;
flag;
marktime(treecounter);
Repeat
FindNormalRandoms;
statsGuise('Antiban and waiting');
Antiban;
wait(100);
if invcount=plusone then
writeln('we got one');
until (invcount=plusone) or (timefrommark(treecounter) > 9000)
End;
end;
Function mineiron:boolean;
var
x, y, Plusone, treecounter: integer;
begin
FindNormalRandoms;
plusone:= Invcount + 1;
If FindObjcustom(x, y, ['Mine', 'iron', 'e i'], [2847627, 3030632, 3557496], 7) Then
begin
StatsGuise('hooray we found the iron');
getmousepos(x, y);
case random(1) of
0: mouse (x, y, 5, 5, true);
1: begin
mouse (x, y, 5, 5, false);
WaitOption ('mine', 1000);
end;
end;
flag;
marktime(treecounter);
Repeat
FindNormalRandoms;
statsGuise('Antiban and waiting');
Antiban;
wait(100);
if invcount=plusone then
writeln('we got one');
until (invcount=plusone) or (timefrommark(treecounter) > 9000)
End;
end;
procedure PathToBankSPS;
var
PathToBank : TPointArray;
begin
if(not(LoggedIn))then Exit;
if(not(FindNormalRandoms))then
SPS_Setup(RUNESCAPE_SURFACE, ['12_7']); //Put SPS_Areas in here when using walking tool
PathToBank := [Point(4986, 3199), Point(4997, 3157), Point(5010, 3133), Point(5010, 3108), Point(5007, 3058), Point(4997, 3022), Point(4982, 2987), Point(4971, 2949), Point(4945, 2937), Point(4904, 2937), Point(4874, 2935), Point(4852, 2941), Point(4855, 2974)];
SPS_WalkPath(PathToBank);
end;
procedure PathToMineSPS;
var
PathToMine : TPointArray;
begin
if(not(LoggedIn))then Exit;
if(not(FindNormalRandoms))then
SPS_Setup(RUNESCAPE_SURFACE, ['12_7']); //Put SPS_Areas in here when using walking tool
PathToMine := [Point(4852, 2974), Point(4852, 2937), Point(4891, 2935), Point(4910, 2935), Point(4949, 2939), Point(4979, 2993), Point(5000, 3055), Point(5003, 3091), Point(5009, 3114), Point(5005, 3154), Point(4990, 3206)];
SPS_WalkPath(PathToMine);
end;
procedure Banking;
begin
if(InvFull) then
begin
SetAngle(SRL_ANGLE_HIGH);
MakeCompass('N');
repeat
OpenBankFast('ank');
if(PinScreen)then
InPin(Players[CurrentPlayer].Pin );
if(BankScreen) then
begin
DepositAll;
CloseBank;
end;
until(InvEmpty);
end;
end;
Procedure GoodbyeOres;
begin
repeat
DropAll;
until (invcount = 0);
end;
begin
Smart_Server := 54;
Smart_Members := true;
Smart_Signed := false;
Smart_SuperDetail := false;
SetupSRL;
DeclarePlayers;
repeat
minecop; //minetin mineiron
if InvFull Then
GoodbyeOres;
Report;
Until(false);
End.