SRL Archive - Archive

rs2pro666 - SRL Member Application Form


Runescape Pro

2007-11-17 04:59:39

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

What is the meaning to life?


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


Programming Knowledge
Not really… But I mess around with vb a little bit.

Other Communitys
I am a member of ipodwizard.net

How Long have You Played Runescape
Around 4.5 years

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

Well, My name is Jessie Mignault and I am from New York. I'm really interested in computers and hope to make a career building computers one day. Before I came to SRL-forums, I was very interested in modding ipods(Backgrounds, Hacked games, Custom everything)…

HOW I CAME HERE:
A long time ago I saw the program scar on google as a macro. After downloading it I was so confused and ended up deleting it. So about 6 months ago I bought an autofighter program for $5 and saw that scar was available for download on that site. I gave it another try and ended up here.

MORE ABOUT ME:
SCAR scripting is a big part of my life…. I am in 10th grade and enjoy going to school. I usually spend my day playing runescape, guitarhero, or hanging out with my friends. I'm really smart in math IMO. And I love music.

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

program Rs2prosVarrockEastFletcherAndStringer;
{.include SRL/SRL.scar}
//----------------------------------------------------//
// //
// --Rs2pros VEB Fletcher/ Stringer-- //
// --Cuts and/or strings anything except magic logs-- //
// -*A fairly populated world helps*- //
// //
//----------------------Setup-------------------------//
//1.Start in Varrock East Bank (most east bank booth).//
//1a. If only fletching or both, start with a knife //
//in your first inventory slot (with more knifes in //
//the bank being visable at the top) and the rest with//
//logs. //
//1b. If only stringing, then have 14 bows (u) in the //
//first 14 slots and the rest bs. //
//2.Fill in your player info (lines 26+27 and 36-42) //
//and hit run =P //
//----------------------------------------------------//
//*If you choose fletch and string, it will fletch 14 //
//times then string 28 times making it even as many //
//times as it can til you run out or you get a random*//
//---------For SCAR DIVI 3.12 and SRL 4 REV 6---------//

const
LoadsToFletch = 10;// Fill in if your only fletching.
LoadsToString = 10;// Fill in if your only stringing.
Version = '1.1';// LEAVE ALONE!

procedure DeclarePlayers;
begin
HowManyPlayers := 3;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';//3 - 4 letters of YOUR username, example: "erna"
Players[0].Booleans[0]:= True;//True=Long / False=Short
Players[0].Integers[0]:= 0000;// Pin if any.
Players[0].Integers[1]:= 1;//1=ONLY fletching, 2=ONLY stringing
Players[0].Active := True;

Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';//3 - 4 letters of YOUR username, example: "erna"
Players[1].Booleans[0]:= True;//True=Long / False=Short
Players[1].Integers[0]:= 0000;// Pin if any.
Players[1].Integers[1]:= 1;//1=ONLY fletching, 2=ONLY stringing
Players[1].Active := True;

Players[2].Name := '';
Players[2].Pass := '';
Players[2].Nick := '';//3 - 4 letters of YOUR username, example: "erna"
Players[2].Booleans[0]:= True;//True=Long / False=Short
Players[2].Integers[0]:= 0000;// Pin if any.
Players[2].Integers[1]:= 1;//1=ONLY fletching, 2=ONLY stringing
Players[2].Active := True;
end;

//------------------------code------------------------//
//--Dont touch below unless you know what you doing.--//

var
Knife, Log, LongbowDTM, ShortbowDTM, BowstringDTM, LogsDone: Integer;
BowsStrung, x, y: Integer;
LoadsDone1, LoadsDone2: Integer;

procedure DeclareDTMS;
begin
Knife := DTMFromString('78DA631462606010664001A539D90CFF81342' +
'310FF0702462E204399010D302291409A0F48C81250230124F808' +
'A89104126C04D48800092EFC6A000CC50739');
Log := DTMFromString('78DA632C66626078C1800282BD6419FE03694' +
'620FE0F048C8D986A20B23012485702D5BC25A026830835354035' +
'8FF0AB01002EEB0CAB');
LongbowDTM := DTMFromString('78DA639CCEC0C010C980029AAA0C18FE03694' +
'620FE0F048CD330D540646124909E0124A270AB01E32940C29F80' +
'9A6E20E1815F0D008BAC0AC0');
ShortbowDTM := DTMFromString('78DA63AC64626078C480025A6BF519FE03694' +
'620FE0F048CD540350F19D000231209A453806ADE1250D3005473' +
'83809A22A09A57F8D5000069E10D01');
BowstringDTM := DTMFromString('78DA63F4676060706640018DA561609A11CA6' +
'7740212BE0C688011554D14916A5C08A80904126604D4B803093B' +
'FC6A00B42D04D0');
end;

