My first runescape script. Script powermines copper ore and keep gems.
Script Doesnt log in automatically. I tested my script in lumby swamp and it works well.
Code:
program CopperMiner;//Mines and drop copper ore, keeps gems. Tested in lumbridge swamp
{$DEFINE SMART}
{$I SRL/SRL.simba}
Const
SRLStats_Username = '';
SRLStats_Password = '';
BreakEvery = 444;
BreakFor = 5;
NumbOfPlayers = 1;
StartPlayer = 0;
Var
TooLong: Integer;
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 := '';
Pass := '';
Nick := '';
Active := True;
Integers[1] := 1;
Integers[2] := 4;
end;
end;
Procedure Login;
begin
SRL_SixHourFix := True;
Smart_FixSpeed := True;
ClearDebug;
SetupSRL;
DeclarePlayers;
LoginPlayer;
end;
Procedure StatsGuise(wat:String);
Begin
Status(wat);
Disguise(wat);
End;
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('Mine', 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(250) Of
0: Begin StatsGuise('AntiBan') GameTab(tab_stats) Hoverskill('Mining', False) GameTab(28) End;
1: Begin StatsGuise('AntiBan') SleepAndMoveMouse(7000 + Random(500)); End;
2: Begin StatsGuise('AntiBan') GameTab(tab_Inv) ExamineInv; GameTab(28); End;
3: Begin StatsGuise('AntiBan') RandomAngle(1); End;
4: Begin StatsGuise('AntiBan') GameTab(Tab_Stats); Wait(3000 + Random(500)); GameTab(28); End;
5: Begin StatsGuise('AntiBan') GameTab(tab_Stats) HoverSkill('random', False); GameTab(28); End;
End;
End;
Procedure FailSafe(Reason:String);
Begin
Players[CurrentPlayer].Loc:=Reason;
Logout;
Stats_Commit;
Writeln(Reason);
TerminateScript;
End;
Function MineRock:Boolean;
Var
X, Y, PlusOne, OreCounter: Integer;
Begin
MarkTime(TooLong);
FindNormalRandoms;
PlusOne:= InvCount + 1;
If FindObjCustom(X, Y, ['Mine', 'e'], [9287165, 5083645], 5) Then
x:=MSCX;
y:=MSCY;
//If FindObjTPA(X, Y, 5083645, 10, 1, 15, 60, 600, ['Mine']) Then
Begin
StatsGuise('We got ore');
GetMousePos(X, Y);
Case Random(2) Of
0: Mouse(X, Y, 5, 5, True);
1: Begin
Mouse(X, Y, 5, 5, False);
WaitOption('Mine', 500);
End;
End;
Flag;
MarkTime(OreCounter);
If (TimeFromMark(TooLong) > 120000) Then
FailSafe('Cant Find rocks');
Repeat
If (TimeFromMark(TooLong) > 120000) Then
FailSafe('Cant Find Rocks');
FindNormalRandoms;
StatsGuise('Antiban');
Antiban;
Wait(1000);
If InvCount=Plusone Then
WriteLn('we got ore');
Until (InvCount=Plusone) Or (TimeFromMark(OreCounter) > 20000)
End;
End;
Procedure DropOre;
Var
X, Y, OreDTM, I:Integer;
SlotBox:TBox;
OrePattern:TIntegerArray;
Begin
MarkTime(TooLong);
OreDTM := DTMFromString('mlwAAAHicY2dgYNjKxMCwA4j3AvEBIN4ExK uBeCMQVzEyMOQDcS0QFwNxLhCXAXETEG/PsmTYlWPFsDXTkiEr1IYhztuUIdTFgCHa05iBFWguLsyIB0MBA GvuEAc=');
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]
StatsGuise('Dropping ore');
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('Dro');
End;
End;
MarkTime(TooLong);
End;
begin
SetupSRL;
DeclarePlayers;
Repeat
MineRock;
If InvFull Then
DropOre;
Until(false);
End.


Reply With Quote

