ronny.m.p
2007-07-23 08:34:37
ronny.m.p - SRL Member Application Form
ronny.m.p
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C++, Java, HTML, JavaScript, Pascal and learning php (about a novice).
Other Communitys
rsforums, kyab, sythe.
How Long have You Played Runescape
about 2 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Ok, well this is my second srl membership app. My first one was denied because of problems I had with two trusted members. I won't get into detail because there is no point opening old wounds so I will skip to the point. I have solved all problems with one and I beleive the other now understands my reasoning. Which means I am now a full blown scripting machine with no more weight on my shoulders :). In the month that I had to wait (to reapply) I have become an accepted member at KYAB and (with the help of bobarkinator) fixed kyab walking when it went down). Also, according to solarwind, I will be in the next poll to become a gmod there. Now for my scripting background…I have programed in C++ from when I was 8. I know Java from IBot and (more commonly) Ares. I now consider myself novice-advanced in HTML and JavaScript so I am working on learning php. Unlike alot of people I find programing relaxing.
I learned most of what I know from experimenting with SRL. I put a few functions in a loop and seen what
happend. After a few weeks of messing around I started to develope. It started out slow
but so do most things. Soon I finished an array of scripts. Some were good and some were
bad but they worked. Then for another few weeks I started developing functions. I liked
SRL but there are some things that I wanted to take a crack at makeing. Then we come to
now. Now all the work has paid off. I have a fresh shiney new Power Chopper with flawless
functions like FindColorSkipBoxArrayTolerance. Even I was surprised at it's power. And
best of all…it worked (very well). Well there is my history from start to finish in
programing.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Same script as my last app except I updated the FindColorSkipBoxArrayTolerance procedure for better accuracy.
//----------------------------------------------------------------------------//
// Ronny's Any Tree Power Chopper
// by Ronny.m.p
//----------------------------------------------------------------------------//
// Instructions
// 1) Fill in players line 47+
// 2) Have Axe Equiped or in First Inv Slot
// 3) Fill out form
// 4) Press start and your done
//----------------------------------------------------------------------------//
// Credits to
// WT-Fakawi : FindFastRandoms
// SRL Dev Team : Where would i be without you?
// JuKKa : Let me edit then use some AntiRandoms stuff.
//----------------------------------------------------------------------------//
// Information
// Ronny's Any Tree Power Chopper is an advanced power
// chopper useing the latest and greatest functions to
// power it. It shows it's true power within it's
// awsome FindColorSkipBoxArray cutting procedures.
//----------------------------------------------------------------------------//
program RATPC;
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Skill/Fighting.Scar}
Var
i, StartedCutting, RonnyTree, LogsToCut : Integer;
TreeName, TreeUpText : String;
TSBox : TBoxArray;
LogsCut, TC1, TC2, TC3 : Integer;
Var
frmDesign : TForm;
ExecuteBttn1 : TButton;
RadioButton1 : TRadioButton;
RadioButton2 : TRadioButton;
RadioButton3 : TRadioButton;
Label1 : TLabel;
EditBox1 : TEdit;
Willow1,Willow2,Willow3: Integer;
Oak1,Oak2,Oak3: Integer;
NTree1,NTree2,NTree3: Integer;
Procedure DeclarePlayers;
Begin
CurrentPlayer:=0;
NumberOfPlayers(1);
Players[0].Name := 'ronny.m.p'; //Runescape Name
Players[0].Pass := 'harvey'; //Runescape Password
Players[0].Nick := 'onn'; //3-4 letters of your RSN
Players[0].Loc:= 'cutting'; //Dont change this
Players[0].Boolean1:= True; //is axe equipped?
Players[0].Active:= true; //Is your player active?
End;
Function WaitRonny(Time : Integer) : Boolean;
Var Time1: Integer;
Begin
Marktime(time1)
Repeat
Wait(50);
If(FindTalk)Then
Result := True;
Until(result)or(TimeFromMark(Time1)>Time);
End;
Function FindFastRandoms: Boolean; //by WT-Fakawi
var
i: Integer;
begin
for i:=1 to 9 do
begin
case I of
1: If FindDead then
Result := True;
2: If FindMod then
Result := True;
3: If FindMime then
Result := True;
4: If FindMaze then
Result := True;
5: If FindQuiz then
Result := True;
6: If FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: RC;
end;
wait(1);
end;
end;
Procedure AntiRandoms;
begin
if infight then
begin
RunAwayDirection('W');
Wait(5000+Random(3500));
RunBack;
end;
FindFastRandoms;
wait(5)
UseBoxSolver := True
UseCerterSolver := True
UseSandwichSolver := True
FindMaze;
wait(5)
Solvepinball;
wait(5)
TalkToRand;
wait(5)
if (FindQuiz) then
SolveQuiz;
FindNormalRandoms;
end;
function FindTreeEnt : boolean;
begin
if Isuptext('own')then
begin
If FindColorSpiralTolerance(x, y, 55769, 85, 15, 115, 15, 20)then
begin
Result:= True;
Writeln('Found Ent');
EntsAvoided:= EntsAvoided + 1;
end;
end;
end;
Function FindTree: Boolean;
Var
ChopDownTimer, Tol: Integer;
Begin
If(Not Loggedin)Then Exit;
If(InvFull)Then Exit;
Antirandoms;
SetArrayLength(TSBox,0);
Marktime(ChopDownTimer);
Repeat
Repeat
If(FindMSColorTol(x,y,RonnyTree,Tol))Then Break Else Tol:= Tol + 1;
Wait(1);
Until(Tol > 30)
If Tol > 30 Then Exit
Else
Begin
If(TimeFromMark(ChopDownTimer)>3500+Random(1000))Then Break;
Wait(150+Random(150));
If(FindColorSkipBoxArrayTolerance(x,y,TC1,MSX1,MSY1,MSX2,MSY2,Tol,TSBox))Or
(FindColorSkipBoxArrayTolerance(x,y,TC2,MSX1,MSY1,MSX2,MSY2,Tol,TSBox))Or
(FindColorSkipBoxArrayTolerance(x,y,TC3,MSX1,MSY1,MSX2,MSY2,Tol,TSBox))Then
Begin
MMouse(x,y,5,5);
Wait(25);
If(IsUpText(TreeUpText))Then
Begin
Result:= True;
Getmousepos(x,y);
SetArrayLength(TSBox,0);
End Else
Begin
i:= GetArrayLength(TSBox);
SetArrayLength(TSBox,i+1);
Getmousepos(x,y);
TSBox[i].x1:= x - 20;
TSBox[i].y1:= y - 20;
TSBox[i].x2:= x + 20;
TSBox[i].y2:= y + 20;
End;
End;
End;
Until(Result)
If Result Then
Writeln('Found Tree');
End;
Procedure EvadeEnt;
Var
First : Integer;
Begin
First := MouseSpeed;
MouseSpeed := 3;
Mouse(647,131,5,5,true)
Flag;
MouseSpeed := First;
End;
Function IsCutting: Boolean;
Begin
If(Not Loggedin)Then Exit;
If( InvFull )Then Exit;
AntiRandoms;
If(IsUpText(TreeName))Then
Begin
FindFastRandoms
If(FindTreeEnt)Then
Begin
EvadeEnt;
End Else
Result:= True;
If(TimeFromMark(StartedCutting)>10000+Random(5000))Then
Begin
GetMousePos(x,y)
FindFastRandoms
If(IsUpText(TreeName))Then
Begin
Mouse(x,y,0,0,true);
Marktime(StartedCutting);
FindFastRandoms;
End;
End;
End;
End;
Procedure CutSpecificTree;
Begin
If(Not Loggedin)Then Exit;
If(InvFull)Then Exit;
FindFastRandoms;
If(FindTree)Then
Begin
If(FindTreeEnt)Then
Begin
MMouse(Random(MSX2),Random(MSY2),50,50)
Exit;
End;
GetMousePos(x,y)
Mouse(x,y,0,0,true);
Marktime(StartedCutting);
FindFastRandoms
Flag;
FindFastRandoms
End Else
End;
Procedure DropLogs;
Begin
If(Not Loggedin)Then Exit;
If(Not InvFull)Then Exit;
If(Players[CurrentPlayer].Boolean1)Then
Begin
DropTo(2,28);
LogsCut:= LogsCut + 27;
End Else
Begin
DropTo(1,28);
LogsCut:= LogsCut + 28;
End;
End;
procedure Autoretaliate(act : boolean); //credits jukka
begin
Gametab(1)
if FindColorTolerance(x,y,2106255,580, 364,715, 394, 10)then
begin
if not act then
mouse(657, 376,30,10,true)
end else
begin
if act then
mouse(657, 376,30,10,true)
end;
end;
Procedure LoadTreeVars;
Begin
LogsToCut := strtoint(EditBox1.Text);
Willow1:= 5085320;
Willow2:= 2453600;
Willow3:= 3174504;
Oak1:= 1863784;
Oak2:= 2132088;
Oak3:= 5015672;
NTree1:= 5079160;
NTree2:= 726032;
NTree3:= 1929312;
End;
Procedure Setup;
Begin
SetupSRL;
ScriptId := '176';
DeclarePlayers;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
ActivateClient;
If(Not Loggedin)Then Loginplayer;
End;
Procedure SetUpPlayer;
Begin
Autoretaliate(false);
makeCompass('n');
HighestAngle;
end;
procedure OnClick(Sender: TObject);
Begin
If(RadioButton1.Checked)Then
Begin
Writeln('You Chose Willow');
TreeUpText := 'illow';
RonnyTree:= 2926736;
TC1 := TC1;
TC2 := TC2;
TC3 := TC3;
End;
If(RadioButton2.Checked)Then
Begin
Writeln('You Chose Oak');
TreeUpText := 'ak';
RonnyTree:= 3442808;
TC1:= TC1;
TC2:= TC2;
TC3:= TC3;
End;
If(RadioButton3.Checked)Then
Begin
Writeln('You Chose Normal Trees');
TreeUpText := 'own Tree';
RonnyTree:= 4161648;
TC1:= TC1;
TC2:= TC2;
TC3:= TC3;
End;
frmDesign.Caption:= frmDesign.Caption + '.';
frmDesign.ModalResult:= mrOk;
End;
procedure InitForm;
Begin
frmDesign := CreateForm;
frmDesign.Left := 317;
frmDesign.Top := 136;
frmDesign.Width := 189;
frmDesign.Height := 133;
frmDesign.Caption := 'TreeSelecter';
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;
Label1 := TLabel.Create(frmDesign);
Label1.Parent := frmDesign;
Label1.Left := 19;
Label1.Top := 74;
Label1.Width := 65;
Label1.Height := 13;
Label1.Caption := 'Trees To Cut:';
ExecuteBttn1 := TButton.Create(frmDesign);
ExecuteBttn1.OnClick := @OnClick;
ExecuteBttn1.Parent := frmDesign;
ExecuteBttn1.Left := 99;
ExecuteBttn1.Top := 9;
ExecuteBttn1.Width := 75;
ExecuteBttn1.Height := 57;
ExecuteBttn1.Caption := 'Start';
ExecuteBttn1.TabOrder := 8;
RadioButton1 := TRadioButton.Create(frmDesign);
RadioButton1.Parent := frmDesign;
RadioButton1.Left := 7;
RadioButton1.Top := 8;
RadioButton1.Width := 87;
RadioButton1.Height := 17;
RadioButton1.Caption := 'Willow Trees';
RadioButton1.TabOrder := 9;
RadioButton2 := TRadioButton.Create(frmDesign);
RadioButton2.Parent := frmDesign;
RadioButton2.Left := 7;
RadioButton2.Top := 26;
RadioButton2.Width := 85;
RadioButton2.Height := 17;
RadioButton2.Caption := 'Oak Trees';
RadioButton2.TabOrder := 10;
RadioButton3 := TRadioButton.Create(frmDesign);
RadioButton3.Parent := frmDesign;
RadioButton3.Left := 7;
RadioButton3.Top := 44;
RadioButton3.Width := 88;
RadioButton3.Height := 17;
RadioButton3.Caption := 'Normal Trees';
RadioButton3.TabOrder := 11;
EditBox1 := TEdit.Create(frmDesign);
EditBox1.Parent := frmDesign;
EditBox1.Left := 97;
EditBox1.Top := 72;
EditBox1.Width := 46;
EditBox1.Height := 20;
EditBox1.MaxLength := 4;
EditBox1.TabOrder := 12;
end;
procedure SafeInitForm;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('InitForm', v);
end;
procedure ShowFormModal;
begin
frmDesign.ShowModal;
end;
procedure SafeShowFormModal;
var
v: TVariantArray;
begin
setarraylength(V, 0);
ThreadSafeCall('ShowFormModal', v);
end;
Begin
SafeInitForm;
SafeShowFormModal;
Setup;
SetupPlayer;
LoadTreeVars;
Repeat
Repeat
If(Not Loggedin)Then break;
//If(Not IsCutting)Then
CutSpecificTree;
DropLogs;
WaitRonny(150+random(50));
Until(LogsCut >= LogsToCut);
If(Loggedin)Then NextPlayer(true)
NextPlayer(false);
Until(false);
End.——————————————————
<!– END TEMPLATE: formanswers –>