SRL Archive - Archive

macromacro123 - SRL Member Application Form


macromacro123

2008-01-07 23:32:44

<!– BEGIN TEMPLATE: formanswers –>
macromacro123 - SRL Member Application Form
macromacro123

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
basics of Java

Other Communitys


How Long have You Played Runescape
4 years

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

Hi I tried about 3 times to become a member of this community but I didn't get to. I worked on some more scripts here and I am posting them. I'd like to contribute more in this community by being a member of it. I have used SCAR since 2 years now and I learned alot about scripting. I posted some scripts in WC section and in Fishing section of SRL forums. I worked on a simple power chopper which got my army of 10 to 60 in 1 week. It works pretty well. I also will be posting my Varrok yew cutter(s). Thanks alot.

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

Here is my Power Chopper(very simple but works great and uses SRL coding):

Instructions:

- Have axe in first inv slot.
- Start logged out.


program PowerChopper;

{.include SRL/SRL.scar}

{******************************************************************************}

var
c, t, x, y: Integer;

{******************************************************************************}

const
j = 'Willow'; // Name of the tree to cut.
q = 'N'; // Direction to run if fight found.

{******************************************************************************}

procedure DeclarePlayers;
begin
NumberOfPlayers(1);

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active := True;
Players[0].Integers[0] := 3; // Loads to do.

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

{******************************************************************************}

procedure SetUpScript;
begin
SetUpSRL;
DeclarePlayers;
MouseSpeed := 15;
FindRS;
LogInPlayer;
end;

{******************************************************************************}

procedure macromacro123;
begin
ClearDebug;
WriteLn('******** ******* ******* ****** *****');
WriteLn('** ** ** ****** ** ** ** **');
WriteLn('** ** ** ** ** ** ** ** **');
WriteLn('** ** ** ******* ******* ** *****');
Wait(500);
WriteLn('******** ******* ******* ****** *****');
WriteLn('** ** ** ****** ** ** ** **');
WriteLn('** ** ** ** ** ** ** ** **');
WriteLn('** ** ** ******* ******* ** *****');
Wait(500);
WriteLn(' ** *** ****');
WriteLn('*** * ** **');
WriteLn(' ** ** *');
WriteLn(' ** **** ***');
Wait(500);
WriteLn(' __________________');
WriteLn('| macromacro123''s |');
WriteLn('| Power Chopper |');
WriteLn('| v0.1 |');
WriteLn('|__________________|');
Wait(500);
end;

{******************************************************************************}

function FindBrokenAxe: Boolean;
var
BrokenAxe: Integer;
begin
BrokenAxe := DTMFromString('78DA63F4656260B8C580021C1CE218FE03694' +
'620FE0F048C7E40353718D000231209A48330CDC1501300547387' +
'08350F09A8F106AAB94B408D2B50CD4D026ADC816AAEE3570300B' +
'6A30F3B');
if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Result := True;
WriteLn('******** FOUND BROKEN AXE ********');
WriteFileString(TheFile, '******** FOUND BROKEN AXE ********' + Chr(13));
Players[CurrentPlayer].Loc := 'Broken Axe';
LogOut;
Exit;
end;
FreeDTM(BrokenAxe);
end;

{******************************************************************************}

procedure RunBack123;
var
a, p, w: Integer;
begin
a := 643;
p := 83;
w := 50;
if q = 'N' then
begin
Mouse(a, p + w, 4, 4, True);
Flag;
end else
if q = 'S' then
begin
Mouse(a, p - w, 4, 4, True);
Flag;
end else
if q = 'W' then
begin
Mouse(a + w, p, 4, 4, True);
Flag;
end else
if q = 'E' then
begin
Mouse(a - w, p, 4, 4, True);
Flag;
end;
end;

{******************************************************************************}

function HandleFight: Boolean;
begin
if FindFight then
begin
Result := True;
RunAwayDirection(q);
RunBack123;
end;
end;

{******************************************************************************}

procedure EntWait(Time: Integer);
var
t: Integer;
begin
for t := 1 to Time do
begin
Wait(375 + Random(125));
FindTalk;
HandleFight;
end;
end;

{******************************************************************************}

procedure SolveEnt;
begin
MouseFindNoFlag(MMCX, MMCY, -1, 1);
EntWait(35);
EntsAvoided := EntsAvoided + 1;
end;

{******************************************************************************}

