SRL Archive - Archive

Noob xp1 - SRL Member Application Form


Noob xp1

2008-11-07 16:38:08

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

What is the meaning to life?


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



Programming Knowledge


Other Communitys
sythe.com

How Long have You Played Runescape
1 year

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

I have read tuts and now understand alot about scar. I have made a script and have gotten ton of oaks over 200k gp worth. I hope to become a member but if not then I will try to make this script better and better.

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

// Varrock East Oak Cut And Banker //
// Made by : Noob xp1 //
// Start in Varrock East Bank or east of the //
// bank by the 2 oak trees with the axe in the //
// first slot of your players inv or weiled //
// Fill in the //
// const and DeclarePlayers and hit play //

program VEOCB;
{.include SRL/SRL.Scar}
{.include SRL/SRL/Skill/Woodcutting.Scar}

Var
RoadDDTM, Road2DDTM : integer;
WieldAxe,InvAxe,OakLogsBanked,BrokenDTM,NormalaxeDTM, OakLogsChopped : Integer;
EquipAxe2: Boolean;
dtmAxes: array[0..6] of integer;

const
SRLStatsID = '6004'; // Your SRL Stats ID
SRLStatsPW = 'Jehovah'; // Your SRL Stats Password
Version = '0.1'; // Do NOT change this!


Procedure DeclarePlayers;
begin
HowManyPlayers:= 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:= 0;

Players[0].Name := ''; //UserName
Players[0].Pass := ''; //Password
Players[0].Nick := ''; //Nickname
Players[0].Active := True; //Active
Players[0].integers[0]:= 50; // Loads to do

WriteLn('Using ' +IntToStr(HowManyPlayers) + ' Players');
end;

Function FindBankers(Var Bank: TPoint; Var Angle: Extended): Boolean; //Wizzup?

Var
I: Integer;
B, gB: TPointArray;
aTPA: T2DPointArray;

Begin
Result := False;
FindColorsSpiralTolerance(MMCX, MMY2, B, 60909, MMX1, MMY1, MMX2, MMY2, 0);
aTPA := SplitTPA(B, 10);
SortATPASize(aTPA, True);
If Length(aTPA) = 0 Then
Exit;
B := aTPA[0];
For I := 0 To High(B) - 1 Do
Begin
If (Abs(B[I].Y - B[I + 1].Y) < 15) And (Abs(B[I].X - B[I + 1].X) < 60) Then
Begin
SetLength(gB, Length(gB) + 1);
gB[High(gB)] := B[I];
If High(gB) > 3 Then // 4 bankers.
Begin
Bank := MiddleTPA(gB);
Bank.Y := Bank.Y - 5;
Angle := Degrees(ArcTan2(gB[0].y - gB[High(gB)].y, gB[0].x - gB[High(gB)].x)) + 90;
If Angle < 0 Then
Angle := 90 - (Angle * -1) + 270;
Result := True;
Exit;
End;
End
Else
SetLength(gB, 0);
End;
End;

Procedure ClickBlueBar2;
begin
Mouse(60 + random(600), -225, 3, 3, true);
end;

Procedure GetAxe;
begin
ActivateClient;
OpenBankFast('veb');
Wait(800 + Random(200));
Deposit(1,28,True)
FixBank;
ClickBlueBar2;
SearchBank('axe');
MMouse(51, 103, 5, 5);
IsUpText('xe')
Mouse(51, 103, 5, 5, True);
closebank;
end;

function CheckForAllRandoms: boolean; // Shuttleu =P Edited a bit
begin
if Pos('tch sp', lowercase(GetTalkingNPCName)) > 0 then ClickContinue(true, true);
if FindNormalRandoms then result := true;
if FindInventoryRandoms then result := true;
if FindNonInventoryRandoms then result := true;
if FindTalk then result := true;
if FindFight then
begin
RunAway('N', true, 1, 3000);
end;
end;


procedure SetupDTMS;
begin
BrokenDTM := DTMFromString('78DA8DCA4B0E40401444D1F7EC7F13BE8D961' +
'684089B73874C54D7E0D6E4F85298356EDFF9ABFC85A98539315D' +
'8689C2AC9820CC8C19858998439880B985E9319B3003260933615' +
'A6112A61466C754FFE60175E211E0');

