Simba Code:
program copperminer;
{$DEFINE SMART}
{.include SRL\SRL.simba}
{.Include SRL\SRL\Misc\Debug.simba}
//{$i SRL\SRL\Misc\paintsmart.simba}
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;
{*******************************************************************************
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 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
Case Random(2000) Of
0:
Begin
//PaintReport;
HoverSkill('Mining', False);
//PaintReport;
GameTab(Tab_Inv);
//PaintReport;
End;
1:
Begin
//PaintReport;
PickUpMouse;
SleepAndMoveMouse(3000 + Random(500));
//PaintReport;
PickUpMouse;
End;
2: ExamineInv;
3:
Begin
//PaintReport;
RandomAngle(SRL_ANGLE_HIGH);
//PaintReport;
SetAngle(SRL_ANGLE_HIGH);
//PaintReport;
End;
4:
Begin
//PaintReport;
GameTab(Tab_Stats);
//PaintReport;
Wait(3000 + Random(500));
//PaintReport;
GameTab(Tab_Inv);
End;
5:
Begin
//PaintReport;
HoverSkill('random', False);
//PaintReport;
GameTab(Tab_Inv);
End;
End;
End;
Procedure Failsafe (reason:string);
begin
players[currentplayer].Loc:=reason;
logout;
stats_commit;
terminatescript;
end;
Function mineore:boolean;
var
x, y, Plusone, treecounter: integer;
begin
FindNormalRandoms;
plusone:= Invcount + 1;
If FindObjcustom(x, y, ['Mine', 'copper', 'e c'], [4884973, 5214973], 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) > 7000)
End;
end;
Procedure dropore;
var
x, y, oreDTM, I:integer;
Slotbox:Tbox;
orePattern:TintegerArray;
begin
oreDTM := DTMFromString('mbQAAAHicY2VgYHBhYmCwAmJ7IPYHYm8gfgIUvwvEn4D4BRDfAuJdOVZAkgmMDRQUwBgd/AdiRiwYDACBqAkk');
orePattern:=[1,5,9,13,17,21,25,2,6,10,14,18,22,26,3,7,11,15,19,23,27,4,8,12,16,20,24,28];
for I:=0 to 27 do
begin
FindNormalRandoms;
statsGuise('Dropping ore:' + InttoStr(I));
slotbox:=invbox(orePattern[I]);
If FindDTM(oreDTM,x,y,slotbox.x1,slotbox.y1, slotbox.x2, slotbox.y2) Then
begin
MouseItem(orePattern[I],Mouse_Right);
chooseoption('rop');
end;
end;
end;
begin
Smart_Server := 54;
Smart_Members := true;
Smart_Signed := false;
Smart_SuperDetail := false;
SetupSRL;
DeclarePlayers;
repeat
mineore;
if InvFull Then
dropore;
Until(false);
End.