Mr. Doctor
2010-01-24 16:56:41
How Long have You Played Runescape?
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Junior
What is your general programming knowledge?
Scar
Are you a member of any other communities?
MoparIsTheBest, TheHDD(Doesn't work for me) and some others.
Tell us about yourself…
Please show us one (or multiple) of your scripts.
6 Year(s)
Are you affilated in anyway with Jagex LTD?
No
Were you Referred to SRL?
Junior
What is your general programming knowledge?
Scar
Are you a member of any other communities?
MoparIsTheBest, TheHDD(Doesn't work for me) and some others.
Tell us about yourself…
From: Junkj
13-years-old. Starting scripting when I was 10. I've gained a lot of knowledge by then. I also like to play video games. I think this is my fifth application.
Please show us one (or multiple) of your scripts.
program PMOW;
{.Include SRL/SRL.SCAR}
{.Include SRL/SRL/Skill/WoodCutting.SCAR}
////////////////////////////////////Information/////////////////////////////////
//Chopping : I near perfected this procedure and it should work fine in a
//Forest type place where nobody is and no NPC is anywhere in sight. Only chops
//Trees or oaks. No one would drop willows or yews. Crazy people would.
//Mining : Works, i used it plenty of times. Chops Iron, Copper or Tin.(<-Smarter Child)
//NOTE*** This is a "bit more than beta" version. Don't expect it to be AWESOME!
////////////////////////////////////////////////////////////////////////////////
// Made by Junkj// Made by Junkj// Made by Junkj// Made by Junkj// Made by Junkj
////////////////////////////////////////////////////////////////////////////////
//Global Vars
Var Mined, Chopped, loads, ColorInt :integer;
Var XPG :string;
///////////////////////////////////SETUP////////////////////////////////////////
/////////////////////InfoBox////////////////////
// Put your (pick)axe in inventory slot one //
// and go to a mine/forrest and run the script//
////////////////////////////////////////////////
procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
///// fill all of below in
Players[0].Name := 'f'; // username
Players[0].Pass := 'y'; //password
Players[0].Nick := 'i'; //3-4 letters of your name. No first letter or caps
Players[0].Active := true; //if it's active
Players[0].strings[0]:= 'copper'; //what rock you mining? copper, iron or tin(If mining)
Players[0].strings[1]:= 'chop'; // chop or mine
Players[0].integers[0]:= 10; // ore/logs to mine/chop
Players[0].booleans[0] := False; //Is your axed equiped? If not read InfoBox ^^^
end;
////////////////////////////END//OF//SETUP//////////////////////////////////////
Procedure LogCheck;
begin
If(Not(Loggedin))Then
begin
Writeln('Logged out somehow, terminating...');
TerminateScript;
end;
end;
procedure Anti; forward;
Procedure LvlProof;
begin
SaveScreenshot('Yea');
ClickToContinue;
Anti;
end;
Procedure Anti;
begin
LogCheck;
FindNormalRandoms;
If(ClickContinue(false, true)) then LvlProof;
case random(40) of
0:HoverSkill('Random',false);
1:SleepAndMoveMouse(1000+random(500));
2:RandomRClick;
3:PickUpMouse;
4:RandomMovement;
end;
wait(100+random(100))
end;
function ACIron: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 1711918, MSX1, MSY1, MSX2, MSY2, 24);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 3.83) and (H <= 4.92) and (S >= 28.55) and (S <= 29.65) and (L >= 8.80) and (L <= 19.24) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 0.81) and (X <= 3.20) and (Y >= 0.74) and (Y <= 2.85) and (Z >= 0.57) and (Z <= 1.99) then
begin
Result := arC[i];
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACCopper: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MSCX, MSCY, arP, 4621284, MSX1, MSY1, MSX2, MSY2, 32);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 6.33) and (H <= 6.46) and (S >= 56.89) and (S <= 97.79) and (L >= 51.74) and (L <= 64.92) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 31.45) and (X <= 52.03) and (Y >= 25.38) and (Y <= 41.71) and (Z >= 7.78) and (Z <= 12.53) then
begin
Result := arC[i];
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
function ACTin: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 9671834, MMX1, MMY1, MMX2, MMY2, 24);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 0.00) and (H <= 2.40) and (S >= 2.52) and (S <= 4.42) and (L >= 53.71) and (L <= 64.33) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 23.62) and (X <= 35.26) and (Y >= 24.33) and (Y <= 36.37) and (Z >= 25.98) and (Z <= 38.43) then
begin
Result := arC[i];
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
Procedure DropFT(FromS, ToE : integer);
Var I :Integer;
Begin
If(InvEmpty) Then Exit;
GameTab(tab_inv);
For I:= FromS To ToE do
DropItem(I);
end;
Procedure Dropper;
begin
If(Players[CurrentPlayer].Booleans[0]=False) then
begin
DropFT(2,28);
end else
If(Players[CurrentPlayer].Booleans[0]=True) then
DropFT(1, 28);
end;
procedure MineIt;
var X, Y, I, E :integer;
begin
if(not(loggedin))then exit;
if(invfull) then Dropper;
findcolorspiraltolerance(x, y, ColorInt, msx1, msy1, msx2, msy2, 20);
mmouse(x,y,3,3);
if(waituptext('ine',300+random(300)))then
begin
GetMousePos(x, y);
mouse(x,y,3,3,true);
i := InvCount;
MarkTime(E);
while (InvCount = i) and (TimeFromMark(E) < Players[currentplayer].integers[1]) do Anti;
if(not(invcount = i)) then Mined:=Mined+1
end;
end;
function ACTree : integer;
var
Acolor :integer;
begin
Case Random(5) of
0 : Acolor := 6267798;
1 : Acolor := 1390897;
2 : Acolor := 2839627;
3 : Acolor := 4548957;
4 : Acolor := 5796195;
end;
Result := Acolor;
end;
Procedure Chopping;
Var X, Y, I, T, K, O :integer;
Var MTB :Tbox;
begin
if(not(loggedin))then exit;
if(invfull) then Dropper;
ACTree;
If(FindColorSpiralTolerance(x, y, ACTree, MSX1,MSY1,MSX2,MSY2, 20)) then
begin
MakeCompass(Random(100));
mmouse(x,y,3,3);
if(waituptext('ree',50+random(75))) or (waituptext('ak',300+random(300))) then
begin
I := InvCount;
GetMousePos(x,y);
mouse(x,y,3,3,true);
Wait(10+Random(20))
Flag;
MarkTime(O);
Wait(1000+Random(200))
MTB.X1:= MSCX-100;
MTB.Y1:= MSCX-100;
MTB.X2:= MSCX+100;
MTB.Y2:= MSCX+100;
while (PixelShift(MTB, 1000) <= 4000) and (Not(InvFull)) and (TimeFromMark(O) < 60000) do Anti;
T := InvCount;
K := T-I;
Chopped := Chopped +K;
if(invfull) then Dropper;
end;
end;
end;
Procedure ScriptTerminate;
begin
Writeln('|===Junkj"s [P]ower [M]iner [Or] [W]oodcutter');
Writeln('|Ran for ' + TimeRunning);
Case Lowercase(Players[0].strings[1]) of
'mine': Writeln('|Mined ' + IntToStr(Mined) + ' ore and gained Approx. ' + IntToStr(Mined*(StrToInt(XPG))) + ' XP');
'chop': Writeln('|Chopped ' + IntToStr(Chopped) + ' and gained Approx. ' + IntToStr(Chopped*25) + ' XP');
end;
Writeln('|Did ' + IntToStr(Loads) + ' Loads');
Writeln('|CopyRighted PMOW© by the original creater: JunkJ®');
Writeln('========THANK-JOO-FOR-USING-MY-SCRIPT========');
end;
Procedure DeclareStuff;
begin
case Lowercase(Players[currentplayer].strings[0]) of
'iron': XPG := '35';
'copper': XPG := '17.5';
'tin': XPG := '17.5';
end;
case Lowercase(Players[currentplayer].strings[0]) of
'iron': ColorInt := ACIron;
'copper': ColorInt := ACCopper;
'tin': ColorInt := ACTin;
end;
end;
Procedure DeclareA;
begin
Case (Lowercase(Players[CurrentPlayer].Strings[1])) of
'chop' : Chopping;
'mine' : MineIt;
end;
end;
begin
SetUpSRL;
ActivateClient;
ClearDebug;
Disguise('PMOW© by JunkJ®')
DeclarePlayers;
GraphicsSet:= True;
DeclareStuff;
If(Not(Loggedin))Then loginplayer;
Repeat
DeclareA;
Until(Mined >= Players[CurrentPlayer].integers[0]) or (Chopped >= Players[CurrentPlayer].integers[0])
end.
I was actually BANNED on the IRC for 3 days. So much for help. Everyone was also AFK on the jnrpms too.
I only saw two junior member scripts in the first page. And my new scripts always sink to the bottom. LRK, RMDOS, Dread cutter and now PMOW.