[RS2] Starblaster100's Free Scripts
Starblaster100's Free Scripts
The next Few Posts will have my Free scripts in them. Copy and paste them into SCAR, save and Run.
NOTE: If you get an error about 'FindAxe' with the Ppowerchopper, you have to download the latest SSi2.txt from www.stupidscripts.com and overwrite your existing version.
Powerminer
Ive been told this still works good, but some of the randoms are outdated. Still a good script to use and learn off of.
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.