function FindEnt123: Boolean;
begin
if FindColorTolerance(x, y, 55769, 85, 15, 115, 15, 20) then
begin
Result := True;
WriteLn('******** FOUND ENT ********');
WriteFileString(TheFile, '******** FOUND ENT ********' + Chr(13));
SolveEnt;
WriteLn('******** ENT AVOIDED ********');
WriteFileString(TheFile, '******** ENT AVOIDED ********' + Chr(13));
end;
end;

{******************************************************************************}

function Prsnt: Boolean;
begin
if IsUpText(j)then
begin
Result := True;
end;
end;

{******************************************************************************}

function Present: Boolean;
begin
if FindObjCustom(x, y, [j], [4690821], 5) then
begin
Result := True;
end;
end;

{******************************************************************************}

function FindFRandoms: Boolean;
var
i: Integer;
begin
for i := 1 to 3 do
begin
case i of
1: Result := FindEnt123;
2: Result := HandleFight;
3: Result := FindBrokenAxe;
end;
if Result then
Break;
end;
end;

{******************************************************************************}

function FindRandoms123: Boolean;
var
i: Integer;
begin
for i := 1 to 2 do
begin
case i of
1: Result := FindNormalRandoms;
2: Result := FindFRandoms;
end;
end;
end;

{******************************************************************************}

procedure Wait123(Time: Integer);
var
t: integer;
begin
for t := 1 to Time do
begin
Wait(375 + Random(125));
if not LoggedIn then Exit;
FindRandoms123;
if InvFull then Exit;
if not Prsnt then Exit;
end;
end;

{******************************************************************************}

procedure Chop;
begin
GetMousePos(x, y);
FindEnt123;
Mouse(x, y, 0, 0, True);
Wait123(15 + Random(15));
end;

{******************************************************************************}

procedure xy;
var
tt: Integer;
begin
if not LoggedIn then Exit;
if InvFull then Exit;
if Prsnt then Chop;
if Present then Chop;
MarkTime(tt);
repeat
if not LoggedIn then Exit;
if InvFull then Exit;
FindRandoms123;
MouseBox(5, 5, 513, 336, False);
until Present or
(TimeFromMark(tt) >= 300000);
if TimeFromMark(tt) >= 300000 then
begin
Players[CurrentPlayer].Loc := 'Lost';
LogOut;
Exit;
end else
if Present then Chop;
end;

{******************************************************************************}

procedure ChopDown;
begin
repeat
if not LoggedIn then Exit;
xy;
until InvFull;
end;

{******************************************************************************}

procedure DropLog;
begin
if InvFull then
begin
DropToPosition(2, 28);
Players[CurrentPlayer].Banked := Players[CurrentPlayer].Banked + 1;
c := c + 1;
t := t + 1;
end;
end;

{******************************************************************************}

procedure PlayerStats;
var
Active: string;
i: Integer;
begin
WriteLn('**************************************');
WriteLn('Name: ' + Players[CurrentPlayer].Name);
WriteLn('Number: ' + IntToStr(CurrentPlayer));
WriteLn('Worked: ' + IntToStr(Players[CurrentPlayer].Worked) + ' Minute[s]');
WriteLn('Loaded: ' + IntToStr(Players[CurrentPlayer].Banked) + ' Time[s]');
WriteLn('Droped: ' + IntToStr(Players[CurrentPlayer].Banked * 27) + ' ' + j + ' log[s]');
if Players[CurrentPlayer].Active = True then Active := 'True' else Active := 'False';
WriteLn('Active: ' + Active);
WriteLn('Location: ' + Players[CurrentPlayer].Loc);
WriteLn('Random: ' + Players[CurrentPlayer].Rand);
WriteLn('**************************************');
for i := 0 to HowManyPlayers - 1 do
begin
if Players[i].Active = True then Active := 'True' else Active := 'False';
WriteLn((IntToStr(i)) + ': ' + Players[i].Name + ' = ' + Active + ' - Loaded: ' + IntToStr(Players[i].Banked) + ' Time[s]' +
' - Droped: ' + IntToStr(Players[i].Banked * 27) + ' ' + j + ' log[s]' + ' - Worked: ' + IntToStr(Players[i].Worked) + ' Minutes[s].' +
' - Loc: ' + Players[i].Loc + ' - Rand: ' + Players[i].Rand);
end;
WriteLn('**************************************');
end;