NormalaxeDTM := DTMFromString('78DA636C63626058C2C8800CFAB204C1344C9' +
'4B11FA86611AA1A982C5CCD44A09A1504D4F401D5AC26A0A68B08' +
'73DA8850D30254B386809A26A09A4D04D43402D56C23A0A60EA86' +
'6370135B54035DB89306713116E5E4A84DF17E2570300BF2E120E' +
'');
end;

function LoadRoad2DDTM: Integer;
var
Roadcolor2 : integer;
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
Roadcolor2 := FindVarrockRoadColor;
dtmMainPoint.x := 716;
dtmMainPoint.y := 317;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := Roadcolor2;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 716;
dtmSubPoints[0].y := 317;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := Roadcolor2;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 735;
dtmSubPoints[1].y := 308;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := Roadcolor2;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 734;
dtmSubPoints[2].y := 324;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := Roadcolor2;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 700;
dtmSubPoints[3].y := 317;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := Roadcolor2;
dtmSubPoints[3].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Road2DDTM := AddDTM(TempTDTM);
end;


function LoadRoadDDTM: Integer;
var
Roadcolor : integer;
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..3] of TDTMPointDef;
TempTDTM: TDTM;
begin
Roadcolor := FindVarrockRoadColor;
dtmMainPoint.x := 731;
dtmMainPoint.y := 309;
dtmMainPoint.AreaSize := 1;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := Roadcolor;
dtmMainPoint.Tolerance := 15;

dtmSubPoints[0].x := 731;
dtmSubPoints[0].y := 309;
dtmSubPoints[0].AreaSize := 1;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := Roadcolor;
dtmSubPoints[0].Tolerance := 15;

dtmSubPoints[1].x := 736;
dtmSubPoints[1].y := 290;
dtmSubPoints[1].AreaSize := 1;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := Roadcolor;
dtmSubPoints[1].Tolerance := 15;

dtmSubPoints[2].x := 739;
dtmSubPoints[2].y := 322;
dtmSubPoints[2].AreaSize := 1;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := Roadcolor;
dtmSubPoints[2].Tolerance := 15;

dtmSubPoints[3].x := 715;
dtmSubPoints[3].y := 307;
dtmSubPoints[3].AreaSize := 1;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := Roadcolor;
dtmSubPoints[3].Tolerance := 15;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
RoadDDTM := AddDTM(TempTDTM);
end;

function Location(loc: string): boolean;
var
P: TPoint;
A: Extended;
begin
case Lowercase(loc) of
'bank':
begin
SymbolAccuracy := 0.6;
if not(FindSymbol(x, y, 'bank'))then
begin
If FindBankers(P, A) Then
begin
Result := True;
Writeln('Found Bank');
Exit;
end else
begin
Writeln('Bank not found.');
Result := false;
Exit;
end;
end else
begin
Writeln('Found Bank with bank symbol.');
Result := True;
Exit;
end;
end;
'road':
begin
RoadColor := FindVarrockRoadColor;
LoadRoadDDTM;
if not(DTMRotated(RoadDDTM, x, y, MMX1, MMY1, MMX2, MMY2))then
begin
Result := False;
Writeln('Could not find Road.');
FreeDTM(RoadDDTM);
Exit;
end else
begin
Result := True;
Writeln('Found Road.');
FreeDTM(RoadDDTM);
Exit;
end;
end;
end;
end;

procedure AntiBan;
begin
if (not (LoggedIn)) then
Exit;
case (Random(57)) of
1,2: begin
PickUpMouse;
Boredhuman;
end;
4: begin
GameTab(1 + Random(11));
end;
17: begin
MMouse(Random(MSX2), Random(MSY2), 15, 15);
end;
21: begin
HoverSkill('Mining',false);
GameTab(1 + Random(13));
Wait(1000+ random(600));
Gametab(4);
MMouse(Random(MSY1), Random(MSX1), 15, 15);
end;
28: begin
GameTab(1 + Random(13));
Wait(1000+ random(600));
Gametab(4);
end;
34: begin
HoverSkill('Woodcutting', False);
gametab(4);
end;
39: begin
case (Random(5)) of
1: Typesend('cutting!');
2: Typesend('.!?@#$%^&*()');
4: Typesend('bored');
5: Typesend('LALALALALALA');
end;
end;
end;
end;

