PHP Code:
{.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.]
' /\ '
' P \ ASCii Created by Aki '
' ### \ * and Starblaster100 '
' OOAOO \ __ * '
' ### \##/ / / * '
' AOA \ _AA ___ * '
' ### \ / ##/ /| ______ __ ____ _________ _________ '
' ### \OO##OOO |/ /| / /|___ / /|/ /|/ /| '
' _/AOA/AA##AAA/ OOAAOO | ##/ /| #### |###aAa### |aAa###aAa | '
' ## \### OO |__ AAOOAA |_ ###OOO/ #OA# |###OAO### |###OAO### | '
' OOAOO OO/ /|##/ ##/ /|OOAA #AO# |###AOA### |###AOA### | '
' ### ##AA# |AAOOAA## |AA | #OA# |#O# | #O# |#O# | #O# | '
' P ##OO#/ OOAAOO##/ AA/ #### |#A# | #A# |#A# | #A# | '
' ______ #OA# |#O# | #O# |#O# | #O# | '
' / /\ #AO# |#A# | #A# |#A# | #A# | '
' ###O### \ * #### __ | #O# |#O# |_#O# | '
' OOA#AOOO \ ______ / /| | #A# |#A#/ #A# | '
' AA |_AAAA/ ___ * / /| _AA |__ ### |######### | '
' OO/ OOO / /| ______ ##AO##/ / ##/ /|###____####__ / '
' #######\ ### | / /| AO |___ OO##OOO | / /\ / /____ '
' ####### \ #A# | OOAAOO | OA/ /|AA##AAA/ /OAAO /| ##/ /|'
' OO |_OOO \ #O# |__ AAOOAA |_ ##OA## | OO |__ O# |#O | ###OOO/ '
' AA/ AAAA/ #A#/ /|##/ ##/ /| ___AO | OO/ /| O#/ #O/_ OOAA/ '
' OOA#AOOO #O##O# |OOAAOO## |/ OA | ##AA# | A##A/ /|AA | '
' ###O### ####O#/ OOAAOO##/ ##AO##/ ##OO#/ ####/ AA/ '
' '
' * > [ Productions Presents ] < * '
[.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.]
_____ ' ' _____
| \----' ULTIMATE POWERMINER '----| \
| __/ ' ' | o |
<====|___ |====' Will Powermine a Rock You '====| _/====>
/ | ' Specify and then Drop the Ores ' | o \
\_____|----' '----|_____/
[-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.]
' > [ INSTRUCTIONS ] < '
' '
' = Have all the Correct Includes '
_____ ' = Start the Script next to a Rock' _____
| \----' = Fill in the Form and Hit Start '----| \
| __/ ' = When the Script Starts, Hover ' | o |
<====|___ |====' The Mouse over a Rock you want '====| _/====>
/ | ' To Mine and Wait. The script ' | o \
\_____|----' Will Get its color '----|_____/
' = Have Extra Pics in Your Inv. '
' = No Good items incase of Death '
' '
_____ [-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.] _____
| \----' > [ CONTACT INFO: ] < '----| \
| __/ ' Starblaster100@gmail.com ' | o |
<====|___ |====' '====| _/====>
/ | ' PM Starblaster100 at: ' | o \
\_____|----' RuneSC,Kaiteniks,Scriptdump,RSCN '----|_____/
[-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.]
' I am not Held Responsible if any '
' of your Characters get Banned '
[-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.}
Program StarMiner;
{.include SSi2.txt}
{.include Boxbreaker.txt}
{.include RedXIIsFordCracker.txt}
Var
randomlogouttimelabel, Logouttimelabel, Randomlogintimelabel, Logintimelabel, UsernameLabel, Passwordlabel, Reportlabel, Maxwaittimelebel : TLabel;
Drop,DropY,RockColor,RockXP,TotalMined,Maxwaittime,Report,Report2,logintime,loginrandom,logouttime,logoutrandom:integer;
Randomlogouttimeedit, Logouttimeedit, randomlogintimeedit, Logintimeedit, Usernameedit, Passwordedit : TEdit;
Saveuncutcheckbox, AntibanCheckbox, Rotatecheckbox : TCheckBox;
KeepUncuts, Gotcolors,RRotates,UseAntiban,StartScript:boolean;
AttachCount,PickHandle2,anti,LI,RLoged,GasTotal:longint;
Rundirectioncombobox, Rocktypecombobox : TComboBox;
Donate, savebutton, Startbutton, antibanbutton : TButton;
Reportedit, Maxwaittimeedit : TEdit;
Rundirection,Rockname:String;
frmMore,frmDesign : TForm;
Head,Head2,Head3:longint;
Procedure PrintProgressReport;
var
RHours,Minutes,Seconds,RMinutes,RSeconds:LongInt;
Time:String;
Begin
if(GetSystemTime-report2 > report*60000)then
Begin
Seconds:=(GetSystemTime-ST) div 1000;
Minutes:=Seconds div 60;
RHours:=Minutes div 60;
Time:=inttostr(Seconds)+' Seconds';
if Minutes<>0 then
begin
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(Minutes)+' Minutes and '+inttostr(RSeconds)+' Seconds';
end;
if RHours<>0 then
begin
RMinutes:=Minutes Mod (RHours*60);
RSeconds:=Seconds Mod (Minutes*60);
Time:=inttostr(RHours)+' Hours, '+inttostr(RMinutes)+' Minutes and '
+inttostr(RSeconds)+' Seconds';
end;
begin
status('Progress Report:');
writeln('<------====== Starblaster100s Powerminer ======------>');
writeln('Worked for '+Time);
writeln('Mining '+RockName+' Rocks');
writeln('Dropped about '+InttoStr(TotalMined)+' Ore');
writeln('Gained Approx. '+(inttoStr(RockXP*TotalMined))+' Exp');
if(attaches>0)or(gastotal>0)or(fights>0)or(talks>0)or(DrFords>0)or
(lamps>0)or(boxes>0)or(Rloged>0)then writeln('AntiRandom Report:');
if(attaches>0)then writeln(' Attached head '+InttoStr(AttachCount)+' Times');
if(fights>0)then writeln(' Fought '+inttostr(fights)+' time[s].');
if(talks>0)then writeln(' Talked to '+inttostr(talks)+' random event[s].');
if(DrFords>0)then writeln(' Talked to Dr Ford '+IntToStr(DrFords)+' Times');
if(lamps>0)then writeln(' Used lamps '+inttostr(lamps)+' time[s].');
if(boxes>0)then writeln(' Solved '+inttostr(boxes)+' box[es].');
if(Rloged>0)then writeln(' Logged in '+inttostr(logs)+' time[s].');
writeln('');
Report2:=GetSystemTime;
end;
end;
End;
Procedure MadeBy;
Begin
Status('Script Made By Starblaster100');
writeln('');
writeln('');
writeln('<===================================>');
writeln('| ~ Ultimate PowerMiner ~ |');
writeln('| Script Created by Starblaster100 |');
writeln('| Contact: Starblaster100@gmail.com |');
writeln('<===================================>');
writeln('');
end;
Procedure log(why:string); {Created by Starblaster100}
var
m,logcounter:integer;
begin
status('Logging out: '+why);
logcounter:=0;
wait(300);
mouse(646,484,4,4,true);
wait(500 + random(500));
repeat
logcounter:=logcounter+1;
Status('Trying to Log out: '+inttostr(logcounter)+'/5');
mouse(641,376,10,4,true);
for M:=0 to 30+random(10) do
begin
Wait(100);
if(IsTextAt2(309,241,'Welcome to RuneScape',100))or
(IsTextAt2(293,251,'Username',100))then
break;
end;
until(IsTextAt2(309,241,'Welcome to RuneScape',100))or
(IsTextAt2(293,251,'Username',100))or(logcounter>=5);
writeln('');
Writeln('Logged out: '+why);
end;
////////////// Gas Procedures \\\\\\\\\\\\\\\
function FindGas2:boolean; {*Made by Piv*, edited by Squigglyo}
var
clientcanvas, gascanvas1, gascanvas2 : tcanvas;
x, y, gx, gy, count, tempbitmap : integer;
begin
gx:= 260;
gy:= 155;
result:= false;
if(findcolorspiraltolerance(x, y, 8296866, gx - 70, gy - 70, gx + 70, gy + 70, 33))then
begin
TempBitmap:= BitmapFromString(50, 50, '');
GasCanvas1:= GetBitmapCanvas(TempBitmap);
GasCanvas2:= GetBitmapCanvas(TempBitmap);
clientcanvas:= getclientcanvas;
SafeCopyCanvas(GetClientCanvas, gascanvas1, gx - 25, gy - 25, gx + 25, gy + 25, 0, 0, 50, 50);
wait(1);
SafeCopyCanvas(GetClientCanvas, GasCanvas2, gx - 25, gy - 25, gx + 25, gy + 25, 0, 0, 50, 50);
CopyCanvas(clientCanvas, gascanvas1, gx - 25, gy - 25, gx + 25, gy + 25, 0, 0, 50, 50);
wait(100);
copycanvas(clientcanvas, gascanvas2, gx - 25, gy - 25, gx + 25, gy + 25, 0, 0, 50, 50);
count:= 0;
for y:= 1 to 50 do
for x:= 1 to 50 do
if((gascanvas1.pixels[x, y])<>(gascanvas2.pixels[x, y]))then
count:= count + 1;
if(count > 375)then //if more than 15% change
begin
SaveScreenshot('Gas Found.bmp');
Writeln('Gas Found - Waiting 30 seconds');
Mouse(647,82,2,2,true);
Wait(30000 + random(5000));//Put thing you wanna do after gas here
result:= true;
end;
end;
FreeBitmap(TempBitmap);
end;
Procedure FindGas3(findx,findy:integer);
var
counter,GasColor,bmap,gasfind:integer;
ClientCanvas,BMapCanvas:TCanvas;
begin
GasColor:=8296866;//8296866
if(FindColorSpiralTolerance(x,y,GasColor,findx-18,findy-18,findx+18,findy+18,25))then
begin
repeat
counter:=counter+1
begin
ClientCanvas:= GetClientCanvas;
bmap:= BitmapFromString(32,32,'');
BMapCanvas:= GetBitmapCanvas(bmap);
CopyCanvas(ClientCanvas,BMapCanvas,findx-16,findy-16,findx+16,findy+16,0,0,32,32);
wait(100);
if(FindBitmap(bmap,x,y))then
begin gasfind:=0;end
else
gasfind:=gasfind+1;
FreeBitmap(bmap);
end;
if(gasfind=3)then
begin
SaveScreenshot('gas.bmp')
Writeln('Gas Found - Waiting 30 seconds');
Mouse(647,82,2,2,true);
Wait(30000 + random(5000));//Put thing you wanna do after gas here
break;
end;
until(counter>=10);
end;
end;
Procedure FindGas4(gx,gy:integer);
var FailSafe:integer;
begin
if(FindColorTolerance(x,y,11056825,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,9281445,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,8492186,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,7767947,gx-15,gy-25,gx+15,gy+5,10))then
begin
Mouse(647,82,2,2,true);
flag;
repeat
FailSafe:=FailSafe+1;
wait(300);
until(FailSafe>=25)or
(not((FindColorTolerance(x,y,11056825,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,9281445,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,8492186,gx-15,gy-25,gx+15,gy+5,10))or
(FindColorTolerance(x,y,7767947,gx-15,gy-25,gx+15,gy+5,10))))
end;
end;
////////////// Gas Procedures \\\\\\\\\\\\\\\
Procedure AntiBan2; {Created by CanadaRules}
begin
end;
procedure AxeColor;
begin
GameTab(4);
wait(100 + random(200));
Mmouse(587,219,0,0);
wait(100 + random(100));
If(Option('Wield'))then
Begin
Head := GetColor(591, 221);
Head2 := GetColor(580, 218);
Head3 := GetColor(592, 222);
writeln('Pick head colors: ' +inttostr(Head)+ ' '+inttostr(Head2)+ ' ' +inttostr(Head3));
end else
Begin
Writeln('Pick not found');
Terminatescript;
end;
end;
Procedure DropHandle;
Var
Rx,N:Integer;
begin
Gametab(4);
if not(GetColor(591, 221)=Head)or
not(GetColor(580, 218)=Head2)or
not(GetColor(592, 222)=Head3)then
begin
Status('Checking Pick out...');
GameTab(4);
Mmouse(580,228,1,1);
wait(100 + random(100));
If(Option('Use Pickaxe handle'))then
Begin
mouse(x,y,1,1,false);
wait(200 + random(500));
if(findbitmap(Drop,x,y))or(findbitmap(DropY,x,y))then
begin
mouse(x,y,1,1,true);
wait(700 + random(500));
Status('Finding New Pick');
end else mmouse(10,10,50,50);
end;
For n:=1 to 4 do begin
rx:=544+(n*42)
mmouse(rx,225,0,0);
wait(100 + random(100));
if(option('Wield'))then
begin
getmousepos(x,y);
holdmouse(x,y,true);
wait(200 + random(200));
mmouse(583,223,0,0);
wait(200 + random(200));
releasemouse(x,y,true);
wait(500 + random(500));
AxeColor;
exit;
end;
if(n>=4)then
begin
Log('No Picks Found');
terminatescript;
end;
end;
end;
end;
procedure Attach; {Created by Liquid from Kaitnieks}
begin
GameTab(4);
writeln('Attatching 1/2');
if(FindcolorSpiralTolerance(x,y,Head,550,200,745,465,5))and
(FindBitmapSpiralTolerance(PickHandle2,x,y,550,200,745,465,100))then
begin
writeln('Attaching 2/2');
if(FindcolorSpiralTolerance(x,y,Head,550,200,745,465,5))then
Begin
Mouse(x, y, 3, 3, True);
wait(600+random(400));
end;
if(FindBitmapSpiralTolerance(PickHandle2,x,y,550,200,745,465,100))then
Begin
Mouse(x, y, 3, 3, True);
wait(500+random(200));
AttachCount:=AttachCount+1;
writeln('Attached Pick Head!');
end;
end else Writeln('Not Attached');
end;
procedure FindPickHead; {Created by Liquid from Kaitnieks}
var
tries, x, y:integer;
Begin
GameTab(4);
if not(GetColor(591, 221)=Head)or
not(GetColor(580, 218)=Head2)or
not(GetColor(592, 222)=Head3)then
begin
tries:=1;
repeat
if not(FindObj('Take',Head,5)) or
not(FindObj('Take',Head2,5)) or
not(FindObj('Take',Head3,5)) then
begin
writeln('Axe head not found. Taken '+inttostr(tries)+' tries.');
status('Axe head not found moving to red dot');
x := 648;
y := 83;
tries:= tries + 1;
FindColorSpiral(x, y, 241, 570, 5, 725, 155)
Mouse(x+3,y+3,2,2,true);
Flag;
wait(200 + random(100));
end;
if(FindObj('Take',Head,5))or
(FindObj('Take',Head2,5)) or
(FindObj('Take',Head3,5)) then
begin
status('Found Pick Head');
writeln('Pick head was found. Picking it up');
wait(450 + random(400));
Getmousepos(x,y);
Mouse(x,y,0,0,True);
flag;
wait(500 + random(300));
Savescreenshot('Attached Head.bmp');
end;
until(FindObj('Take',Head,5)) or
(FindObj('Take',Head2,5)) or
(FindObj('Take',Head3,5)) or (tries>9) or
(FindcolorSpiralTolerance(x,y,Head,550,200,745,465,5))
if(tries>9)then
begin
writeln('Pick head was not found. Taking New Pick');
DropHandle;
end else
Attach;
end;
end;
Procedure FindRandoms;
begin
FindPickHead;
If((FindGas2)or(FindGas(x,y)))then
Begin
Status('Gas Found');
Writeln('Gas Found - Waiting');
wait(27000 + random(5000));
end;
FindTalk;
FindDoctorFord;
FindBox;
FindMiscRandoms;
FindLamp('Mining');
if(RRotates)then
RotateEvery(20+random(10));
LeaveScreenEvery(10+random(5));
if(FindFight)then
begin
RunAwayDirection(RunDirection);
Wait(5000+random(1000));
RunBack;
end;
AntiBan2;
end;
Procedure GetRockXP;
begin
Case (RockName) of
'Tin' : RockXP:= (35/2);
'Copper' : RockXP:= (35/2);
'Iron' : RockXP:=35;
'Coal' : RockXP:= 50;
'Silver' : RockXP:=40;
'Gold' : RockXP:= 65;
'Mith' : RockXP:= 80;
'Addy' : RockXP:= 95;
'Rune' : RockXP:= 120;
end;
end;
Procedure GetColorsNeeded;
var
C,X1,X2,Y1,Y2:integer;
begin
Status('Getting Colors');
Repeat
Writeln('');
Writeln('Finding Rock - Move your Mouse over a Rock and Wait...');
Repeat
Wait(100);
If(option('Mine'))then Break;
Until(false)
If(Option('Mine'))then
Begin
wait(500);
GetmousePos(X1,Y1);
Writeln('Found rock - Hold Mouse Still...');
Repeat
wait(100);
C:=c+1;
If(not(option('Mine')))then
Break;
until(C>=13);
Getmousepos(X2,Y2);
If(X1=X2)and(Y1=Y2)and(option('Mine'))then
begin
Getmousepos(x,y);
RockColor:=Getcolor(x,y);
Writeln('Color Picking Successful - "'+IntToStr(RockColor)+'"');
Writeln('');
Gotcolors:=true;
end;
end;
Until(GotColors=true)
Axecolor;
end;
Procedure MineRocks;
Var
Time,D:Integer;
begin
Status('Mining '+RockName+' Ore');
If(FindObj('Mine',Rockcolor,3))then
Begin
Findrandoms;
If(Not(FindGas2))and(Not(Findgas(x,y)))then
Begin
Getmousepos(x,y);
FindGas(x,y-20);
FindGas4(x,y-20);
Mouse(x,y,3,3,true);
Findrandoms;
flag;
For D:=0 to 17 do
begin
wait(100);
if not((Getcolor(77, 421)=0)and(Getcolor(131, 423)=0)and(Getcolor(146, 421)=0))or //'You swing your pick'
((Getcolor(273,423)=0)and(Getcolor(249,424)=0)and(Getcolor(230,424)=0)and(Getcolor(204,424)=0))then //'There is currently no'
Break;
end;
MarkTime(Time);
Repeat
FindRandoms;
FindGas(x,y-20);
FindGas4(x,y-20);
Until((Getcolor(77, 421)=0)and(Getcolor(131, 423)=0)and(Getcolor(146, 421)=0))or
(Timefrommark(time)>=(MaxWaitTime*1000))or //'You managed to mine', Time up
((Getcolor(273,423)=0)and(Getcolor(249,424)=0)and(Getcolor(230,424)=0)and(Getcolor(204,424)=0)) //'There is currently no'
end;
end;
PrintProgressReport;
end;
Procedure DropRocks;
Var
Rx,Ry,M,N:integer;
begin
Status('Dropping Ores');
TotalMined:=TotalMined+28;
Gametab(4)
begin
for M:=1 to 7 do begin
For n:=1 to 4 do begin
rx:=544+(n*42)
ry:=192+(m*36)
mmouse(rx,ry,0,0); wait(200+random(100));
If(IsTextAt2(9,9,'Wield',100))or(IsTextAt2(9,9,'Use Broken',100))or(IsTextAt2(9,9,'Use Pick',100))or
((KeepUncuts=true)and(IsTextAt2(9,9,'Use Uncut',100)))then
begin TotalMined := TotalMined - 1; end;
If not(IsTextAt2(9,9,'Wield',100))and not(IsTextAt2(9,9,'Use Broken',100))and not(IsTextAt2(9,9,'Use Pick',100))and
not((IsTextAt2(9,9,'Use Uncut',100))and(KeepUncuts=true))then
begin
Findrandoms;
getmousepos(x,y)
mouse(x,y,5,5,false); wait(100 + random(50));
if(Findbitmap(Drop,x,y))or(Findbitmap(DropY,x,y))then
begin
mouse(x+3,y,3,1,true);
wait(285 + random(320) + random(30));
end else mmouse(233,123,50,50);
end;
end;
end;
end;
PrintProgressReport;
end;
Procedure CheckBrightness;
begin
Mouse(676,474,5,7,true);
wait(100 + random(200));
If(not(getcolor(726,277)=2303648))then
Mouse(726,271,1,1,true);
Gametab(4);
end;
Procedure Bitmaps;
begin
Drop := BitmapFromString(28, 6, 'z78DA737343000324E04684382' +
'E35A4AA2446BD1BC5EEC46F23B5C4A965E6A83B87AE3B29497B94' +
'E42362DC00008F0FEAE5');
DropY := BitmapFromString(28, 6, 'z78DA737373733330700393C8' +
'C08D08715C6A4855498C7A378ADD89DF466A8953CBCC51770E5D7' +
'75292F628C947C4B8010058BBDB99');
PickHandle2 := BitmapFromString(15, 27,
'564D41595145564D41544A3C544A3C595145564D41564D41564D41' +
'564D41595145000001000001544A3C4F4538544A3C595145564D41' +
'544A3C544A3C544A3C5951455951455951455951450000012F2000' +
'362400000001544A3C564D41544A3C544A3C564D41564D41564D41' +
'5951455951455951450000012F20002F2000362400000001302020' +
'564D41544A3C544A3C595145564D41595145564D41595145595145' +
'0000012F2000362400362400000001302020564D41564D41564D41' +
'564D41564D41544A3C544A3C544A3C0000012F20002F2000362400' +
'362400000001302020544A3C544A3C544A3C544A3C544A3C544A3C' +
'544A3C544A3C0000012F2000362400362400362400000001302020' +
'544A3C564D41564D41564D41544A3C564D41564D410000012F2000' +
'2F2000362400362400000001302020302020564D41564D41564D41' +
'595145564D41564D41564D410000012F2000362400362400000001' +
'302020302020544A3C544A3C544A3C544A3C595145544A3C544A3C' +
'0000012F2000362400362400362400000001302020564D41564D41' +
'544A3C544A3C544A3C564D41544A3C4F45380000012F2000362400' +
'362400000001302020302020564D41564D41544A3C544A3C595145' +
'595145564D410000012F2000362400362400362400000001302020' +
'564D41564D41544A3C544A3C564D41564D41595145595145000001' +
'2F20002F20002F2000000001302020302020564D41564D41544A3C' +
'564D41564D41544A3C564D410000012F20002F20002F2000362400' +
'000001302020564D41544A3C544A3C544A3C595145544A3C544A3C' +
'564D410000012F20002F20002F2000000001302020302020544A3C' +
'544A3C564D41564D41595145544A3C544A3C0000012F20002F2000' +
'2F2000000001302020302020595145544A3C564D41595145595145' +
'595145564D41564D410000012F20002F20002F2000000001302020' +
'595145595145564D41564D41595145595145595145595145000001' +
'2F20002F20002F2000000001302020302020595145595145595145' +
'595145564D41564D41564D41564D410000012F20002F20002F2000' +
'000001302020564D41595145595145595145595145564D41564D41' +
'544A3C0000012F20002F20002F2000000001302020302020564D41' +
'595145595145544A3C544A3C564D41595145564D410000012F2000' +
'2F20002F2000000001302020544A3C564D41595145595145544A3C' +
'544A3C564D41564D41564D410000012F20002F2000000001302020' +
'302020544A3C564D41595145595145564D41544A3C544A3C4F4538' +
'000001271B002F20002F2000000001302020595145544A3C564D41' +
'595145595145595145544A3C544A3C544A3C0000011D1500271B00' +
'000001302020302020595145544A3C564D41595145595145595145' +
'564D41564D41564D410000011D15001D1500000001302020595145' +
'544A3C544A3C564D41595145595145595145595145595145544A3C' +
'0000011D15001D1500000001302020564D41595145595145595145' +
'595145564D41595145595145564D41544A3C564D41000001000001' +
'302020302020595145595145595145595145544A3C564D41595145' +
'544A3C544A3C4F4538564D41595145302020302020564D41595145' +
'564D41564D41564D41544A3C544A3C564D41544A3C544A3C544A3C' +
'');
end;
//---------------- Form Stuff ----------------\\
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure ShowMoreModal;
begin
frmMore.ShowModal;
end;
procedure SafeShowForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
procedure SafeMore;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitMore', v);
end;
procedure More(sender: TObject);
var
v: TVariantArray;
begin
SafeMore;
setarraylength(V, 0);
ThreadSafeCall('ShowMoreModal', v);
end;
Procedure SaveSets1;
Begin
SaveSetting('StarMiner','Saved','true');
SaveSetting('StarMiner','Username',username);
SaveSetting('StarMiner','Password',Password);
SaveSetting('StarMiner','Rundirection',Rundirection);
SaveSetting('StarMiner','RockName',RockName);
If(useantiban)then SaveSetting('StarMiner','UseAntiBan','true') else SaveSetting('StarMiner','UseAntiBan','false');
If(KeepUncuts)then SaveSetting('StarMiner','KeepUncuts','true') else SaveSetting('StarMiner','KeepUncuts','false');
If(RRotates)then SaveSetting('StarMiner','RRotates','true') else SaveSetting('StarMiner','RRotates','false');
SaveSetting('StarMiner','MaxWaittime',inttostr(MaxWaittime));
SaveSetting('StarMiner','Report',inttostr(Report));
End;
Procedure LoadSets1;
Begin
if(LoadSetting('StarMiner','Saved')='true') then
begin
Username:=LoadSetting('StarMiner','Username');
Password:=LoadSetting('StarMiner','Password');
Rundirection:=LoadSetting('StarMiner','Rundirection');
RockName:=LoadSetting('StarMiner','RockName');
if(LoadSetting('StarMiner','UseAntiBan')='true') then UseAntiBan:=true;
if(LoadSetting('StarMiner','KeepUncuts')='true') then KeepUncuts:=true;
if(LoadSetting('StarMiner','RRotates')='true') then RRotates:=true;
MaxWaittime:=strtointdef(LoadSetting('StarMiner','MaxWaittime'),0);
Report:=strtointdef(LoadSetting('StarMiner','Report'),0);
end;
End;
Procedure SaveSets2;
Begin
SaveSetting('StarMiner','Saved2','true');
SaveSetting('StarMiner','logintime',inttostr(logintime));
SaveSetting('StarMiner','loginrandom',inttostr(loginrandom));
SaveSetting('StarMiner','logouttime',inttostr(logouttime));
SaveSetting('StarMiner','logoutrandom',inttostr(logoutrandom));
End;
Procedure LoadSets2;
begin
if(LoadSetting('StarMiner','Saved2')='true') then
begin
logintime:=strtoint(LoadSetting('StarMiner','logintime'));
loginrandom:=strtoint(LoadSetting('StarMiner','loginrandom'));
logouttime:=strtoint(LoadSetting('StarMiner','logouttime'));
logoutrandom:=strtoint(LoadSetting('StarMiner','logoutrandom'));
end;
end;
procedure Start(sender: TObject);
begin
frmDesign.Caption:= frmDesign.Caption + '.';
frmDesign.ModalResult:= mrOk;
StartScript:=true;
Username := Usernameedit.text;
Password := Passwordedit.text;
UseAntiban := AntibanCheckbox.State;
KeepUncuts := Saveuncutcheckbox.State;
RRotates := Rotatecheckbox.State;
Rundirection := RunDirectioncombobox.text;
MaxWaittime := StrtoInt(Maxwaittimeedit.text);
Report := StrtoInt(Reportedit.text);
RockName := Rocktypecombobox.text;
SaveSets1;
end;
procedure Save(sender: TObject);
begin
frmMore.Caption:= frmMore.Caption + '.';
frmMore.ModalResult:= mrOk;
If(LoginTimeedit.text='')then
begin Logintime := 0; end else Logintime := StrToInt(LogintimeEdit.text)
If(randomlogintimeedit.text='')then
begin Loginrandom := 0; end else Loginrandom := StrToInt(randomlogintimeedit.text)
If(LogoutTimeedit.text='')then
begin Logouttime := 0; end else Logouttime := StrToInt(LogouttimeEdit.text)
If(randomlogouttimeedit.text='')then
begin Logoutrandom := 0; end else Logoutrandom := StrToInt(randomlogouttimeedit.text)
SaveSets2;
end;
procedure DonateLink(sender: TObject);
begin
OpenWebPage('https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=starblaster100%40gmail%2ecom&item_name=RS2%20Scripts&no_shipping=0&no_note=1&tax=0¤cy_code=GBP&bn=PP%2dDonationsBF&charset=UTF%2d8');
end;
procedure InitForm;
begin
LoadSets1;
LoadSets2;
frmDesign := CreateForm;
frmDesign.Left := 250;
frmDesign.Top := 114;
frmDesign.Width := 293;
frmDesign.Height := 257;
frmDesign.Caption := 'Starblaster100'#39's Powerminer';
frmDesign.Color := clBtnFace;
frmDesign.Font.Color := clWindowText;
frmDesign.Font.Height := -11;
frmDesign.Font.Name := 'MS Sans Serif';
frmDesign.Font.Style := [];
frmDesign.Visible := false;
frmDesign.PixelsPerInch := 96;
UsernameLabel := TLabel.Create(frmDesign);
UsernameLabel.Parent := frmDesign;
UsernameLabel.Left := 34;
UsernameLabel.Top := 15;
UsernameLabel.Width := 74;
UsernameLabel.Height := 20;
UsernameLabel.Caption := 'Username';
UsernameLabel.Font.Color := clWindowText;
UsernameLabel.Font.Height := -16;
UsernameLabel.Font.Name := 'MS Sans Serif';
UsernameLabel.Font.Style := [];
UsernameLabel.ParentFont := False;
Passwordlabel := TLabel.Create(frmDesign);
Passwordlabel.Parent := frmDesign;
Passwordlabel.Left := 35;
Passwordlabel.Top := 44;
Passwordlabel.Width := 69;
Passwordlabel.Height := 20;
Passwordlabel.Caption := 'Password';
Passwordlabel.Font.Color := clWindowText;
Passwordlabel.Font.Height := -16;
Passwordlabel.Font.Name := 'MS Sans Serif';
Passwordlabel.Font.Style := [];
Passwordlabel.ParentFont := False;
Reportlabel := TLabel.Create(frmDesign);
Reportlabel.Parent := frmDesign;
Reportlabel.Left := 18;
Reportlabel.Top := 133;
Reportlabel.Width := 99;
Reportlabel.Height := 16;
Reportlabel.Caption := 'Progress Report';
Reportlabel.Font.Color := clWindowText;
Reportlabel.Font.Height := -15;
Reportlabel.Font.Name := 'MS Sans Serif';
Reportlabel.Font.Style := [];
Reportlabel.ParentFont := False;
Maxwaittimelebel := TLabel.Create(frmDesign);
Maxwaittimelebel.Parent := frmDesign;
Maxwaittimelebel.Left := 18;
Maxwaittimelebel.Top := 160;
Maxwaittimelebel.Width := 115;
Maxwaittimelebel.Height := 16;
Maxwaittimelebel.Caption := 'Maximum Wait time';
Maxwaittimelebel.Font.Color := clWindowText;
Maxwaittimelebel.Font.Height := -15;
Maxwaittimelebel.Font.Name := 'MS Sans Serif';
Maxwaittimelebel.Font.Style := [];
Maxwaittimelebel.ParentFont := False;
Maxwaittimelebel.ParentShowHint := False;
Maxwaittimelebel.ShowHint := False;
Usernameedit := TEdit.Create(frmDesign);
Usernameedit.Parent := frmDesign;
Usernameedit.Left := 116;
Usernameedit.Top := 17;
Usernameedit.Width := 121;
Usernameedit.Height := 21;
Usernameedit.Hint := 'Type your Username into this Box';
Usernameedit.ParentShowHint := False;
Usernameedit.ShowHint := True;
Usernameedit.TabOrder := 8;
Usernameedit.Text := Username;
Passwordedit := TEdit.Create(frmDesign);
Passwordedit.Parent := frmDesign;
Passwordedit.Left := 116;
Passwordedit.Top := 44;
Passwordedit.Width := 121;
Passwordedit.Height := 21;
Passwordedit.Hint := 'Type your Password into this Box';
Passwordedit.PasswordChar := '*';
Passwordedit.ParentShowHint := False;
Passwordedit.ShowHint := True;
Passwordedit.TabOrder := 9;
Passwordedit.text := Password;
AntibanCheckbox := TCheckBox.Create(frmDesign);
AntibanCheckbox.Parent := frmDesign;
AntibanCheckbox.Left := 8;
AntibanCheckbox.Top := 75;
AntibanCheckbox.Width := 97;
AntibanCheckbox.Height := 17;
AntibanCheckbox.Hint := 'Check if you want to you the antiban feature';
AntibanCheckbox.Caption := 'Use Antiban?';
AntibanCheckbox.ParentShowHint := False;
AntibanCheckbox.ShowHint := True;
AntibanCheckbox.TabOrder := 10;
AntibanCheckbox.checked := UseAntiban;
Rotatecheckbox := TCheckBox.Create(frmDesign);
Rotatecheckbox.Parent := frmDesign;
Rotatecheckbox.Left := 98;
Rotatecheckbox.Top := 75;
Rotatecheckbox.Width := 97;
Rotatecheckbox.Height := 17;
Rotatecheckbox.Hint := 'Check if you want the script to randomly rotate';
Rotatecheckbox.Caption := 'Rotations?';
Rotatecheckbox.Checked := True;
Rotatecheckbox.ParentShowHint := False;
Rotatecheckbox.ShowHint := True;
Rotatecheckbox.TabOrder := 11;
Rotatecheckbox.checked := RRotates;
Rundirectioncombobox := TComboBox.Create(frmDesign);
Rundirectioncombobox.Parent := frmDesign;
Rundirectioncombobox.Left := 142;
Rundirectioncombobox.Top := 100;
Rundirectioncombobox.Width := 100;
Rundirectioncombobox.Height := 21;
Rundirectioncombobox.Hint := 'Choose the Run Direction';
Rundirectioncombobox.ItemHeight := 13;
Rundirectioncombobox.ParentShowHint := False;
Rundirectioncombobox.ShowHint := True;
Rundirectioncombobox.TabOrder := 12;
Rundirectioncombobox.Text := RunDirection;
RunDirectioncombobox.Items.Add('N');
RunDirectioncombobox.Items.Add('S');
RunDirectioncombobox.Items.Add('E');
RunDirectioncombobox.Items.Add('W');
Rocktypecombobox := TComboBox.Create(frmDesign);
Rocktypecombobox.Parent := frmDesign;
Rocktypecombobox.Left := 16;
Rocktypecombobox.Top := 100;
Rocktypecombobox.Width := 113;
Rocktypecombobox.Height := 21;
Rocktypecombobox.Hint := 'Choose the Rock type to Powermine';
Rocktypecombobox.ItemHeight := 13;
Rocktypecombobox.ParentShowHint := False;
Rocktypecombobox.ShowHint := True;
Rocktypecombobox.TabOrder := 13;
Rocktypecombobox.Text := RockName;
Rocktypecombobox.Items.Add('Tin');
Rocktypecombobox.Items.Add('Copper');
Rocktypecombobox.Items.Add('Iron');
Rocktypecombobox.Items.Add('Coal');
Rocktypecombobox.Items.Add('Silver');
Rocktypecombobox.Items.Add('Gold');
Rocktypecombobox.Items.Add('Mith');
Rocktypecombobox.Items.Add('Addy');
Rocktypecombobox.Items.Add('Rune');
Reportedit := TEdit.Create(frmDesign);
Reportedit.Parent := frmDesign;
Reportedit.Left := 141;
Reportedit.Top := 131;
Reportedit.Width := 101;
Reportedit.Height := 21;
Reportedit.Hint := 'How often to Show the Progress Report in Minutes';
Reportedit.ParentShowHint := False;
Reportedit.ShowHint := True;
Reportedit.TabOrder := 14;
Reportedit.Text := IntToStr(Report);
Maxwaittimeedit := TEdit.Create(frmDesign);
Maxwaittimeedit.Parent := frmDesign;
Maxwaittimeedit.Left := 141;
Maxwaittimeedit.Top := 158;
Maxwaittimeedit.Width := 101;
Maxwaittimeedit.Height := 21;
Maxwaittimeedit.Hint :=
'Maximum time you are Willing to Wait before moving to a new Rock' +
' (In Seconds)';
Maxwaittimeedit.ParentShowHint := False;
Maxwaittimeedit.ShowHint := True;
Maxwaittimeedit.TabOrder := 15;
Maxwaittimeedit.Text := IntToStr(MaxWaitTime);
Saveuncutcheckbox := TCheckBox.Create(frmDesign);
Saveuncutcheckbox.Parent := frmDesign;
Saveuncutcheckbox.Left := 176;
Saveuncutcheckbox.Top := 75;
Saveuncutcheckbox.Width := 97;
Saveuncutcheckbox.Height := 17;
Saveuncutcheckbox.Hint := 'Check if you want the script to keep the Uncut Gems You mine';
Saveuncutcheckbox.Caption := 'Keep Uncuts?';
Saveuncutcheckbox.ParentShowHint := False;
Saveuncutcheckbox.ShowHint := True;
Saveuncutcheckbox.TabOrder := 18;
Saveuncutcheckbox.checked := KeepUncuts;
Startbutton := TButton.Create(frmDesign);
Startbutton.Parent := frmDesign;
Startbutton.Left := 95;
Startbutton.Top := 192;
Startbutton.Width := 77;
Startbutton.Height := 25;
Startbutton.Hint := 'Hit to Start the Script !';
Startbutton.Caption := 'Start';
Startbutton.ParentShowHint := False;
Startbutton.ShowHint := True;
Startbutton.TabOrder := 16;
StartButton.OnClick := @Start;
antibanbutton := TButton.Create(frmDesign);
antibanbutton.Parent := frmDesign;
antibanbutton.Left := 178;
antibanbutton.Top := 191;
antibanbutton.Width := 98;
antibanbutton.Height := 26;
antibanbutton.Caption := 'Antiban Options';
antibanbutton.TabOrder := 17;
antibanbutton.ShowHint := True;
antibanbutton.Hint := 'To the Antiban Options';
antibanbutton.Onclick := @More;
Donate := TButton.Create(FrmDesign);
Donate.Parent := FrmDesign;
Donate.Left := 10;
Donate.Top := 192;
Donate.Width := 77;
Donate.Height := 25;
Donate.Hint := 'If you like my Scripts, Please Donate';
Donate.Caption := 'Donate';
Donate.ParentShowHint := False;
Donate.ShowHint := True;
Donate.TabOrder := 16;
Donate.OnClick := @DonateLink;
end;
procedure InitMore;
begin
LoadSets2;
frmMore := CreateForm;
frmMore.Left := 250;
frmMore.Top := 114;
frmMore.Width := 260;
frmMore.Height := 224;
frmMore.Caption := 'Antiban Options';
frmMore.Color := clBtnFace;
frmMore.Font.Color := clWindowText;
frmMore.Font.Height := -11;
frmMore.Font.Name := 'MS Sans Serif';
frmMore.Font.Style := [];
frmMore.Visible := false;
frmMore.PixelsPerInch := 96;
Logintimelabel := TLabel.Create(frmMore);
Logintimelabel.Parent := frmMore;
Logintimelabel.Left := 13;
Logintimelabel.Top := 31;
Logintimelabel.Width := 52;
Logintimelabel.Height := 13;
Logintimelabel.Caption := 'Login Time';
Randomlogintimelabel := TLabel.Create(frmMore);
Randomlogintimelabel.Parent := frmMore;
Randomlogintimelabel.Left := 12;
Randomlogintimelabel.Top := 60;
Randomlogintimelabel.Width := 95;
Randomlogintimelabel.Height := 13;
Randomlogintimelabel.Hint := 'Random time to Stay Loged in in Minutes';
Randomlogintimelabel.Caption := 'Random Login Time';
Randomlogintimelabel.ParentShowHint := False;
Randomlogintimelabel.ShowHint := True;
Logouttimelabel := TLabel.Create(frmMore);
Logouttimelabel.Parent := frmMore;
Logouttimelabel.Left := 12;
Logouttimelabel.Top := 88;
Logouttimelabel.Width := 59;
Logouttimelabel.Height := 13;
Logouttimelabel.Caption := 'Logout Time';
randomlogouttimelabel := TLabel.Create(frmMore);
randomlogouttimelabel.Parent := frmMore;
randomlogouttimelabel.Left := 12;
randomlogouttimelabel.Top := 116;
randomlogouttimelabel.Width := 102;
randomlogouttimelabel.Height := 13;
randomlogouttimelabel.Caption := 'Random Logout Time';
Logintimeedit := TEdit.Create(frmMore);
Logintimeedit.Parent := frmMore;
Logintimeedit.Left := 119;
Logintimeedit.Top := 27;
Logintimeedit.Width := 108;
Logintimeedit.Height := 21;
Logintimeedit.Hint := 'Time to Stay Loged in in Minutes';
Logintimeedit.Text := IntToStr(LoginTime);
Logintimeedit.ParentShowHint := False;
Logintimeedit.ShowHint := True;
Logintimeedit.TabOrder := 8;
randomlogintimeedit := TEdit.Create(frmMore);
randomlogintimeedit.Parent := frmMore;
randomlogintimeedit.Left := 119;
randomlogintimeedit.Top := 55;
randomlogintimeedit.Width := 108;
randomlogintimeedit.Height := 21;
randomlogintimeedit.Hint := 'Random time to Stay loged in in Minutes';
randomlogintimeedit.Text := IntToStr(loginRandom);
randomlogintimeedit.ParentShowHint := False;
randomlogintimeedit.ShowHint := True;
randomlogintimeedit.TabOrder := 9;
Logouttimeedit := TEdit.Create(frmMore);
Logouttimeedit.Parent := frmMore;
Logouttimeedit.Left := 119;
Logouttimeedit.Top := 84;
Logouttimeedit.Width := 108;
Logouttimeedit.Height := 21;
Logouttimeedit.Hint := 'Time to stay Loged out in Minutes';
Logouttimeedit.Text := IntToStr(LogoutTime);
Logouttimeedit.ParentShowHint := False;
Logouttimeedit.ShowHint := True;
Logouttimeedit.TabOrder := 10;
Randomlogouttimeedit := TEdit.Create(frmMore);
Randomlogouttimeedit.Parent := frmMore;
Randomlogouttimeedit.Left := 119;
Randomlogouttimeedit.Top := 112;
Randomlogouttimeedit.Width := 108;
Randomlogouttimeedit.Height := 21;
Randomlogouttimeedit.Hint := 'Random time to stay Loged out in Minutes';
Randomlogouttimeedit.Text := IntToStr(LogoutRandom);
Randomlogouttimeedit.ParentShowHint := False;
Randomlogouttimeedit.ShowHint := True;
Randomlogouttimeedit.TabOrder := 11;
savebutton := TButton.Create(frmMore);
savebutton.Parent := frmMore;
savebutton.Left := 88;
savebutton.Top := 148;
savebutton.Width := 75;
savebutton.Height := 25;
savebutton.Hint := 'Save';
savebutton.Caption := 'Save Options';
savebutton.ParentShowHint := False;
savebutton.ShowHint := True;
savebutton.TabOrder := 12;
savebutton.ShowHint := True;
savebutton.Hint := 'Save Your Options';
SaveButton.OnClick := @Save;
end;
begin
MadeBy;
SafeShowForm;
if(startscript=false)then TerminateScript;
ActivateClient;
SetupSSi;
GetColorsNeeded;
GetRockXP;
anti:=GetSystemTime;
LI:=LogInTime+random(loginrandom);
ST:=GetSystemTime;
report2:=GetSystemTime;
SetRun(true);
Bitmaps;
CheckBrightness;
Repeat
Repeat
FindRandoms;
MineRocks
If(InventoryCount=28)then
Break;
Until(false);
DropRocks;
Until(false)
end.