Code:
program Pminer;
{.include si.scar}
var
Droppedcount{, ChrCharsNormal, PickTotal} : integer;
{Seconds, averageDtime,} youneed : integer;
{ST : LongInt;}
Const
SIAccount = 1 ; //Which account should be used in SI.SCAR? (Look into SI.scar)
Wield = True ; //True if wielding pick; false if not wielding a pick
Lamp = 'hitpoints' ; //What should your lamp be used on?
RunD = 'N' ; //Which direction would you like to run? (N, S, E, W)
Screenie = false ; //Do you want to take screen shots? (True or False)
MaxWait = 5 ; //In seconds
Rockcolor1 = 4616088 ;
Rockcolor2 = 4351628 ; //Colors of the rocks. Try to find something that is
Rockcolor3 = 4285578 ; //unique to the rock color.
MouseSpeed = 6 ; //{Default - 6}
RowP1 = 583;
RowP2 = 629;
RowP3 = 671;
RowP4 = 713;
ColP1 = 231;
ColP2 = 266;
ColP3 = 301;
ColP4 = 339;
ColP5 = 373;
ColP6 = 409;
ColP7 = 446;
Procedure LoadBitmapsA;
begin
youneed := BitmapFromString(63, 15, 'z78DAED975B0A80300C04A' +
'FD453F4FE4712FC12449926D98075F753E3A39332D1391DE7BF19' +
'67CCA187F0B884F0777762B4EF9C395B33575BC5E43B6D63F25FD' +
'CF3C4634F6789FD622EE5775EF570AC32E6F9776E55BDD3EDA8FC' +
'F17C255F29F9E6D98FBCA232BFD2BDC9736219B655FDAA255F657' +
'BC57357DFB0C74EBA899699B39C1B9F83B18949AE5AED88A3FBDB' +
'350D5D0E1BA0CB24');
end;
Procedure ClickHuman(x, y: integer; click: Boolean);
begin
Holdmouse(x, y, click);
wait(50 + random(100));
Releasemouse(x, y, click);
end;
Procedure MoveMousePwnd(x, y : integer);
var
i : integer;
begin
i := random(8);
case i of
1: Movemousesmoothex(x + random(2), y + random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
2: Movemousesmoothex(x - random(2), y - random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
3: Movemousesmoothex(x - random(2), y + random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
4: Movemousesmoothex(x + random(2), y - random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
5: Movemousesmoothex(x + random(2), y + random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
6: Movemousesmoothex(x - random(2), y - random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
7: Movemousesmoothex(x - random(2), y + random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
8: Movemousesmoothex(x + random(2), y - random(2),
MouseSpeed * 2, MouseSpeed * 2 + 4,
MouseSpeed * 2 + 4 + random(3), 18 + random(3),
8 + random(3));
end;
end;
Procedure MoveC(var x, y: integer; click : integer);
begin
MoveMousePwnd(x, y);
wait(250 + random(100));
GetMousePos(x, y);
case click of
1: ClickHuman(x, y, true);
2: ClickHuman(x , y, false);
0: end;
end;
Procedure PrintReport;
begin
{ Seconds := (GetSystemTime - ST) div 1000;
averageDtime := Seconds / DroppedCount;}
ClearDebug;
Writeln('');
Writeln('');
Writeln('');
Writeln('');
Writeln('-- Using Pwnd'#39's Power Miner --');
Writeln('-- Script has been running for ' + ScriptTime2(2) + ' --');
Writeln('-- You have dropped ' + inttostr(droppedCount) + ' --');
{ Writeln('-- You'#39're currently mining ' + inttostr(3600 / averageDtime) + ' --');}
Writeln('');
Writeln('');
Writeln('');
end;
procedure Randomes;
var
x, y : integer;
begin
if(Wield = true)then
begin
if(findbitmapin(youneed, x, y, 8, 346, 503, 462))then
begin
FixPick(wield);
end;
end else
if(Wield = false)then
begin
FixPick(wield);
end;
CheckRandoms(SIAccount, Lamp, RunD, true, Screenie, srtALL);
DropUseless;
end;
Function ItemInWield(row, col : integer) : boolean;
var
a: integer;
begin
a:= getcolor(row, col);
begin
if(a = 4345174) or (a = 3885652) or
(a = 3687501) or (a = 3094874) or
(istextat2(9,9,'Wield',10)) then
result := true
else
result := false
end;
end;
Function ItemIn(row, col : integer) : boolean;
var
a: integer;
begin
a := getcolor(row, col);
begin
if(a = 4345174) or (a = 3885652) or
(a = 3687501) or (a = 3094874)then
result := true
else
result := false
end;
end;
Procedure ClickDrop(row, col : integer);
begin
GameTab(4);
if(Wield = true)then
begin
if(Itemin(row, col) = false)then
begin
MoveC(row, col, 2);
wait(50 + random(200));
if(not(ClickOption('Drop', 2)))then
begin
Clickoption('Cancel', 2);
end else
if(ClickOption('Drop', 2))then
begin
ClickOption('Drop', 2);
end;
wait(50 + random (250));
end;
end;
if(Wield = false)then
begin
if(Iteminwield(row, col) = false)then
begin
MoveC(row, col, 2);
wait(50 + random(200));
ClickOption('Drop', 2);
wait(50 + random (250));
end;
end;
end;
Procedure DropAllInven;
var
q: integer;
begin
q:= 0;
GameTab(4);
repeat
Clickdrop(rowp1, colp1);
Clickdrop(rowp1, colp2);
Clickdrop(rowp1, colp3);
Clickdrop(rowp1, colp4);
Clickdrop(rowp1, colp5);
Clickdrop(rowp1, colp6);
Clickdrop(rowp1, colp7);
Clickdrop(rowp2, colp1);
Clickdrop(rowp2, colp2);
Clickdrop(rowp2, colp3);
Clickdrop(rowp2, colp4);
Clickdrop(rowp2, colp5);
Clickdrop(rowp2, colp6);
Clickdrop(rowp2, colp7);
Clickdrop(rowp3, colp1);
Clickdrop(rowp3, colp2);
Clickdrop(rowp3, colp3);
Clickdrop(rowp3, colp4);
Clickdrop(rowp3, colp5);
Clickdrop(rowp3, colp6);
Clickdrop(rowp3, colp7);
Clickdrop(rowp4, colp1);
Clickdrop(rowp4, colp2);
Clickdrop(rowp4, colp3);
Clickdrop(rowp4, colp4);
Clickdrop(rowp4, colp5);
Clickdrop(rowp4, colp6);
Clickdrop(rowp4, colp7);
q := q + 1;
if(Wield = true)then
begin
droppedcount:= droppedcount + 28;
end else
if(Wield = false)then
begin
droppedcount:= droppedcount + 27;
end;
until(q = 2)
end;
Procedure MineRock;
var
x, y, MaxMine: integer;
begin
x := 260;
y := 161;
Flag;
if(findcolorspiral2(x, y, Rockcolor1, 240, 120, 355, 225)) and
(findcolorspiral2(x, y, Rockcolor2, 240, 120, 355, 225)) and
(findcolorspiral2(x, y, Rockcolor3, 240, 120, 355, 225)) then
begin
wait(100 + random(200));
MoveC(x, y, 0);
wait(100 + random(200));
if(IsUpText('Mine') and
not(GasColors(x, y)))then
wait(100 + random(200));
getmousepos(x, y);
MoveC(x, y, 1);
if(FlagPresent)then
begin
flag;
end;
wait(1500 + random(1000))
if(IsChatMessage('You swing your'))then
begin
MaxMine:= 0;
repeat
Randoms;
wait(750 + random(1000));
MaxMine:= MaxMine + 1;
until((MaxMine > MaxWait) or
IsChatMessage('You manage to') or
IsChatMessage('There is no'))
end;
end;
end;
Procedure Mine;
begin
gametab(4);
repeat
MineRock;
wait(100 + random(200));
Randoms;
wait(100 + random(200));
until(InvCount = 28)
end;
Procedure SetupScript;
begin
Droppedcount:= 0;
Writeln('-- You are using Pwnd'#39's Power Miner Version 1.1 --');
Writeln('-- You are currently using SI user ' + inttostr(SIAccount) + ' --');
wait(200);
Writeln('-- Starting in several seconds --')
wait(2000 + random(2000)) // <-- Just to piss you off
Writeln('-- Start! --')
end;
begin
ActivateClient;
LoadInclude('89.com - Free Adult Directory - 89 - Free Sex Free Porn - Mozilla Firefox');
LoadBitmapsA;
getpickcolors(wield);
Setupscript;
MakeCompass('N');
begin
repeat
Mine;
wait(100 + random(500));
DropAllInven;
wait(100);
PrintReport;
until(false)
end;
end.
It lagged a little as far as I remember.