function CheckAxe: Boolean; // Sumilion
begin
if LoggedIn then
begin
GameTab(4);
dtmAxes[1] := DTMFromString('78DA639CCEC4C0F09401051485F1318800694' +
'620FE0F048C4B806AEEA2AA718E4864E082AA0101C6C54035F751' +
'D5D887C6A1AA590A547313558D4B740A8A1A00CFA10E03');
dtmAxes[2] := DTMFromString('78DA6374606060686440014D497C0C22409A1' +
'188FF0301A337905187AAC6C6D786810BAA0604187D804415AA1A' +
'7B7F7B5435BE40A21C558D73B0338A1A00C1660AA8');
dtmAxes[3] := DTMFromString('78DA633CC4C4C010C0C8800C5A53F81852803' +
'448F43F10309E05AAF14155636111CCC0055503028CE7816A5C51' +
'D5D839C4A2AA3981A9C6C52D0D450D0061FC0C64');
dtmAxes[4] := DTMFromString('78DA63CC636260D8C3C8800C5A53F81852803' +
'448F43F10305602D5EC4055939B9ACAC0055503028CD540351B51' +
'D594E5E5A2AA29C154D3545989A20600C3BC0E32');
dtmAxes[5] := DTMFromString('78DA63DCCDC4C0B09791011974660831FC07D' +
'220D1FF40C07800A86623AA1A882C8C04D23B806A4E1150B30DA8' +
'E6380135BB806A761150B39708F7EC07AAD9815F0D00F3891069');
dtmAxes[6] := DTMFromString('78DA63EC626060086140016DA97C0C22409A1' +
'188FF0301E33420C307558D97A5220317540D08304E051201A86A' +
'DCCCE451D54C07129EA86AFC6C5450D40000D77E0AA2');
GameTab(5);
for WieldAxe := 1 to 7 do
begin
if(WieldAxe = 7)then
Break;
if(FindDtm(dtmAxes[WieldAxe], x, y, MIX1, MIY1, MIX2, MIY2))then
Break;
end;
GameTab(4);
for InvAxe := 1 to 7 do
begin
if(InvAxe = 7)then
Break;
if(FindDtm(dtmAxes[InvAxe], x, y, MIX1, MIY1, MIX2, MIY2))then
Break;
end;

if(InvAxe = 7)and(WieldAxe = 7)then
begin
Result := False;
Writeln('No axe was found');
GetAxe;
end;
if((InvAxe - WieldAxe) < 0)then
EquipAxe := False
else
EquipAxe2 := True;
case Min(WieldAxe, InvAxe) of
1: WriteLn('Using Rune axe');
2: WriteLn('Using Addy axe');
3: WriteLn('Using Mith axe');
4: WriteLn('Using Steel axe');
5: WriteLn('Using Iron axe');
6: WriteLn('Using Bronze axe');
end;
Result := True;
end;
end;

procedure SetupAutoResponder;

var
HowManyQuestions : integer;

begin
HowManyQuestions := 3;
SetArrayLength(QnR, HowManyQuestions);

QnR[0][0] := ['wc lvl', 'woodcutting?', 'wc?', 'wc lvls']; //Questions
QnR[0][1] := [IntToStr(Players[CurrentPlayer].Integers[2]), 'my wc lvl is'+IntToStr(Players[CurrentPlayer].Integers[2]), IntToStr(Players[CurrentPlayer].Integers[2])+':D']; //Answers

QnR[1][0] := ['hi', 'hey', 'hiya', 'hello', 'elo', 'wassup', 'sup']; //Questions
QnR[1][1] := ['hey', 'hello', 'hi', 'hiya', 'ello', 'helo']; //Answers

QnR[2][0] := ['bye', 'bibi', 'cya', 'm goin', 'm leavin']; //Questions
QnR[2][1] := ['bibi', 'cya', 'bye', 'okay', 'see ya', 'later']; //Answers

SetArrayLength(QnR, Length(QnR));
end;