{******************************************************************************}

procedure ProgressReport;
begin
SRLRandomsReport;
WriteLn(' __________________');
WriteLn('| macromacro123''s |');
WriteLn('| Power Chopper |');
WriteLn('| v0.1 |');
WriteLn('|__________________|');
WriteLn('|Worked: ' + TimeRunning);
WriteLn('|Loaded: ' + IntToStr(t) + ' Time[s]');
WriteLn('|Droped: ' + IntToStr(t * 27) + ' ' + j + ' log[s]');
WriteLn('|__________________|');
end;

{******************************************************************************}

begin
macromacro123;
GetApplication.MINIMIZE;
SetUpScript;
repeat
repeat
HighestAngle;
ChopDown;
DropLog;
PlayerStats;
ProgressReport;
until (Players[CurrentPlayer].Integers[0] = c) or (not(LoggedIn));
if Players[CurrentPlayer].Integers[0] = c then
begin
LogOut;
NextPlayer(True);
c := 0;
end else
if not LoggedIn then
begin
NextPlayer(False);
c := 0;
end;
until False;
end.

Thanks again.:)

——————————————————
<!– END TEMPLATE: formanswers –>

gerauchert

2008-01-07 23:48:38

I dont know man, not a whole lota failsafes going on and its really simple…

Imo you should combine a bunch of those tiny procs into one…you really dont need to make a procedure if its gonna be 3 lines of code lol.

Lets see what the rest of em say…

P1nky

2008-01-07 23:55:21

i agree totally with gera you got the chop proc 3-4 lines wtf?

so try to make it in more detail coding

JAD

2008-01-07 23:58:24

Sorry, no from me.

Too simple, not enough fail safes, too much junk in there. More meet please.

I feel like I just bought a 1 pound steak and found out that 7/10 of it was a bone… (line wise, anyways).

Good try though. Just learn a little more about scripting. You're definitely onto a good start.

Keep it up!

BobboHobbo

2008-01-08 00:49:15

I dont get it dude, your not even active at the forums and you have or say you have a varrock yew cutter why dont you apply with that.

Script is to simple No from me.

Negaal

2008-01-08 01:17:06

From: JAD
Sorry, no from me.

Too simple, not enough fail safes, too much junk in there. More meet please.

I feel like I just bought a 1 pound steak and found out that 7/10 of it was a bone… (line wise, anyways).

Good try though. Just learn a little more about scripting. You're definitely onto a good start.

Keep it up!


^^ - Jad reads my mind

You were member before?

Santa_Clause

2008-01-08 04:04:06

No-one bothered commenting on his standards.

BobboHobbo

2008-01-08 04:48:41

Haha, never relized.

Its
Procedure Dognog;
Begin
if FindDogNog('Santa_clause') then
Begin
DognogDinner;
end else
writeln('DOG NOG');
end;

GoF

2008-01-08 06:39:48

Make it more complex and you get a yes from me. Good start, keep it up.

WT-Fakawi

2008-01-08 07:05:19

You get a yes from me, because I know where you are coming from (former Village Clown). The first script you published here had nothing to do with programming.

You have learned a lot in a short while, and I am sure you will continue to do so.

Though strictly speaking it is not enough, I will hope you get in, because you have shown the ways of SRL.

Keep up the good work.

n3ss3s

2008-01-08 08:28:09

Sorry, even how touching fawki's post is, but your script just didn't fill the requirements.

List of the needed features from your script:

  • DTMs / DDTMs
  • If DTMs or DDTMs being used, usage of Bitmaps.
  • A way of walking - Radial or DDTMs (or TPAs ;) )
  • SRL MultiPlayer, this does not mean the script has worked on multiple players, it means it contains a valid player array and changes players by the SRL playerchanging standards.
  • FailSafes, these must appear in your walking too.
  • Standards.


Also, your script has to be complex enough.
[NOTE: Following is not directed at you, is just an example]

Enough does not mean that you drop a NextPlayer here and there, when it fills all those requirements mostly without bad screw ups, it will automatically become complex.

Also if exist, replacing a FindObj with your own custom finder - FindTree etc (that ofcourse doesn't then use FindObj -.-) helps adding complexity if it still feels too simple.

Its not much to fix, but its big difference in the script (talking of the whole post above) - like in movies when they say its a small step for a man, but a big step for mankind.


Good luck on your next apply :)

