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
<!– END 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 –>