Procedure WalkToOak;
begin
if Location('bank')then
begin
if (not (LoggedIn)) then
Exit;
SetAngle(True);
SetRun(True);
Wait(750);
GameTab(4);
begin
if not(RadialRoadWalk(FindVarrockRoadColor, 50, 90, 70, 0, 1))then Writeln('Walk # 1 messed up');
if not(RadialRoadWalk(FindVarrockRoadColor, 80, 100, 50, 0, 1))then Writeln('Walk # 2 messed up');
if not(Location('road'))then
Writeln('Walking messed up');
LoadRoad2DDTM;
if DTMRotated(Road2DDTM, x, y, MMX1, MMY1, MMX2, MMY2)then
begin
Mouse(x, y, 3, 3, True);
FFlag(2);
end;
end;
end;
end;

procedure BankOak;
var
P: TPoint;
A: Extended;
begin
if (not (LoggedIn)) then
Exit;
if (FindSymbol(x, y, 'Bank')) then
SetAngle(True);
SetRun(True);
Wait(750);
GameTab(4);
if not(RadialRoadWalk(FindVarrockRoadColor, 230, 280, 75, 1, 1))then Writeln('Walk # 1 messed up');
if not(Location('bank'))then
Writeln('Walking messed up');
begin
CheckForAllRandoms;
SetupAutoResponder;
If FindBankers(P, A) Then // wizzup?
Begin
Mouse(P.x, P.y, 0, 0, True);
FTWait(1);
FFlag(0);
OpenBankFast('veb');
Deposit(2,28,True)
Wait(800 + Random(200));
CloseBank;
End;
OakLogsBanked := OakLogsBanked + 1;
Inc(ReportVars[1]);
end;
end;


procedure BankOakAxeBroken;
var
P: TPoint;
A: Extended;
begin
if (not (LoggedIn)) then
Exit;
SetAngle(True);
SetRun(True);
Wait(750);
GameTab(4);
CheckForAllRandoms;
SetupAutoResponder;
if not(RadialRoadWalk(FindVarrockRoadColor, 230, 280, 75, 1, 1))then Writeln('Walk # 1 messed up');
if not(Location('bank'))then
Writeln('Walking messed up');
begin
CheckForAllRandoms;
SetupAutoResponder;
If FindBankers(P, A) Then // wizzup?
Begin
Mouse(P.x, P.y, 0, 0, True);
FTWait(1);
FFlag(0);
OpenBankFast('veb');
Deposit(1,28,True)
Wait(800 + Random(200));
FixBank;
GetAxe;
End;
OakLogsBanked := OakLogsBanked + 1;
Inc(ReportVars[1]);
end;
end;