procedure Report;
begin
WriteLn('~-~-~-~-~-~-~-~-~-~-~<^>~-~-~-~-~-~-~-~-~-~-~')
WriteLn('> Rs2Pros Fletcher - Progress Report ')
WriteLn('> ')
WriteLn('> Running Time: ' + (TimeRunning) + ' ')
WriteLn('> Bows Fletched: ' + IntToStr(LogsDone) + ' ')
WriteLn('> Bows Strung: ' + IntToStr(BowsStrung) + ' ')
WriteLn('~-~-~-~-~-~-~-~-~-~-~<^>~-~-~-~-~-~-~-~-~-~-~')
end;

procedure TypeRandomNumber;
var
I:Integer;
begin
I:= Random(100)
if InRange(I, 27, 99) then
begin
TypeSend(IntToStr(I));
end;
end;

procedure BankTheItems;
begin
if (not(LoggedIn)) then Exit;
OpenBankQuiet('veb');
if (PinScreen) then
begin
repeat
InPin(IntToStr(Players[CurrentPlayer].Integers[0]));
wait(500);
until (BankScreen);
end;
Deposit(2, 28, 2);
wait(500);
end;

procedure WithdrawLogs;
begin
if(not(LoggedIn))then Exit;
if(not(BankScreen))then Exit;
WriteLn('Withdrawing Logs');
if (FindDTM(Log, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 1, 1, false);
Wait(100 + Random(200));
ClickOption('All', 1);
end else
begin
WriteLn('Didnt Find Logs!');
Exit;
end;
end;

procedure WithdrawBowsAndString;
begin
if(not(LoggedIn))then Exit;
if(not(BankScreen))then Exit;
WriteLn('Withdrawing Bows and BS');
if (Players[CurrentPlayer].Booleans[0]=True) then
begin
if (FindDTM(LongbowDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 5, 5, false);
wait(100 + Random(200));
ClickOption('X', 1);
wait(150 + Random(150));
TypeSend('14');
end;
if (FindDTM(BowstringDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 5, 5, false);
wait(100 + Random(200));
ClickOption('X', 1);
wait(150 + Random(150));
TypeSend('14');
end;
end else
begin
if (FindDTM(ShortbowDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 5, 5, false);
wait(100 + Random(200));
ClickOption('X', 1);
wait(150 + Random(150));
TypeSend('14');
end;
if (FindDTM(BowstringDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 5, 5, false);
wait(100 + Random(200));
ClickOption('X', 1);
wait(150 + Random(150));
TypeSend('14');
end;
end;
end;

function DoneFletching: boolean;
begin
if (not(FindDTM(Log, x, y, 683, 431, 725, 458))) then
begin
Result := True;
end;
end;

function DoneStringing: boolean;
begin
if (not(FindDTM(BowstringDTM, x, y, 683, 431, 725, 458))) then
begin
Result := True;
end;
end;

function LvlUpWhileFletching: boolean;
begin
if (FindNpcChatText('continue')) then
begin
ClickNpcChatText('continue',True);
Result := True;
end;
end;

function LvlUpWhileStringing: boolean;
begin
if (FindNpcChatText('continue')) then
begin
ClickNpcChatText('continue',True);
Result := True;
end;
end;

procedure DoFletching;
begin
if(not(LoggedIn))then Exit;
if (FindDTM(Knife, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 5, 5, true);
end else
begin
WriteLn('Didn''t find a knife!');
Exit;
end;
wait(100 + Random(150));
if (FindDTM(Log, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 5, 5, true);
end;
wait(150 + Random(200));
if (Players[CurrentPlayer].Booleans[0]=True) then
begin
if (FindNpcChatText('ong')) then
begin
ClickNpcChatText('ong',False);
wait(100 + Random(100));
ChooseOption('X');
wait(150 + Random(100));
TypeRandomNumber;
repeat
FindNonInventoryRandoms;
LvlUpWhileFletching;
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileFletching;
MakeCompass('s');
FindNonInventoryRandoms;
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneFletching or LvlUpWhileFletching);
if (LvlUpWhileFletching) then
begin
if(not(LoggedIn))then Exit;
if (FindDTM(Knife, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 5, 5, true);
end else
begin
WriteLn('Didn''t find a knife!');
Exit;
end;
wait(100 + Random(150));
if (FindDTM(Log, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 5, 5, true);
end;
wait(150 + Random(200));
if (Players[CurrentPlayer].Booleans[0]=True) then
begin
if (FindNpcChatText('ong')) then
begin
ClickNpcChatText('ong',False);
wait(100 + Random(100));
ChooseOption('X');
wait(150 + Random(100));
TypeRandomNumber;
repeat
FindNonInventoryRandoms;
LvlUpWhileFletching;
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileFletching;
MakeCompass('s');
FindNonInventoryRandoms;
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneFletching);
end;
end;
end;
end else
if (FindNpcChatText('ort')) then
begin
ClickNpcChatText('ort',False);
wait(100 + Random(100));
ChooseOption('X');
wait(150 + Random(100));
TypeRandomNumber;
wait(100);
FindNonInventoryRandoms;
repeat
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileFletching;
MakeCompass('s');
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneFletching or LvlUpWhileFletching);
if (LvlUpWhileFletching) then
begin
if (FindNpcChatText('ort')) then
begin
ClickNpcChatText('ort',False);
wait(100 + Random(100));
ChooseOption('X');
wait(150 + Random(100));
TypeRandomNumber;
wait(100);
FindNonInventoryRandoms;
repeat
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileFletching;
MakeCompass('s');
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneFletching);
end;
end;
end;
end;
end;

procedure DoStringing;
begin
if(not(LoggedIn))then Exit;
if (Players[CurrentPlayer].Booleans[0]=True) then
begin
if (FindDTM(LongbowDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
wait(100 + Random(150));
end;
if (Players[CurrentPlayer].Booleans[0]=False) then
begin
if (FindDTM(ShortbowDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
wait(100 + Random(150));
end;
if (FindDTM(BowstringDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
wait(100 + Random(150));
if (FindNpcChatText('bow')) then
begin
ClickNpcChatText('bow',False);
wait(100 + Random(100));
ChooseOption('All');
wait(50);
repeat
FindNonInventoryRandoms;
LvlUpWhileStringing;
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileStringing;
MakeCompass('s');
FindNonInventoryRandoms;
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneStringing or LvlUpWhileStringing);
if (LvlUpWhileStringing) then
begin
if(not(LoggedIn))then Exit;
if (Players[CurrentPlayer].Booleans[0]=True) then
begin
if (FindDTM(LongbowDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
wait(100 + Random(150));
end;
if (Players[CurrentPlayer].Booleans[0]=False) then
begin
if (FindDTM(ShortbowDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
wait(100 + Random(150));
end;
if (FindDTM(BowstringDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
Mouse(x, y, 5, 5, true);
if (FindNpcChatText('bow')) then
begin
ClickNpcChatText('bow',False);
wait(100 + Random(100));
ChooseOption('All');
wait(50);
end;
repeat
FindNonInventoryRandoms;
LvlUpWhileStringing;
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileStringing;
MakeCompass('s');
FindNonInventoryRandoms;
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));
until (DoneStringing);
end;
end;
end;

procedure SetupScript;
Begin
ClearDebug;
SetupSRL;
DeclareDTMS;
DeclarePlayers;
NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
ActivateClient;
HighestAngle;
MakeCompass('N');
end;

begin
SetupScript;
LogsDone:=0;
LoadsDone1:=0;
LoadsDone2:=0;
if (Players[CurrentPlayer].Integers[1]=1) then
begin
repeat
DoFletching;
BankTheItems;
WithdrawLogs;
LogsDone:=(LogsDone)+27;
LoadsDone1:=(LoadsDone1)+1;
until(LoadsToFletch = LoadsDone1)or(not(LoggedIn));
if (LoadsToFletch = LoadsDone1) then
begin
Logout;
NextPlayer(True);
end;
if (not(LoggedIn)) then
NextPlayer(True);
end;
if (Players[CurrentPlayer].Integers[1]=2) then
begin
repeat
DoStringing;
BankTheItems;
WithdrawBowsAndString;
BowsStrung:=(BowsStrung)+14;
LoadsDone2:=(LoadsDone2)+1;
until(LoadsToString = LoadsDone2)or(not(LoggedIn));
if (LoadsToString = LoadsDone2) then
begin
Logout;
NextPlayer(True);
end;
if (not(LoggedIn)) then
NextPlayer(True);
end;
end.

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

BobboHobbo

2007-11-17 05:01:51

Yesh!

n3ss3s

2007-11-17 05:04:21

Yes from me too :)

Santa_Clause

2007-11-17 05:17:41

Yes!

GoF

2007-11-17 06:09:06

Kind of simple, mainly just DTM finding.. I'll vote later, but I think it's a yes.

RudeBoiAlex

2007-11-17 06:19:46

Ermmm yehh !

Negaal

2007-11-17 06:58:28

Yes, script looks nice and hes been here kinda active and not leeching…
Didn't had chance to test…

btw, somefailsafes needed…
You should add FindInventoryRandoms at least after every load…
Wut happens when it tries to deposit lamp or box:p:D

offtopic: Or does findnoninventoryrandoms checks for box and lamp when gametab 4 is open already?

Dumpin

2007-11-17 08:13:41

yup

Harry

2007-11-17 08:15:42

Another New Yorker! (Not gonna bias my decision ;))

But looks good, yes, see you in members! :)

rogeruk

2007-11-17 08:52:56

With the time spent on this script i hope it would be good enough :). I remember when you was stuck on selecting long or short.

Yes vote.

[-jesus-]

2007-11-17 09:54:23

Yes. This script has been out for awhile so it's probably been tested very thouroughly(?).

1 question though: Why do you have a procedure for lvling while fletching, & 1 for stringing? They both do the exact same thing.

Timer

2007-11-17 10:03:13

yes!

Hugolord

2007-11-17 11:52:22

yes! you have what it takes and i like you jess =D

Mr.Klean

2007-11-17 13:16:08

Yep

Zach1188

2007-11-17 13:51:23

Yes :)

You also use standards well, makes the script very easy to read.

pwnaz0r

2007-11-17 15:09:47

Sorry, no. 75% of your script is wait(7500 + random(500)); and Makecompass

rogeruk

2007-11-17 19:12:18

From: pwnaz0r
Sorry, no. 75% of your script is wait(7500 + random(500)); and Makecompass


It takes 7.5 seconds + to complete making a bow?(to check for levelup), and its more antiban?.

It could be done another way yes, but no just for that?

pwnaz0r

2007-11-17 20:04:56

im not saying it is not random enough, it does not have enough for him to be member in my opinion.

Narcle

2007-11-18 05:59:49

He knows how to use DTMs at least but I don't see any antiban, besides a lot of screen rotating if that counts…

I rather have FTwait's here, don't like waits like that over 100ms.
            FindNonInventoryRandoms;
LvlUpWhileFletching;
wait(7500 + Random(1000));
MakeCompass('e');
wait(7500 + Random(1000));
LvlUpWhileFletching;
MakeCompass('s');
FindNonInventoryRandoms;
wait(7500 + Random(1000));
MakeCompass('n');
wait(7500 + Random(1000));


Also his main loop ends with this… Now how do you suppose it goes back into the loop to fletch/string?
    if (LoadsToString = LoadsDone2) then
begin
Logout;
NextPlayer(True);
end;
if (not(LoggedIn)) then
NextPlayer(True);
end;
end.

When it comes down to it its just a sit in one spot fletcher/stringer. The way he has it setup can be compacted to about half/third that size line-wise.

Great start, holding vote.

MasterKill

2007-11-18 16:38:37

you need way more file saves…

yes though. but you got some work to do.

@narcle: you like my siggy text huh?

Narcle

2007-11-18 21:10:57

From: MasterKill
you need way more file saves…

yes though. but you got some work to do.

@narcle: you like my siggy text huh?


Yea I stole it, couldn't help the RED look of it, draws my eyes right to it.
Plus all the pictures I had up slowed my browsing of the forums since I'm on dialup. >.<

*ponders at main topic still*

Macrosoft

2007-11-18 22:38:45

good enough, yes

King of Knives

2007-11-19 16:34:16

Seems like you have what it takes. A fletcher is a simple thing, but from what I can see, you could do something more advanced. Alot of the code is ClickNPCChatText and waits, but it seems alright. I'll be expecting something more complicated from you :P

Yes.

-Knives

Hugolord

2007-11-19 16:36:02

in?

Smartzkid

2007-11-19 17:34:42

1) I don't think your mainloop will work? (multiplayer)

2) NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars); is not needed; but I don't blame you for putting it there, got it out of JAD's tut?

Fix the second, and explain the first, and you've got a yes.

HyperSecret

2007-11-19 17:47:38

no b/c multiplayer is a req., is it not? and the mainloop does NOT incorporate and multiplayer…do people actually look and read through the script or just scroll to see how long it is and read a few posts and decide?

WT-Fakawi

2007-11-19 18:33:25

From: HyperSecret
no b/c multiplayer is a req., is it not? and the mainloop does NOT incorporate and multiplayer…do people actually look and read through the script or just scroll to see how long it is and read a few posts and decide?


Yes I noticed that too. But overall it is original and he has put a lot of work into it, you can see that. He has good knowledge of SRL and knows how to look through runescape.

In!