EvilChicken!

2008-01-08 10:19:04

Ì won't vote on this app.

But I feel that the scipt is really..
Too simple to get into SRL members.

King of Knives

2008-01-08 10:52:45

I think I saw an application of yours a good time back. There, you said that if you got in, you would publish it. And here you say you will show it in your application. And you don't. This is making me get a suspicious that it doesn't even exist.

The standards are pretty bad.

you do:

Procedure SomeProcedure;
var I: Integer;
begin
I:= 0;
end;
How you should do

Procedure SomeProcedure;
var I: Integer;
begin
I:= 0;
end;

Anyway, it's a no from me because I think it's too simple.

-Knives

Markus

2008-01-08 12:54:13

Yes.

Naum

2008-01-08 13:37:25

Sorryno. From me Standards arent life threatening. But Cases are
procedure RunBack123;
var
a, p, w: Integer;
begin
a := 643;
p := 83;
w := 50;
if q = 'N' then
begin
Mouse(a, p + w, 4, 4, True);
Flag;
end else
if q = 'S' then
begin
Mouse(a, p - w, 4, 4, True);
Flag;
end else
if q = 'W' then
begin
Mouse(a + w, p, 4, 4, True);
Flag;
end else
if q = 'E' then
begin
Mouse(a - w, p, 4, 4, True);
Flag;
end;
end;

Instead of that use

Procedure RunBack123;
Var
a, p, w : integer;
Begin
Case Lowercase(q) of
'w':
and so on...

Cases help tidy your work up and i think that you have lots of potential in you.
Also you may want to watch the activity levels, we dont appricieate people who get into members and stay inactive.
Good Luck on you next Application.

->{Nauman}<-

P.S This is a very good tut on SRL Members.

Sir R. M8gic1an

2008-01-08 13:55:24

[offt]always making publicity for your tut… :)[/offt]

for me standards are a matter of life or death when they're too off, but i've seen worse. but still procedures such as this one make me wonder if your not just trying to make it look bigger.

function FindRandoms123: Boolean;
var
i: Integer;
begin
for i := 1 to 2 do
begin
case i of
1: Result := FindNormalRandoms;
2: Result := FindFastRandoms;
end;
end;
end;

that could be done by just calling FindNormalRandoms, every now and then. because with the last revision FindNormalRandoms already includes FindFastRandoms.

I have absolutely no idea about what fawki is talking about in his post.

~RM

Jackrawl

2008-01-08 15:45:57

Aye aye, I'm not voting.
The first thing I noticed is that your function always makes the dtm of the axe, but if it does find it, it never frees the dtm. Then I don't see it ever being used… Some of your functions could just be used like, for example
if FindObjCustom(x, y, [j], [4690821], 5) then…That in itself does it. There was no reason to write a 'present' function when it returns a boolean, just like FindObj…Except it can only return True.

macromacro123

2008-01-08 15:59:37

