Code:
var
i , m,x, y, loops: integer;
treecolors,orecolors: array [0..3] of integer;
treeNames,orenames: array [0..2] of String;
procedure chopwillows;
begin
begin
disguise('chopping')
treecolors[0]:= 3759203;
treecolors[1]:= 5406322;
treecolors[2]:= 6132352;
treecolors[3]:= 3363673;
treenames[0]:= 'Wil';
treenames[1]:= 'llo';
treenames[2]:= 'low';
repeat
if(not(LoggedIn))then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]]) then
begin
FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
m:=0;
MarkTime(M);
repeat
begin
wait(1300);
end;
until not(IsUpText('willow')) or (m > 30000);
end;
end;
until invfull or inchat('full to')
end;
end;
procedure choptrees;
begin
treecolors[0]:= 1195316;
treecolors[1]:= 4814702;
treecolors[2]:= 4353679;
treecolors[3]:= 4287628;
treenames[0]:= 'Tree';
treenames[1]:= 'Tre';
treenames[2]:= 'ree';
if(not LoggedIn)then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]]) then
begin
FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
m:=0;
MarkTime(M);
repeat
Case (Random(3)) of
0: wait(10); //findrandoms;
1: wait(3500);
2: wait(3000);
end;
until not(IsUpText('tree')) or (m > 30000);
end;
end;
end;
procedure chopoaks;
begin
begin
disguise('chopping')
treecolors[0]:= 2111046;
treecolors[1]:= 1455150;
treecolors[2]:= 4419986;
treecolors[3]:= 1987658;
treenames[0]:= 'Oak';
treenames[1]:= 'Oak';
treenames[2]:= 'Oak';
if(not(LoggedIn))then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]]) then
begin
FindObjTPA(x, y, treecolors[i], 10, 2, 15, 25, 10, [treenames[0], treenames[1], treenames[2]])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
m:=0;
MarkTime(M);
repeat
Case (Random(3)) of
0: wait(100);
1: wait(3500);
2: wait(3000);
end;
until not(IsUpText('Oak')) or (m > 30000);
end;
end;
end;
end;
procedure rminetin;
begin
orecolors[0]:= 9606046;
orecolors[1]:= 10461356;
orecolors[2]:= 9737632;
orecolors[3]:= 10592685;
if(not(LoggedIn))then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock']) then
begin
FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock'])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
wait(5000);
end;
end;
end;
procedure rminegold;
begin
orecolors[0] := 1816031;
orecolors[1] := 1882852;
orecolors[2] := 1816802;
orecolors[3] := 1748951;
if(not(LoggedIn))then Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock']) then
begin
FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock'])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
wait(5000);
end;
end;
end;
procedure rmineiron;
begin
orecolors[0]:= 2701146;
orecolors[1]:= 2700889;
orecolors[2]:= 2635095;
orecolors[3]:= 2240076;
if(not(LoggedIn))then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock']) then
begin
FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock'])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
wait(5000);
end;
end;
end;
procedure rminecopper;
begin
orecolors[0]:= 4420796;
orecolors[1]:= 5344484;
orecolors[2]:= 6461160;
orecolors[3]:= 7643626;
if(not(LoggedIn))then
Exit;
for i := 0 to 3 do
if FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock']) then
begin
FindObjTPA(x, y, orecolors[i], 10, 2, 15, 25, 10, ['roc','ock','rock'])
Wait(100 + Random(300));
begin
Mouse(x, y, 4, 4, True);
wait(5000);
end;
end;
end;
Code:
//{.include srl/srl/misc/smart.scar}
{.include srl/srl.scar}
{.include jpspowerskills.scar}
var loads:integer;
procedure DeclarePlayers;
begin
HowManyPlayers := 1; // If you add more players , make sure you set this correct, ;)
NumberOfPlayers(HowManyPlayers);
Players[0].Name := ''; //Your username
Players[0].Pass := ''; //Your password
Players[0].Nick := ''; //Nickname from you username
Players[0].Active := True; //Active->True or False.
Players[0].Integers[0] := 40; //Loads to do. Random 3 will be added.
Players[0].Strings[1] := 'mining'; //what skill do u want to do mining or wcing
Players[0].Strings[2] := 'rimmington';//where r u mining
Players[0].strings[3] := 'iron' //what tree or ore do u want to power skill
Players[0].BoxRewards := ['Xp', 'ostume', 'gem', 'mote', 'ithril', 'oal'];//What do u want out of randomns
{ woodcutting
tree = normal oak =oak willow= willow yew = yew
mining
all the normal ore name must be spelled perfectly}
end;
procedure antibanz;
begin
If(not LoggedIn)then Exit;
Case Random(9) of
0: MMouse(Random(MSX2),Random(MSY2),0,0);
1: PickupMouse;
2: SleepAndMoveMouse(400+Random(1500));
3: if Random(2) = 1 then MMouse(1, 338, 515, 165);
4: if Random(2) = 1 then MMouse(515, 1, 250, 503);
5: RandomMovement;
6..9:
begin
case Random(3) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(2000));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(2000));
KeyUp(VK_Left);
end;
2: begin
case Random(2) of
0: begin
KeyDown(VK_RIGHT);
Wait(500+Random(1400));
KeyUp(VK_RIGHT);
end;
1: begin
KeyDown(VK_Left);
Wait(500+Random(1400));
KeyUp(VK_Left);
end;
end;
end;
end;
end;
end;
end;
procedure findrandoms;
begin
LampSkill := 'mining';
FindNormalRandoms;
solvesrlrandoms:=true;
end;
procedure woodcutting;
var
i , m: integer;
treecolors: array [0..3] of integer;
treeNames: array [0..2] of String;
begin
Players[CurrentPlayer].Loc := 'trees';
repeat
if Players[CurrentPlayer].strings[2] = 'willow' then
chopwillows;
if Players[CurrentPlayer].strings[2] = 'tree' then
choptrees;
if Players[CurrentPlayer].strings[2] = 'oak' then
chopoaks;
AntiBanz;
FindRandoms;
if not (LoggedIn) then
begin
NextPlayer(False);
LoginPlayer;
end;
until invfull or inchat('full to')
inc(loads)
end;
procedure logdropping;
var
logdtm:integer;
begin
repeat
logDTM := DTMFromString('78DA63CC66626078C28002EA12AD181E02694' +
'620FE0F048C1940357718D000231209A48B806A6E1250530654F3' +
'88809A6AA09A6704D45400D5BC21A0A618A8E62D0135E940351F0' +
'9A84924C29C58A09AA7B8D570C0CCB94F404D32FE7006A90100DC' +
'FE160C');
If FindDTM(logDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
end;
Until not FindDTM(logDTM,x,y,MIX1,MIY1,MIX2,MIY2);
end;
procedure mineores;
begin
repeat
if Players[CurrentPlayer].strings[2] = 'rimmington' then
begin
if Players[CurrentPlayer].strings[3] = 'tin' then
begin
disguise('mining rimmington tin');
rminetin;
end;
if Players[CurrentPlayer].strings[3] = 'copper' then
begin
disguise('mining rimmington copper');
rminecopper;
end;
if Players[CurrentPlayer].strings[3] = 'iron' then
begin
disguise('mining rimmington iron');
rmineiron;
end;
if Players[CurrentPlayer].strings[3] = 'gold' then
begin
disguise('mining rimmington gold');
rminegold;
end;
end;
if Players[CurrentPlayer].strings[2] = 'varrock' then
begin
if Players[CurrentPlayer].strings[3] = 'tin' then
begin
disguise('mining varrock tin');
vminetin;
end;
if Players[CurrentPlayer].strings[3] = 'copper' then
begin
disguise('mining varrock copper');
vminecopper;
end;
if Players[CurrentPlayer].strings[3] = 'iron' then
begin
disguise('mining varrock iron');
vmineiron;
end;
if Players[CurrentPlayer].strings[3] = 'silver' then
begin
disguise('mining varrock silver');
vminesilver;
end;
end;
AntiBanz;
FindRandoms;
if not (LoggedIn) then
begin
NextPlayer(False);
LoginPlayer;
end;
until invfull or inchat('full to')
end;
procedure OreDropping;
var OreDTM:integer;
begin
OreDTM := DTMFromString('78DA637463626078C28002FC0C54181E02694' +
'620FE0F048CEE40353718D000231209A403816AEE1350E30D54F3' +
'86801A7BA09A4F04D49800D53C26C29CEBF8D5000045B70DB0');
repeat
Disguise('dropping ores');
If FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2) then
Begin
Mouse(x,y,2,2,False);
wait(random(200));
ChooseOption('Drop');
wait(500 + random(100))
findrandoms;
end;
Until not FindDTM(OreDTM,x,y,MIX1,MIY1,MIX2,MIY2);
inc(loads);
end;
procedure proggy;
begin
cleardebug;
SrlRandomsReport;
WriteLn(' _____ ______')
WriteLn(' | || \ ')
WriteLn(' | || | ')
WriteLn(' | || ___/ ')
WriteLn(' /_____/ |__| Power Skiller')
WriteLn('_________________________________________________')
WriteLn(' Ran for ' + timerunning )
// WriteLn(' Skill trained ' + Players[CurrentPlayer].Strings[1] )
WriteLn(' Loads done ' + inttostr(loads));
WriteLn(' Thank You For Using JP Power skiller')
end;
begin
//SmartSetupEx(1, false, false, false);
//while not SmartActive do wait(100);
//SetTargetDC(SmartGetDC);
setupsrl;
setupmining;
LoadRockRecords;
activateclient;
//GraphicsSet := true;
{declareplayers;
loginplayer;}
loads:=0;
repeat
GetTimeRunning;
proggy
if Players[CurrentPlayer].strings[1] = 'woodcutting' then
woodcutting;
if Players[CurrentPlayer].strings[1] = 'woodcutting' then
logdropping;
if Players[CurrentPlayer].strings[1] = 'mining' then
mineores;
if Players[CurrentPlayer].strings[1] = 'mining' then
oredropping;
until(loads = 40)
end.