dallas574
2008-10-31 17:40:58
<!– BEGIN TEMPLATE: formanswers –>
dallas574 - SRL Member Application Form
dallas574
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
Other Communitys
Sythe.com and Scunerape.com
How Long have You Played Runescape
2 - 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have studied lots of scripts and have read tons of tuts. Shuttleu helped me out alot. I have been working on this script on and off for about 3 months.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
——————————————————
<!– END TEMPLATE: formanswers –>
dallas574 - SRL Member Application Form
dallas574
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
Programming Knowledge
Other Communitys
Sythe.com and Scunerape.com
How Long have You Played Runescape
2 - 3 years
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
I have studied lots of scripts and have read tons of tuts. Shuttleu helped me out alot. I have been working on this script on and off for about 3 months.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
//Start in Draynor Bank with axe either in inv of weild
program DraynorAllLevels;
{.include SRL/SRL.scar}
{.include srl/srl/skill/woodcutting.scar}
var WcLevel,Banked,Ents,Chopped,i,x,timeout,OakwalkingDTM,y, loads,OakTreeDTM, BrokenDTM,
NormalaxeDTM, WillowDTM, BankerDTM, NormalwalkingDTM,NormalChopped,OakChopped,WillowChopped,
NormalBanked,OakBanked,WillowBanked: integer;
WillowTreeColor: array[0..3] of Integer;
OakTreeColor: array[0..3] of Integer;
TreeColor: array[0..3] of Integer;
tpa: TPointArray;
procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; //username.
Players[0].Pass := ''; //password.
Players[0].Nick := ''; //3-4 letters from your username.
Players[0].Strings[0] := '0000'; //Bank Pin Number Keep 0000 If You Dont Have One.
Players[0].Booleans[0] := True; //Is Axe Wielded? True If Yes.
Players[0].Integers[0] := 50; //Loads To Do Each Player.
Players[0].Active := True;
end;
procedure SetupDTMS;
begin
BrokenDTM := DTMFromString('78DA8DCA4B0E40401444D1F7EC7F13BE8D961' +
'684089B73874C54D7E0D6E4F85298356EDFF9ABFC85A98539315D' +
'8689C2AC9820CC8C19858998439880B985E9319B3003260933615' +
'A6112A61466C754FFE60175E211E0');
NormalaxeDTM := DTMFromString('78DA636C63626058C2C8800CFAB204C1344C9' +
'4B11FA86611AA1A982C5CCD44A09A1504D4F401D5AC26A0A68B08' +
'73DA8850D30254B386809A26A09A4D04D43402D56C23A0A60EA86' +
'6370135B54035DB89306713116E5E4A84DF17E2570300BF2E120E' +
'');
WillowDTM := DTMFromString('78DA63DCC8C4C0A0C0C8800C5C34D9C1344C9' +
'4710B508D1CAA1A357B1E54355B816AA451D5D8268BA2AAD90C54' +
'2389AA4637941F55CD4622D4AC07AA9122E09EB54035B2F8D5000' +
'0FD7B095E');
BankerDTM := DTMFromString('78DA633CCCC4C0F0910105BCFFF81A4C3342F' +
'98C2035EF08A8390454F381809AFD84CD0100557F1201');
NormalwalkingDTM := DTMFromString('78DA63EC646260F8C98002BEBE7F02A619A17' +
'C46909AEF04D47410A1A697B05D000E081138');
OakwalkingDTM := DTMFromString('78DA63AC6262605063644006DF9E7C00D3305' +
'146901A55026A2A8830A712A84619554D4E6A0A8A1A00CBFF0C21' +
'');
OakTreeDTM := DTMFromString('78DA639CC6C4C0C0C4C8800CE21D44C1344C9' +
'411A48601554D863537AA9A994035FF519430D826A3993315A8E6' +
'37013593816AFEA0AAD10DE547553311D32E0C359331DD8CA1662' +
'AA61A174D764C354CF8FD0E0072F60EFF');
end;
{------------------------------------------------------------------------------]
function IsUpTextColor(Text: string, Color: Integer): Boolean;
by: ZephyrsFury Edited By: Quickmarch
Description: Checks whether the 'Text' is a color at the top-left corner.
{------------------------------------------------------------------------------}
function IsUpTextColor(s: string; Color: Integer): Boolean;
var
CTS: Integer;
begin
Result := False;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
if (IsUpText(s)) then
begin
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.03, 0.75);
Result := (CountColorTolerance(Color, 9, 10, 124, 23, 4) > 10);
SetColorSpeed2Modifiers(0.2, 0.2);
end;
ColorToleranceSpeed(CTS);
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) > 1 Then // 2 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) + 90;
Result := True;
Exit;
End;
End
Else
SetLength(gB, 0);
End;
End;
function AutoColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
H, S, L: Extended;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
FindColorsSpiralTolerance(MMCX, MMCY, arP, 6250598, MMX1, MMY1, MMX2, MMY2, 0);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
Exit;
end;
arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);
for i := 0 to arL do
begin
ColorToHSL(arC[i], H, S, L);
if (H >= 97.90) and (H <= 97.94) and (S >= 3.83) and (S <= 3.87) and (L >= 40.76) and (L <= 40.80) then
begin
ColorToXYZ(arC[i], X, Y, Z);
if (X >= 13.07) and (X <= 13.11) and (Y >= 13.22) and (Y <= 13.26) and (Z >= 14.15) and (Z <= 14.19) then
begin
Result := arC[i];
Writeln('AutoColor = ' + IntToStr(arC[i]));
Break;
end;
end;
end;
ColorToleranceSpeed(tmpCTS);
if (i = arL + 1) then
Writeln('AutoColor failed in finding the color.');
end;
procedure GetTheLevel;
begin
WcLevel := GetSkillInfo('woodcutting', false);
Writeln('Your Wc Level is ' + IntToStr(WcLevel));
end;
function CheckForAllRandoms: boolean; // Shuttleu =P
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 AntiRandoms;
begin
FindNormalRandoms;
FindLamp('woodcutting');
if (FindFight) then
WriteLn('Found A Fight...Running away!');
RunAway('N', False, 1, 5000);
end;
procedure AntiBan;
begin
if (not (LoggedIn)) then
Exit;
case (Random(57)) of
1,2: begin
PickUpMouse;
end;
4: begin
GameTab(1 + Random(11));
end;
17: begin
MMouse(Random(MSX2), Random(MSY2), 15, 15);
end;
21: begin
HoverSkill('Mining',false);
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(6)) of
1: Typesend('Boring');
2: Typesend('.!?@#$%^&*()');
4: Typesend('bored');
5: Typesend('cutting!');
6: Typesend('LoL');
end;
end;
end;
end;
function WhichTreeToChop: String;
begin
GetTheLevel;
if(WcLevel >=1) then
Result := 'normal';
if(WcLevel >=20) then
Result := 'oak';
if(WcLevel >= 30) then
Result := 'willow';
Writeln(Result);
end;
procedure WalkToNormal;
begin
setrun(true);
setangle(true);
MakeCompass('N');
begin
if FindSymbol(x, y, 'quest') then
begin
Mouse(x, y, 2, 2, True);
FFlag(6);
end else
Mouse(575 + (random(8)), 42 + (random(4)), 10, 10, True);
FFlag(1);
if FindSymbol(x, y, 'dungeon') then
begin
Mouse(x - 5, y + 10, 4, 4, True);
FFlag(6);
WriteLn('Made it to Normal Trees!');
end else
begin
Mouse(625, 27, 10, 10, True);
FFlag(1);
if(FindSymbol(x, y, 'dungeon')) then
begin
WriteLn('Made it to Normal Trees!');
Status('Successfully made it to Normal Trees!');
end;
end;
end;
end;
procedure WalkToOak;
begin
if not(LoggedIn) then exit;
RoadColor := FindRoadColor;
begin
Mouse(564 - (Random(6)), 76 - (Random(5)), 2, 2, True);
FFlag(Random(3));
SymbolAccuracy := 0.6;
begin
if(FindSymbol(x, y, 'quest')) then
begin
Mouse(x - 22 - (Random(4)), y + 10 - (Random(3)), 2, 2, True);
FFlag(Random(3));
end else
Mouse(612+ (Random(5)),60+(Random(5)),7,7,True);
FFlag(Random(3));
end;
end;
end;
procedure WalkToWillow;
begin
setrun(true);
if not(LoggedIn) then exit;
begin
Mouse(560 - (Random(6)), 76 - (Random(5)), 2, 2, True);
FTwait(3);
FFlag(Random(3));
SymbolAccuracy := 0.6;
begin
if(FindSymbol(x, y, 'quest')) then
begin
Mouse(x - 20 - (Random(4)), y + 10 - (Random(3)), 2, 2, True);
FTwait(3);
FFlag(Random(3));
end else
Mouse(608 + (Random(5)),60+(Random(5)),7,7,True);
FTwait(3);
FFlag(Random(3));
begin
setrun(false);
if(FindSymbol(x, y, 'farming spot')) then
begin
Mouse(x + 20 + (Random(4)), y + 20 + (Random(3)), 2, 2, True);
repeat
AntiBan;
timeout := timeout + 1;
until (not FindColor(x, y, 255, MMX1, MMY1, MMX2, MMY2)) or (timeout > 300);
begin
repeat
AntiBan;
until (FlagPresent);
FFlag(6);
end;
end;
end;
end;
end;
end;
Procedure Bank;
var x, y,IMark : integer;
begin
MarkTime(IMark);
MakeCompass('W');
OpenBankFast ('db');
deposit(2, 28, true);
closebank;
SRLRandomsReport;
MakeCompass('N');
end;
procedure BankNormal;
var
P: TPoint;
A: Extended;
begin
SetAngle(True);
MakeCompass('N');
SetRun(True);
Wait(750);
GameTab(4);
if(FindSymbolIn(x, y, 'quest', MMX1, MMY2/2, Trunc((((MMX2-MMX1)/4)*3)+MMX1), MMY2)) then
begin
WriteLn('Found quest symbol, walking to it!');
Mouse(x, y, 5, 5, True);
FFlag(6);
Mouse(670 + (random(5)), 113 + (random(8)), 10, 10, True);
FFlag(6);
begin
SymbolAccuracy := 0.4;
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
end;
end;
end;
NormalBanked := NormalBanked + 1;
ReportVars[3] := ReportVars[3] + 1;
end;
procedure BankOak;
begin
if not(LoggedIn) then exit;
begin
if(FindSymbol(x, y, 'quest')) then
begin
Mouse(x + 20 + Random(4), y + 20 + Random(4), 2, 2, True);
FFlag(3);
end else
Mouse(666+Random(5),100+Random(5),7,7,True);
FFlag(Random(3));
begin
SymbolAccuracy := 0.4;
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 3, 3, True);
FFlag(6);
end;
end;
end;
OakBanked := OakBanked + 1;
ReportVars[4] := ReportVars[4] + 1;
end;
procedure BankWillow;
begin
if not(LoggedIn) then exit;
begin
setrun(false);
Mouse(682 + Random(4), 123 - Random(4), 2, 2, True);
repeat
AntiBan;
timeout := timeout + 1;
until (not FindColor(x, y, 255, MMX1, MMY1, MMX2, MMY2)) or (timeout > 300);
begin
repeat
AntiBan;
until (FlagPresent);
FFlag(6);
begin
setrun(true);
Mouse(672 + Random(4), 92 - Random(4), 2, 2, True);
FTwait(3);
FFlag(3);
begin
SymbolAccuracy := 0.4;
if FindSymbol(x, y, 'bank') then
begin
Mouse(x, y, 3, 3, True);
FTwait(3);
FFlag(6);
end;
end;
end;
end;
end;
WillowBanked := WillowBanked + 1;
ReportVars[5] := ReportVars[5] + 1;
end;
Procedure checkaxenormal;
begin
gametab(4);
if (FindDTM(BrokenDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
WriteLn('Broken axe =(');
BankNormal;
AntiRandoms;
FFlag(0);
OpenBank('db', False, False);
Deposit(1, 28, True);
begin
WriteLn('Couldnt Find Axe.');
Logout;
TerminateScript;
end;
end;
WalkToNormal;
end;
Procedure checkaxeoak;
begin
if (FindDTM(BrokenDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
BankOak;
AntiRandoms;
FFlag(0);
OpenBank('db', False, False);
Deposit(1, 28, True);
if (FindDTM(NormalaxeDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 3, 3, True);
CloseBank;
AntiRandoms;
Exit;
end else
begin
WriteLn('Couldnt Find Axe.');
Logout;
TerminateScript;
end;
end;
WalkToOak;
end;
Procedure checkaxewillow;
begin
if (FindDTM(BrokenDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
BankWillow;
AntiRandoms;
FFlag(0);
OpenBank('db', False, False);
Deposit(1, 28, True);
if (FindDTM(NormalaxeDTM, x, y, MSX1, MSY1, MSX2, MSY2)) then
begin
Mouse(x, y, 3, 3, True);
CloseBank;
AntiRandoms;
Exit;
end else
begin
WriteLn('Couldnt Find Axe.');
Logout;
TerminateScript;
end;
end;
WalkToWillow;
end;
procedure ChopTheTree;
begin
TreeColor[0] := 2712154;
TreeColor[1] := 4088157;
TreeColor[2] := 1652782;
TreeColor[3] := 2195054;
repeat
if not Loggedin then Exit;
for i := 0 to 3 do
begin
if(FindEnt(x, y, false))then break;
if (FindObjCustom(X, Y, ['ree', 'Tree'], [TreeColor[i]], 3)) then
begin
Mouse(x, y, 3, 3, True);
GameTab(4);
CheckForAllRandoms;
FFlag(0);
CheckForAllRandoms;
Wait(3000 + random(1000));
end;
end;
until (invfull);
NormalChopped := NormalChopped + 28;
ReportVars[0] := ReportVars[0] + 28;
end;
procedure ChopTheOak;
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);
CheckForAllRandoms;
FFlag(0);
CheckForAllRandoms;
Wait(5000+ random(1000));
end;
end;
until (invfull);
OakChopped := OakChopped + 28;
ReportVars[1] := ReportVars[1] + 28;
end;
procedure ChopTheWillow;
begin
WillowTreeColor[0] := 3896169;
WillowTreeColor[1] := 3238238;
WillowTreeColor[2] := 3902333;
WillowTreeColor[3] := 1387816;
repeat
if not Loggedin then Exit;
for i := 0 to 3 do
begin
if(FindEnt(x, y, True))then exit;
if (FindObjCustom(X, Y, ['ill', 'low', 'illo'], [WillowTreeColor[i]], 3)) then
begin
Mouse(x, y, 3, 3, True);
GameTab(4);
CheckForAllRandoms;
FFlag(0);
CheckForAllRandoms;
Wait(5000+ random(1000));
end;
end;
until (invfull);
WillowChopped := WillowChopped + 28;
ReportVars[2] := ReportVars[2] + 28;
end;
function NoMorePlayers: boolean;
var i: integer;
begin
for i := 0 to Length(Players) - 1 do
begin
if Players[i].Active then
begin
result := false;
exit;
end;
end;
result := true;
end;
procedure Proggie;
begin
WriteLn('| =================================');
WriteLn('| 1-99 ');
WriteLn('| =================================');
WriteLn('| Dallas574 ');
WriteLn('|-----------------------------------');
WriteLn('|> Worked '+(TimeRunning));
WriteLn('|> Chopped '+IntToStr(NormalChopped)+'Normal Logs! ');
WriteLn('|> Banked '+IntToStr(NormalBanked)+'Normal Loads! ');
WriteLn('|> Chopped '+IntToStr(OakChopped)+'Oak Logs! ');
WriteLn('|> Banked '+IntToStr(OakBanked)+'Oak Loads! ');
WriteLn('|> Chopped '+IntToStr(WillowChopped)+'Willow Logs! ');
WriteLn('|> Banked '+IntToStr(WillowBanked)+'Willow Loads! ');
WriteLn('| =================================');
WriteLn('Using ' +IntToStr(HowManyPlayers) + ' Players');
end;
procedure loop;
begin
Case WhichTreeToChop of
'normal':begin
repeat
WalkToNormal;
ChopTheTree;
BankNormal;
Bank;
Proggie;
Until(Banked > Loads) Or Not LoggedIn;
end;
'oak':begin
repeat
WalkToOak;
ChopTheOak;
BankOak;
Bank;
Proggie;
until(false);
end;
'willow':begin
repeat
WalkTowillow;
Chopthewillow;
BankWillow;
Bank;
Proggie;
until(false);
end;
end;
end;
begin
GetApplication.Minimize;
SetupSRL;
ScriptID := '1071';
AutoColor;
SetupDTMS;
DeclarePlayers;
ActivateClient;
loginplayer;
GetTheLevel;
WhichTreeToChop;
repeat
loop;
Proggie;
until (NoMorePlayers); // All players False.
Proggie;
WriteLn('Please post proggress reports! :)');
Wait(5000);
SRLRandomsReport;
TerminateScript;
end.——————————————————
<!– END TEMPLATE: formanswers –>