Procedure checkaxeoak;
begin
gametab(4);
if (FindDTM(BrokenDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
WriteLn('Broken axe =(');
BankOakAxeBroken;
Checkaxe;
end;
WalkToOak;
end;

Procedure WaitWhileChopping;
Var IMark : Integer;
Begin
MarkTime(IMark);
If Not (LoggedIn) Then Exit;
Repeat
CheckForAllRandoms;
SetupAutoResponder;
AntiBan;
SetupAutoResponder;
If InvFull Then Break;
If FindDead Then Break;
Until(TimeFromMark(IMark) > 6500 + Random(2000));
end;


procedure ChopTheOak;
var
i, x, y : integer;
OakTreeColor: array[0..3] of Integer;
begin
if Location('road')then
begin
OakTreeColor[0] := 6464409;
OakTreeColor[1] := 2195310;
OakTreeColor[2] := 1715244;
OakTreeColor[3] := 11818;
repeat
if not Loggedin then Exit;
for i := 0 to 3 do
begin
if(FindEnt(x, y, false))then break;
if (FindObjCustom(X, Y, ['ak', 'Oak'], [OakTreeColor[i]], 3)) then
begin
Mouse(x, y, 3, 3, True);
GameTab(4);
WaitWhileChopping;
if FindBlackChatMessage('have an axe') then checkaxeoak;
end;
end;
until (invfull);
OakLogsChopped := OakLogsChopped + 28;
ReportVars[1] := ReportVars[1] + 28;
SendSRLReport;
end;
end;

procedure Proggie;
begin
ClearDebug;
WriteLn('| =================================');
WriteLn('| Varrock East Chopper + Banker ');
WriteLn('| =================================');
WriteLn('| noob xp1 ');
WriteLn('|-----------------------------------');
WriteLn('|> Worked for '+(TimeRunning));
WriteLn('|> Chopped '+IntToStr(OakLogsChopped)+' Logs! ');
WriteLn('|> Banked '+IntToStr(OakLogsBanked)+' Loads! ');
WriteLn('| =================================');
WriteLn('| POST PROGRESS REPORT!!! ');
WriteLn('Using ' +IntToStr(HowManyPlayers) + ' Players');
SendSRLReport;
SRLRandomsReport;
end;

begin
SRLId := SRLStatsID;
SRLPassword := SRLStatsPW;
SetupSRL;
SetupDTMS;
ScriptID := '1065';
ActivateClient;
DeclarePlayers;
begin
GetApplication.Minimize;
if (not (LoggedIn)) then
LoginPlayer;
checkaxe;
repeat
repeat
if(Location('bank'))then
WalkToOak;
ChopTheOak;
Proggie;
BankOak;
Proggie;
until (OakLogsBanked >= (Players[CurrentPlayer].Integers[0])) or (not (LoggedIn));
if (not (LoggedIn)) then
NextPlayer(False);
until (False);
end;
end.
——————————————————
<!– END TEMPLATE: formanswers –>

Blumblebee

2008-11-07 16:46:31

ummm, it looks ok, use scar tags its hard to read :S. And from the looks of it you dont have standards, which are a major part of scripting. Ill review more once you put it into scar tags.

-Blumblebee

Magiic

2008-11-07 18:12:04

im not even going to attempt to read it, get it sorted or you'll get a lot of no's, fast.
edit:there are errors in the variables, sort em, try to compile what you posted+i think this is leeched it looks outdated, the scripter didn't add x, y as variables, they used to already be included
edit2:all your posts are spam your not active, and youve got no standards and can't use scar tags, ima very close to voting no

TViYH

2008-11-08 11:54:04

Not bad.

However, I noticed the following things:
1. Standards aren't very good.
2. A lot of the script uses functions used by other scripters.
3. Not many, if any, failsafes.
4. I believe the mainloop is infinite.
5. Decent use of antiban.

So. Work a little harder next time.
Try to use DTMs, DDTMs, TPAs, T2DPointArrays, and AutoColor :)
Also, try to use your own functions.

Nava2

2008-11-08 18:53:39

From: TheVoiceInYourHead
Not bad.

However, I noticed the following things:
1. Standards aren't very good.
2. A lot of the script uses functions used by other scripters.
3. Not many, if any, failsafes.
4. I believe the mainloop is infinite.
5. Decent use of antiban.

So. Work a little harder next time.
Try to use DTMs, DDTMs, TPAs, T2DPointArrays, and AutoColor :)
Also, try to use your own functions.


You aren't supposed to vote, if you did.

Nope, sorry :(

Not enough of all that the post I just quoted.

Tniffoc

2008-11-08 20:33:57

I really like it but I don't know about SRL Members because of reasons posted above. (Why do people always get to apps before I do? :( ) I won't vote because I like it though.

Laur€ns

2008-11-09 05:53:30

No ;)

0wn 4 skill

2008-11-09 07:04:40

I think its pretty good. Just the standards are bad etc.

I cant vote at the moment sorry :(

boberman

2008-11-09 09:02:23

No from me. It looks pretty obvious that you didn't code everything (or most of everything) yourself. Why? Because some of the code looks really good. And then there are other parts that are scary bad. Since there is only one spot in the entire script that gives any credit to anyone else, its a quick no from me.

TheChineseMan

2008-11-11 07:14:41

well i was close to voting yes but then i saw ur standards and your posts and saw it was mostly spam… not 1 progress report i had seen but ur script looks good:)

holding vote now

markuska815

2008-11-11 21:05:21

Nope… reasons above.

Waddo

2008-11-17 17:54:39

Username on stats is Dallas574 is that you? or have you leeched this and updated it? Either way i aint going to vote atleast not until a mod/admin checks it out.

tarajunky

2008-11-25 15:03:06

Sorry, but the consensus of voting is clearly "no". You may try again one month from your last application. (which would be Dec. 7th).

Closed.