ronny.m.p
2007-06-03 17:37:02
<!– BEGIN TEMPLATE: formanswers –>
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++, PHP
Other Communitys
Sythe.org, Rsforums.org
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.
I started programing when I was 8 years old. My dad encouraged me to learn C++ at this
young age to try and make me as computer litterate as possible when I got older.
After a couple years of C++ I joined runescape. About a year after I joined i found
out about SCAR and I fell in love. Pascal didn't have the same power as C++ but it was
different and I could do things I wouldnt have been able to do before in C++. About a
month after I found SCAR I found SRL. SRL was a huge step forward for me. At first I
was able to do simple SCAR scripts like AutoTalkers, Then i noticed that SRL unlocked another level of scripting.
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. Somewhere between C++ and Pascal I also developed PHP skills.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
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++, PHP
Other Communitys
Sythe.org, Rsforums.org
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.
I started programing when I was 8 years old. My dad encouraged me to learn C++ at this
young age to try and make me as computer litterate as possible when I got older.
After a couple years of C++ I joined runescape. About a year after I joined i found
out about SCAR and I fell in love. Pascal didn't have the same power as C++ but it was
different and I could do things I wouldnt have been able to do before in C++. About a
month after I found SCAR I found SRL. SRL was a huge step forward for me. At first I
was able to do simple SCAR scripts like AutoTalkers, Then i noticed that SRL unlocked another level of scripting.
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. Somewhere between C++ and Pascal I also developed PHP skills.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
//----------------------------------------------------------------------------//
// 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 FindColorSkipBoxArrayTolerance cutting procedures.
//----------------------------------------------------------------------------//
program RATPC;
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Skill/Fighting.Scar}
Var
StartedCutting, RonnyTree, LogsToCut : Integer;
TreeName, TreeUpText : String;
TSBox: TBoxArray;
LogsCut, TC1: Integer;
Var
frmDesign : TForm;
ExecuteBttn1 : TButton;
RadioButton1 : TRadioButton;
RadioButton2 : TRadioButton;
RadioButton3 : TRadioButton;
Label1 : TLabel;
EditBox1 : TEdit;
Willow1: Integer;
Oak1: Integer;
NTree1: Integer;
Procedure DeclarePlayers;
Begin
CurrentPlayer:=0;
NumberOfPlayers(4);
Players[0].Name := ''; //Runescape Name
Players[0].Pass := ''; //Runescape Password
Players[0].Nick := ''; //3-4 letters of your RSN
Players[0].Boolean1:= True; //is axe equipped?
Players[0].Active:= True; //Is your player active?
Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].Boolean1:= True;
Players[1].Active:= True;
Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';
Players[2].Boolean1:= True;
Players[2].Active:= True;
Players[3].Name := '';
Players[3].Pass := '';
Players[3].Nick := '';
Players[3].Boolean1:= True;
Players[3].Active:= True;
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
I, Tol: Integer;
Begin
If(InvFull)Then Exit;
SetArrayLength(TSBox,0);
Repeat
Tol:= 0;
Repeat
If(FindColorSkipBoxArrayTolerance(x,y,RonnyTree,MSX1,MSY1,MSX2,MSY2,Tol,TSBox))Then
Break Else Tol:= Tol + 1;
Wait(3);
Until(False);
If(Tol > 50)Then break
Else
Begin
MMouse(x,y,5,5)
WaitRonny(150+Random(20));
If(FindColorSkipBoxArrayTolerance(x,y,TC1,MSX1,MSY1,MSX2,MSY2,Tol,TSBox))Then
Begin
MMouse(x,y,5,5)
Wait(50+Random(50));
If(IsUpText(TreeUpText))Then
Begin
Getmousepos(x,y)
Result:= true;
SetArrayLength(TSBox,0);
exit;
End Else
Begin
i:= GetArrayLength(TSBox);
SetArrayLength(TSBox,i+1);
Getmousepos(x,y);
TSBox[i].x1:= x - 30;
TSBox[i].y1:= y - 30;
TSBox[i].x2:= x + 30;
TSBox[i].y2:= y + 30;
End;
End Else
Begin
If(IsUpText(TreeUpText))Then
begin
Getmousepos(x,y)
Result:= true;
SetArrayLength(TSBox,0);
Exit;
end else
begin
i:= GetArrayLength(TSBox);
SetArrayLength(TSBox,i+1);
Getmousepos(x,y);
TSBox[i].x1:= x - 30;
TSBox[i].y1:= y - 30;
TSBox[i].x2:= x + 30;
TSBox[i].y2:= y + 30;
end;
End;
End;
Until(Result);
End;
Procedure EvadeEnt;
Var
First : Integer;
Begin
First := MouseSpeed;
MouseSpeed := 3;
Mouse(647,131,20,20,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
EvadeEnt;
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(1,28);
LogsCut:= LogsCut + 28;
End Else
Begin
DropTo(2,28);
LogsCut:= LogsCut + 27;
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;
Oak1:= 2256992;
NTree1:= 2256992;
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 ProgressReport;
var
Gained : integer;
Begin
Gained:= LogsCut * 25;
Writeln('=============== Progress Report ===============');
Writeln(' Worked: ' + TimeRunning);
Writeln(' Cut: ' + IntToStr(LogsCut) + ' Tree''s');
Writeln(' Gained: ' + IntToStr(Gained) + ' Exp');
Writeln('===============================================');
End;
procedure OnClick(Sender: TObject);
Begin
LoadTreeVars;
If(RadioButton1.Checked)Then
Begin
Writeln('You Chose Willow');
TreeUpText := 'illow';
RonnyTree:= 2926736;
TC1 := Willow1;
End;
If(RadioButton2.Checked)Then
Begin
Writeln('You Chose Oak');
TreeUpText := 'ak';
RonnyTree:= 2256992;
TC1:= Oak1;
End;
If(RadioButton3.Checked)Then
Begin
Writeln('You Chose Normal Trees');
TreeUpText := 'own Tree';
RonnyTree:= 2256992;
TC1:= NTree1;
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;
Repeat
SetUpPlayer;
Repeat
If(Not Loggedin)Then break;
CutSpecificTree;
DropLogs;
WaitRonny(150+random(50));
Until(LogsCut >= LogsToCut);
ProgressReport;
If(Loggedin)Then NextPlayer(true)
Else NextPlayer(false);
Until(false);
End.——————————————————
<!– END TEMPLATE: formanswers –>