oh well i tought it was good enuff to get in members… i have read the conditions of the scripts to get in member and never said it has to be complex???? and then people here say it isnt complex enuff when it clearly says it can be a simple power chopper in the applying rules and has only to show that it uses SRL coding… WTF????
humm also some people say it has no DTM.. have you seen the broken axe procedure? also hasnt switching players (you know it is not because i have set 1 player that you can't add more of them (i tought members would know that)).

mmm ill be posting my yew cutter if i dont get in the next apply. don't worry the ones who don't belive me that i have a yew cutter. i'll be posting it. bah thanks anyways i guess.. w/e

Jackrawl

2008-01-08 16:10:02

From: macromacro123
oh well i tought it was good enuff to get in members… i have read the conditions of the scripts to get in member and never said it has to be complex???? and then people here say it isnt complex enuff when it clearly says it can be a simple power chopper in the applying rules and has only to show that it uses SRL coding… WTF????
humm also some people say it has no DTM.. have you seen the broken axe procedure? also hasnt switching players (you know it is not because i have set 1 player that you can't add more of them (i tought members would know that)).

mmm ill be posting my yew cutter if i dont get in the next apply. don't worry the ones who don't belive me that i have a yew cutter. i'll be posting it. bah thanks anyways i guess.. w/e


You never use it XD

And yes, you can add players…

macromacro123

2008-01-08 16:12:01

From: King of Knives
I think I saw an application of yours a good time back. There, you said that if you got in, you would publish it. And here you say you will show it in your application. And you don't. This is making me get a suspicious that it doesn't even exist.

The standards are pretty bad.

you do:

Procedure SomeProcedure;
var I: Integer;
begin
I:= 0;
end;
How you should do

Procedure SomeProcedure;
var I: Integer;
begin
I:= 0;
end;

Anyway, it's a no from me because I think it's too simple.

-Knives


the ''bad standards'' as you say are made like this on purpose if you see all my procedures of my script. It's my way of doing it. I think it makes my script more organized. That's just my way of doing it because it makes coding much easier to follow when scripting is more complex and bigger (for me). If you didnt know that, well I learned it from Fakawi's tut. It says that making spaces and organizing stuff makes scripting easier and it does. I think that the way you say its ''correct'' is unorganized.. Thanks anyways for your sad NO on that.

Santa_Clause

2008-01-08 16:13:43

From: macromacro123
oh well i tought it was good enuff to get in members… i have read the conditions of the scripts to get in member and never said it has to be complex???? and then people here say it isnt complex enuff when it clearly says it can be a simple power chopper in the applying rules and has only to show that it uses SRL coding… WTF????
humm also some people say it has no DTM.. have you seen the broken axe procedure? also hasnt switching players (you know it is not because i have set 1 player that you can't add more of them (i tought members would know that)).

mmm ill be posting my yew cutter if i dont get in the next apply. don't worry the ones who don't belive me that i have a yew cutter. i'll be posting it. bah thanks anyways i guess.. w/e


So why don't you post it if you really want to get into Members?

macromacro123

2008-01-08 16:18:35

From: JackLKrawl
You never use it XD

And yes, you can add players…


lol dude are you blind or something;


function FindBrokenAxe: Boolean;
var
BrokenAxe: Integer;
begin
BrokenAxe := DTMFromString('78DA63F4656260B8C580021C1CE218FE03694' +
'620FE0F048C7E40353718D000231209A48330CDC1501300547387' +
'08350F09A8F106AAB94B408D2B50CD4D026ADC816AAEE3570300B' +
'6A30F3B');
if FindDTM(BrokenAxe, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
Result := True;
WriteLn('******** FOUND BROKEN AXE ********');
WriteFileString(TheFile, '******** FOUND BROKEN AXE ********' + Chr(13));
Players[CurrentPlayer].Loc := 'Broken Axe';
LogOut;
Exit;
end;
FreeDTM(BrokenAxe);
end;

god..

macromacro123

2008-01-08 16:21:26

From: Santa_Clause
So why don't you post it if you really want to get into Members?


i JUST said i will in my NEXT apply. my ***NEXT*** apply.

WT-Fakawi

2008-01-08 16:27:04

From: macromacro123
i JUST said i will in my NEXT apply. my ***NEXT*** apply.


Thats the spirit. I seriously like your persistence.

King of Knives

2008-01-08 16:28:10

Macro, no matter how unorganized it looks to you, it is correct :D
And if you really, really want to get into members, hurry up and post your Yew Cutter. It's allowed to edit your SRL Member Application as far as I remember.
And I still don't really believe that you have one, but if you prove me wrong - that you really have a Yew Cutter than can run for 24 hours - I'll be more than happy to give you my apologies.

And I don't really like your attitude to be honest.

-Knives

macromacro123

2008-01-08 16:36:24

From: King of Knives
Macro, no matter how unorganized it looks to you, it is correct :D
And if you really, really want to get into members, hurry up and post your Yew Cutter. It's allowed to edit your SRL Member Application as far as I remember.
And I still don't really believe that you have one, but if you prove me wrong - that you really have a Yew Cutter than can run for 24 hours - I'll be more than happy to give you my apologies.

And I don't really like your attitude to be honest.

-Knives


I do have one, well I have three, and you'll see. It can run more than 24 hours using at least 8 - 10 players. I used 10 players when I runned it for 28 hours. But right now i am updating it as you guys say im unorganized with standards and with the new srl rev 9 im taking off junk. wait a while ill post

Naum

2008-01-08 16:39:32

Are you and Boreas Brothers? Or something every time you hover over macromacro123's reputation sqaure thingy it says:
'Macromacro123 asks why are you reading this? go script?'
This is virtually the same as boreas' Rep thingy?
V Weird!

nielsie95

2008-01-09 04:21:22

Let's continue at the other thread.