SRL Archive - Archive

Dark Arcana - SRL Member Application


Dark Arcana

2009-05-17 08:56:23

How Long have You Played Runescape?
3 Years


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
My brother (Joseph Pogi3)


What is your general programming knowledge?
A bit of Visual Basic and Scar


Are you a member of any other communities?
  • Rs-hacking.com
  • RsBot.org
  • Freddy1990.com


Tell us about yourself…
From: Dark Arcana
I am 12 years old, I like playing sport, and love learning new things.



Please show us one (or multiple) of your wonderful scripts.
program DA_Willow_Crusher;

{$DEFINE SMART }
{$IFDEF SMART }
{.Include SRL/SRL/Misc/Smart.Scar}
{$ENDIF}
{.Include SRL/SRL.Scar}
{.Include SRL/SRL/Misc/Users.Scar}
{.Include SRL/SRL/Misc/Trade.Scar}
{.Include SRL/SRL/Skill/Magic.Scar}


var
DASRLID, DASRLPassword: string;
x, y, Lvls, TotalLoads, TotalWillows, Responded, AntiBans,
Trades, NestsFound, LoadsDone, WcSkill, Bank, JoinChat: Integer;

const
ScriptVersion = ' V.4';
SkillLamp = 'woodcutting';

procedure Sig;
begin
ClearDebug;
Writeln('________ ____ _____ ');
Wait(500);
Writeln('\______ \ _____ _______| | __ / _ \_______ ____ _____ ____ _____ ');
Wait(500);
Writeln(' | | \\__ \\_ __ \ |/ / / /_\ \_ __ \_/ ___\\__ \ / \\__ \ ');
Wait(500);
Writeln(' | ` \/ __ \| | \/ < / | \ | \/\ \___ / __ \| | \/ __ \');
wait(500);
Writeln('/_______ (____ /__| |__|_ \ \____|__ /__| \___ >____ /___| (___ /');
Wait(500);
Writeln(' \/ \/ \/ \/ \/ \/ \/ \/ ');
Wait(500);
Writeln(' Da Willow Crusher' + (ScriptVersion));
Wait(500);
end;


procedure CheckWcLvl;

var
WoodCuttingLevel: Integer;

begin
if not loggedin then
Exit;
WoodCuttingLevel := GetSkillInfo('Woodcutting', False);
WriteLn('Players Woodcutting level is ' + IntToStr(WoodCuttingLevel));
if (WoodCuttingLevel < 30) then
begin
Writeln('You need atleast 30 woodcutting to chop willows');
NextPlayer(False);
end;
end;


function DAFindDirtRoadColor: Integer;

var
II, CTS: Integer;
TPA: TPointArray;
TIA: TIntegerArray;

begin
Result := 0;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.63, 0.28);
if (FindColorsTolerance(TPA, 2183262, MMX1, MMY1, MMX2, MMY2, 10)) then
begin
FilterPointsPie(TPA, 0.0, 360.0, 0.0, 76.0, MMCX, MMCY);
SortTPAFrom(TPA, Point(MMCX, MMCY));
TIA := GetColors(TPA);
for II := 0 to High(TIA) do
if (CountColor(TIA[II], MMX1, MMY1, MMX2, MMY2) > 300) then
begin
Result := TIA[II];
Break;
end;
if (Result > 0) then
WriteLn('Dirt Road Color = ' + IntToStr(Result))
else
WriteLn('Could not find Dirt Road Color!');
SetColorSpeed2Modifiers(0.2, 0.2);
ColorToleranceSpeed(CTS);
end;
end;


procedure LoadAxeDTMs;

var
AxeDTM, Axe, Dragon: Integer;

begin
Axe := DTMFromString('78DA633CCCC4C0E0CAC8800CCCBC431874804' +
'220D1FF40C0B80DA8261A550D44164602E97D40358E04D46C07AA' +
'0926A06637A67B30D49C04AA71C1AF0600AAD30B51');
// Credits to ZephyrsFury for this dragon axe DTM
Dragon := DTMFromString('78DA63F4676460B800C448205C989B810B488' +
'344FF0301A30790751A550D44164602696720EB2201355E40D655' +
'026A6C81AC2704D404035937F1AB01006E8F0B4B');
AxeDTM := Dragon and Axe;
end;


function CheckForAxe: string;

var
Axe: array[0..8] of string;
i, AxeDTM: Integer;

begin
if not loggedin then
Exit;
Axe[0] := 'Dragon hatchet';
Axe[1] := 'Rune hatchet';
Axe[2] := 'Adamant hatchet';
Axe[3] := 'Mithril hatchet';
Axe[4] := 'Black hatchet';
Axe[5] := 'Steel hatchet';
Axe[6] := 'Iron hatchet';
Axe[7] := 'Bronze hatchet';
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
GameTab(5);
end else
GameTab(4);
LoadAxeDTMs;
if DTMRotated(AxeDTM, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 1, 1);
Wait(100 + Random(100));
end;
for I := 0 to 8 do
begin
if IsUpText(Axe[I]) then
Result := Axe[I];
end;
begin
if (Result = '') then
begin
FindNormalRandoms;
WriteLn('No Axe Found, Switchting Player');
NextPlayer(False);
end else
WriteLn('Using ' + Result);
end;
end;


procedure JoinClanChat;

var
JoinChat: Integer;
ClanChat: string;

begin
ClanChat := Players[CurrentPlayer].Strings[2];
GameTab(10);
JoinChat := BitmapFromString(54, 13, 'beNqdlWsKAjEMhPc+PsAf' +
'iiKK4jE9rAY/HYak7aolLNk2nU6TabtfXg/rsMtuhXM7btzoTBb9p' +
'+2iN9T7xe9hygLZwdNaYlWdsWmDTVaze9H0cIIP3wHC4z65DYiNM8' +
'YvIBrC7208uMEWB78ZOb1aoNFmq1Oh4MAGgRJDAFPmvYdgkXTYpC5' +
'Hq3kepBFY0dOuHRMyvqJ8xaRUy/eKCL9WXCtiNY3NdLl4fCEpIXh6' +
'wHm/HBROSzSLBYKUUBWbSqC6K15CbSqBuU2GVTM/OYmhnwsxTKNKb' +
'IWqWv2JT8qzBOaK8iPcg1IOK8N0NOoVUXXoIGgm5aSSrBObIncEv6' +
'B6JiU0e4IDDHGoBaM8CmGSkE/UrpkoGtOnSQ8DHQ5ufijpoiBREZM' +
'ehdk35Zt+MBPDOtFvJLildzMpuff8/WHvQjwBraTwdQ==');
if FindBitmapToleranceIn(JoinChat, x, y, MIX1, MIY1, MIX2, MIY2, 30) then
begin
Mouse(x + 15, y + 15, 3, 3, True);
Wait(500 + Random(500))
TypeSend(ClanChat);
end else
FindNormalRandoms;
if (FindBlackChatMessage('does not exist')) then
Writeln('Clan Chat Does not Exist!');
FreeBitmap(JoinChat);
end;


procedure SetUpPlayer;
begin
LogInPlayer;
SetAngle(True);
SetRun(True);
SetChat('On', 1);
SetChat('Off', 2);
Wait(500 + Random(500));
CheckForAxe;
CheckWcLvl;
JoinClanChat;
end;


function BankFloorColor: Integer;

var
Color, a, l, TestColor, Red, Green, Blue: integer;
P: array of TPoint;

begin
Color := 3816255;
FFlag(4);
FindColorsSpiralTolerance(MMCX, MMCY, P, Color, MMX1, MMY1, MMX2, MMY2, 60);
l := GetArrayLength(P);
for a := 0 to l - 1 do
begin
if RS_OnMinimap(P[a].x, P[a].y) then
begin
TestColor := GetColor(P[a].x, P[a].y);
if SimilarColors(TestColor, Color, 60) then
begin
ColorToRGB(TestColor, Red, Green, Blue);
if InRange(Red - Green, 5, 10) then
if InRange(Red - Blue, 4, 10) then
if GetColor(P[a].x + 5, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 3) = TestColor then
if GetColor(P[a].x, P[a].y + 5) = TestColor then
if GetColor(P[a].x + 5, P[a].y) = TestColor then
if GetColor(P[a].x, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y) = TestColor then
if GetColor(P[a].x + 5, P[a].y + 3) = TestColor then
if GetColor(P[a].x + 3, P[a].y + 5) = TestColor then
begin
Result := TestColor;
RoadColor := TestColor;
WriteLn('Bank Floor Color = ' + IntToStr(TestColor));
Exit;
end;
end;
end;
end;
WriteLn('Could not Find Bank Floor Color!');
Result := 0;
end;


function SearchBirdsNest: Boolean; //Credits to Deathscytex for this

var
CTS, I, X, Y: Integer;
NestATPA: T2DPointArray;
NestTPA: TPointArray;
Nest: TPoint;
Timer: LongInt;

begin
if (FindText(x, y, 'nest falls', SmallChars, 0, 400, 495, 460)) then
begin
MarkTime(Timer);
repeat
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
X := MSCX;
Y := MSCY;
FindColorsSpiralTolerance(X, Y, NestTPA, 3952984, MSCX - 100, MSCY - 100, MSCX + 100, MSCY + 100, 15);
NestATPA := TPAtoATPAEx(NestTPA, 5, 5);
for I := 0 to Length(NestATPA) - 1 do
begin
if (TimeFromMark(Timer) >= (10000)) then
Exit;
Nest := MIddleTPA(NestATPA[I]);
X := 0;
Y := 0;
MMouse(Nest.X, Nest.Y, 5, 5);
Wait(250);
if (IsUpText('ird')) then
begin
Mouse(Nest.X, Nest.Y, 5, 5, True);
Result := True;
Inc(NestsFound);
IncEx(ReportVars[4], NestsFound);
Wait(250 + Random(150));
Writeln('We Have Found a Bird Nest!');
{case (Random(5)) of
0: TypeSend('Found a Birds nest');
1: TypeSend('Cool, I got a bird nest.');
2: TypeSend('Found a nest');
3: TypeSend('Yay, a bird nest');
4: TypeSend('Finnaly, got a nest.');
end;}
Exit;
end;
end;
until (TimeFromMark(Timer) >= (10000)) or (Result);
Exit;
end else
Exit;
end;


function DAOpenBankFast: Boolean;

var
H, CTS, Mrk, a, II: Integer;
TPA: TPointArray;
ATPA: T2DPointArray;

begin
Result := False;
if not LoggedIn then
Exit;
CTS := GetColorToleranceSpeed;
for II := 0 to 1 do
begin
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 804188, MSX1, MSY1, MSX2, MSY2, 50);
if Length(TPA) > 0 then FindColorsSpiralTolerance(MSCX, MSCY, TPA, 737879, MSX1, MSY1, MSX2, MSY2, 50);
begin
ColorToleranceSpeed(1);
ATPA := TPAtoATPAEx(TPA, 30, 30);
H := High(ATPA);
for A := 0 to H do
if MiddleTPAEx(ATPA[A], x, y) then
begin
MMouse(X, Y, 4, 4);
Wait(100 + Random(50));
if IsupText('ank') then
begin
GetMousePos(x, y);
Mouse(x, y, 2, 2, False);
Wait(100 + Random(100));
if ChooseOption('uickly') then
begin
FFLag(1);
repeat
MarkTime(Mrk);
Wait(100);
until (BankScreen) or (PinScreen) or (TimeFromMark(Mrk) > 3000);
Result := True;
ColorToleranceSpeed(CTS);
Exit;
end;
end;
end;
end;
end;
end;


procedure ClickWcSkill;

var
WcSkill: Integer;

begin
WcSkill := BitmapFromString(20, 24, 'beNp1lL1KQ0EQRq9wEdLY2' +
'UQJ1topQYsUBiOSIkXEgD/gX6GVdnZ5AB/A0t7SzsLCZ/PcHPlcrg' +
'jDMrs7Z2Z2dnZn0+nxBJnNppPJ+PTsZDQaMl1b7ZbC1nh8yMgu43D' +
'QR1AQjBkvr85RqmoJWf/oKtVbVc9rVgyBc5zogXAuul5SR5+7YcVB' +
'jG4sPSTPUAo61M7zZsPeVuDJ0zOSOd4S8eZrOyyUYIkbmlFhxSiMs' +
'hiHTfSGXeAENX9GgwYsgyqcemO+8sMucIvWFPat0ib4+8tdQCjBX3' +
'xRdqKj6FlWPKxg8DJtWS/i6b45FKDU63WvBB9O98Tr/dqK2Qze4ON' +
'BB1wPTDFGLO9Jv4MIyv6e18V5jQFj72JFb9rLSiUorBdtH7IeY0Gn' +
'Kn9Z28OeZDFmKpHB1rL+rbAJl82ME7Y4dYsStB8sL0qJ+wAte0kJY' +
'hzQVsx57XCnwUvWEBgk4dZ5Vax8i01iKvkoeEcJ/R/rU9U+6eUJJ6' +
'UUvBU3ieX/iY4f/w0kVImn/xn5nVK0dEjLuOUqT0DE/y2tFTETo7S' +
'2cmq2/AHyBeEtd62HZKhuZRrP393fTfo=');
GameTab(2);
if FindBitmapToleranceIn(WcSkill, x, y, MIX1, MIY1, MIX2, MIY2, 50) then
begin
Mouse(x, y, 1, 1, True);
Wait(1000 + Random(1000));
CloseWindow;
Wait(1000 + Random(500));
end;
FreeBitmap(WcSkill);
end;


function InLumby: Boolean; //Credits to nose_smasher

var
LumbyColor: Integer;

begin
if not Loggedin then
Exit;
LumbyColor := FindLumbyRoadColor;
if (FindColorTolerance(x, y, LumbyColor, MMX1, MMY1, MMX2, MMY2, 3)) and
(FindSymbol(x, y, 'water')) then
Result := True
else
Result := False;
end;


procedure WalkToWillows; forward;

procedure DeathWalk;
begin
if not loggedin then
Exit;
repeat
Cast('Home Teleport');
Wait(12000 + random(5000));
until InLumby = True;
begin
Writeln('Going Back to Draynor!');
Status('Going Back to Draynor!');
Makecompass('n');
SetAngle(True);
Setrun(true);
SymbolAccuracy := 0.5;
if not RadialRoadWalk(FindLumbyRoadColor, 54, 80, 74, -2, 1) then
if FindSymbol(x, y, 'Guide') then
Mouse(x, y, 4, 4, True);
if not RadialRoadWalk(FindLumbyRoadColor, 290, 337, 70, -2, 1) then
if FindSymbol(x, y, 'Dungeon') then
Mouse(x - 10, y, 4, 4, True);
if not RadialRoadWalk(FindLumbyRoadColor, 287, 347, 65, -2, 1) then
if FindSymbol(x, y, 'Shop') then
Mouse(x, y + 10, 4, 4, True);
if not RadialRoadWalk(FindLumbyRoadColor, 260, 300, 50, -2, 1) then
if FindSymbol(x, y, 'Shop') then
Mouse(x - 10, y + 10, 4, 4, True);
if not RadialWalk(DAFindDirtRoadColor, 290, 240, 65, -2, 1) then
if FindSymbol(x, y, 'Farming Spot') then
Mouse(x, y + 15, 4, 4, True);
if not RadialWalk(DAFindDirtRoadColor, 238, 302, 60, -2, 1) then
if FindSymbol(x, y, 'Farming Spot') then
Mouse(x - 15, y + 15, 4, 4, True);
if not RadialWalk(DAFindDirtRoadColor, 243, 300, 60, -2, 1) then
if FindSymbol(x, y, 'Rare Trees') then
Mouse(x - 20, y + 15, 4, 4, True);
if not RadialWalk(DAFindDirtRoadColor, 238, 300, 65, -2, 1) then Exit;
if not RadialWalk(DAFindDirtRoadColor, 220, 270, 65, -2, 1) then
if FindSymbol(x, y, 'Rare Trees') then
Mouse(x - 15, y, 4, 4, True);
repeat
if not RadialWalk(DAFindDirtRoadColor, 213, 288, 65, -2, 1) then Exit;
until RadialRoadWalk(FindRoadColor, 350, 274, 74, -2, 1);
repeat
if not RadialRoadWalk(FindRoadColor, 350, 274, 58, -2, 1) then Exit;
until FindColorTolerance(x, y, 10089719, MMX1, MMY1, MMX2, MMY2, 40);
begin
Mouse(x, y, 4, 4, true);
FFlag(3);
Writeln('Yay We Are Back!');
Status('Yay We Are back!');
WalkToWillows;
Exit;
end;
end;
end;


procedure PlayerForm;
begin
SRLPlayerForm(True, ['Is Axe Wielded?', 'Use Responder?'], ['Pin Number?', 'Loads Each Player?'],
['SRL ID', 'SRL Password', 'Clan Chat'], []);
end;


function LoadDDTMs(Walk: Integer): Integer;

var
DTMMainPoint: TDTMPointDef;
DTMSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;

begin
case Walk of
1: begin
DTMMainPoint.x := 826;
DTMMainPoint.y := 242;
DTMMainPoint.AreaSize := 0;
DTMMainPoint.AreaShape := 0;
DTMMainPoint.Color := FindWaterColor;
DTMMainPoint.Tolerance := 5;

dtmSubPoints[0].x := 826;
dtmSubPoints[0].y := 242;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindWaterColor;
DTMSubPoints[0].Tolerance := 5;

DTMSubPoints[1].x := 816;
DTMSubPoints[1].y := 235;
DTMSubPoints[1].AreaSize := 0;
DTMSubPoints[1].AreaShape := 0;
DTMSubPoints[1].Color := FindRockColor;
DTMSubPoints[1].Tolerance := 5;

DTMSubPoints[2].x := 823;
DTMSubPoints[2].y := 252;
DTMSubPoints[2].AreaSize := 0;
DTMSubPoints[2].AreaShape := 0;
DTMSubPoints[2].Color := FindRockColor;
DTMSubPoints[2].Tolerance := 5;

DTMSubPoints[3].x := 837;
DTMSubPoints[3].y := 254;
DTMSubPoints[3].AreaSize := 0;
DTMSubPoints[3].AreaShape := 0;
DTMSubPoints[3].Color := FindWaterColor;
DTMSubPoints[3].Tolerance := 5;

DTMSubPoints[4].x := 828;
DTMSubPoints[4].y := 235;
DTMSubPoints[4].AreaSize := 0;
DTMSubPoints[4].AreaShape := 0;
DTMSubPoints[4].Color := FindWaterColor;
DTMSubPoints[4].Tolerance := 5;
end;

2: begin
DTMMainPoint.x := 880;
DTMMainPoint.y := 164;
DTMMainPoint.AreaSize := 2;
DTMMainPoint.AreaShape := 0;
DTMMainPoint.Color := 6447464;
DTMMainPoint.Tolerance := 255;

DTMSubPoints[0].x := 880;
DTMSubPoints[0].y := 164;
DTMSubPoints[0].AreaSize := 2;
DTMSubPoints[0].AreaShape := 0;
DTMSubPoints[0].Color := 6447464;
DTMSubPoints[0].Tolerance := 255;

DTMSubPoints[1].x := 885;
DTMSubPoints[1].y := 157;
DTMSubPoints[1].AreaSize := 2;
DTMSubPoints[1].AreaShape := 0;
DTMSubPoints[1].Color := 1179390;
DTMSubPoints[1].Tolerance := 100;

DTMSubPoints[2].x := 884;
DTMSubPoints[2].y := 166;
DTMSubPoints[2].AreaSize := 2;
DTMSubPoints[2].AreaShape := 0;
DTMSubPoints[2].Color := 195836;
DTMSubPoints[2].Tolerance := 100;

DTMSubPoints[3].x := 883;
DTMSubPoints[3].y := 171;
DTMSubPoints[3].AreaSize := 2;
DTMSubPoints[3].AreaShape := 0;
DTMSubPoints[3].Color := 195836;
DTMSubPoints[3].Tolerance := 100;

DTMSubPoints[4].x := 876;
DTMSubPoints[4].y := 169;
DTMSubPoints[4].AreaSize := 2;
DTMSubPoints[4].AreaShape := 0;
DTMSubPoints[4].Color := 1179390;
DTMSubPoints[4].Tolerance := 100;
end;
end;
TempTDTM.MainPoint := DTMMainPoint;
TempTDTM.SubPoints := DTMSubPoints;
Result := AddDTM(TempTDTM);
end;


function LevelUp: Boolean;

var
WoodCuttingLevel: Integer;

begin
Result := FindNPCChatText('gratu', Nothing);
if not Result then
Result := FindNPCChatText('atio', Nothing);
if Result then
begin
while ClickContinue(True, True) do
Wait(500);
WoodCuttingLevel := GetSkillInfo('Woodcutting', False);
case random(4) of
0: TypeSend('Yay ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
1: TypeSend('Sweet ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
2: TypeSend('Hooray my woodcutting is' + IntToStr(WoodCuttingLevel));
3: TypeSend('I finally lvled up!');
end;
ClickWcSkill;
CloseWindow;
Writeln('We have lvled up!');
IncEx(ReportVars[5], Lvls);
Inc(Lvls);
end;
end;


procedure AutoTrader;
begin
if (SomeoneTrades) then
begin
AcceptTrade;
Wait(4000 + random(1000));
Decline;
IncEx(ReportVars[6], Trades);
Inc(Trades);
case Random(7) of
0: Typesend('go away');
1: Typesend('go trade with someone else');
2: TypeSend('leave me alone');
3: TypeSend('No thank you');
4: TypeSend('I''m Busy');
6: TypeSend('don''t need that');
end;
end;
end;


function InChatArr(Text: array of string): Boolean; //Credits to Nava2 and EvilChicken for this.

var
I, H: integer;
s: string;

begin
H := High(Text);
if (not (GetLastChatText(s))) then
LastChatter(s);
for I := 0 to H do
begin
if (Pos(Lowercase(Text[i]), (Lowercase(s))) > 0) then
begin
Result := true;
Exit;
end;
end;
end;


procedure Responder;

var
Question, Thanking: TStringArray;
I, S: Integer;

begin
if not (Players[CurrentPlayer].Booleans[1]) or not (Loggedin) then
Exit;
Question := ['wc lvl', 'cutting lvl', 'oodc lvl', 'wc level', 'cutting level', 'oodc level'];
for I := 0 to 8 do
begin
if InChatArr(Question) then
begin
S := GetSkillInfo('Woodcutting', False);
case Random(9) of
0: TypeSend('only ' + IntToStr(S));
1: TypeSend(IntToStr(S));
2: TypeSend((IntToStr(S)) + ' you?');
3: TypeSend(IntToStr(S) + ' lol');
4: TypeSend((IntToStr(S)) + ' here');
5: TypeSend('only ' + IntToStr(S));
7: TypeSend('Nearly ' + IntToStr(S + 1));
8: begin
TypeSend('only ' + IntToStr(S + 1));
Wait(500 + random(500));
TypeSend('I mean ' + IntToStr(S));
end;
end;
Wait(1000 + Random(500));
end;
Thanking := ['nice', 'cool', 'awesome', 'sweet', 'good', 'kool'];
for I := 0 to 8 do
begin
if InChatArr(Thanking) then
begin
case Random(5) of
0: TypeSend('thx');
1: TypeSend('thank you');
2: TypeSend('ty');
3: TypeSend('thanks');
4: TypeSend('tyvm');
end;
end;
for I := 0 to 8 do
begin
if InChatArr([Players[CurrentPlayer].Nick]) then
begin
case Random(4) of
0: Typesend('What do you want');
1: Typesend('im busy');
2: Typesend('Leave me alone...');
3: Typesend('Go away');
end;
end;
end;
IncEx(ReportVars[7], Responded);
Inc(Responded);
end;
end;
end;


procedure FindRandoms;
begin
LampSkill := SkillLamp;
UseRewardBox;
FindNormalRandoms;
SolveSRLRandoms := True;
if FindFight then
RunAway('N', True, 1, 15000);
end;


procedure ClickWillow;
begin
case Random(5) of
0..3: begin
Mouse(x, y, 4, 4, True);
GetMousePos(x, y);
Wait(1000 + random(500));
end;

4: begin
Mouse(x, y, 4, 4, False);
GetMousePos(x, y);
Wait(300 + random(150));
ChooseOption('hop');
end;
end;
end;


procedure AntiBan;
begin
if not IsUpText('Willow') and not IsUpText('hop') or (Invfull) or (not (LoggedIn)) then
Exit;
case Random(200) of
0: HoverSkill('woodcutting', False);

1: PickUpMouse;

2: RandomMovement;

3: BoredHuman;

4: SleepAndMoveMouse(4000 + Random(3000));

5: begin
SetAngle(False);
Wait(500 + random(500));
SetAngle(True);
end;

6: begin
MakeCompass('e');
Wait(500 + random(500));
MakeCompass('n');
end;
7: MMouse(Random(x), Random(y), 1000, 1000);

8: ClickWcSkill;
end;
Inc(AntiBans);
IncEx(ReportVars[3], AntiBans);
end;


procedure WhileChopping;
begin
if not loggedin then
Exit;
FindRandoms;
AntiBan;
Responder;
AutoTrader;
SearchBirdsNest;
LevelUp;
end;


function FindWillow(ClickWillowTree: Boolean): Boolean;

var
i, Tries, H, CTS: Integer;
TP: Tpoint;
TPA: TPointArray;
ATPA: T2DPointArray;

begin
CTS := GetColorToleRanceSpeed;
ColorToleranceSpeed(1);
SetColorSpeed2Modifiers(0.24, 1.18);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 4813670, MSX1, MSY1, MSX2, MSY2, 10);
if Length(TPA) = 0 then FindColorsTolerance(TPA, 3364945, MSX1, MSY1, MSX2, MSY2, 10);
ColorToleranceSpeed(CTS);
SetColorspeed2Modifiers(0.2, 0.2);
ATPA := SplitTPAEx(TPA, 10, 10);
SortATPAFrom(ATPA, TP);
H := High(ATPA);
for i := 0 to H do
begin
MiddleTPAEx(ATPA[i], x, y);
MMouse(x, y, 4, 4);
Wait(100 + random(50));
if IsupText('illow') then
begin
GetMousePos(x, y);
repeat
Result := True;
if ClickWillowTree then
begin
ClickWillow;
Exit;
end else
Inc(Tries);
until FindWillow(True) or (Tries = 25);
if (Tries = 25) then
begin
DeathWalk;
Writeln('Can Not Find Willow Tree doing Death Walk');
end;
end;
end;
end;


procedure CrushWillow;

var
Mrk: Integer;

begin
if (not (LoggedIn)) then Exit;
Writeln('Crushing Willows');
Status('Crushing Willows');
repeat
if FindWillow(True) then
begin
GetMousePos(x, y);
WhileChopping;
FFlag(4);
MarkTime(Mrk);
end;
repeat
WhileChopping;
Wait(100 + Random(500));
until (not LoggedIn) or (TimeFromMark(Mrk) >= (8000 + Random(5000))) or (not IsUpText('hop')) or Invfull
until (InvFull) or (not LoggedIn);
end;

{$IFDEF SMART}

procedure SetUpSmart;
begin
Status('Loading Smart...');
ClearDebug;
Writeln('Please wait...');
Wait(500);
Writeln('Setting Up Smart');
SMARTSetupEx(133, False, True, False);
Wait(5000);
SetTargetDC(SmartGetDC);
repeat
Wait(100);
until (SmartGetColor(253, 233) <> 1118604);
end;
{$ENDIF}

procedure WalkToBank;

var
Bank, WalkDDTM: integer;

begin
if not Loggedin then
Exit;
Bank := DTMFromString('78DA63AC636260F0664001E909090CFF81342' +
'310FF0702C62CA01A4F881C0B54CD9F3F4C609A11CA672C22528D' +
'2B116A6CF1AB0100517A11CC');
Writeln('Going To Draynor Bank');
Status('Going to Bank');
SetAngle(True);
SetRun(true);
SymbolAccuracy := 0.5;
WalkDDTM := LoadDDTMs(2);
FindNormalRandoms;
if (DTMRotated(WalkDDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 20 - Random(5), y, 1, 1, true);
FFlag(8);
Writeln('We Have Arrived at Draynor Bank');
end else
if FindColor(x, y, BankFloorColor, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x + 10, y + 10, 1, 1, True);
FFlag(8);
Writeln('We Have Arrived at Draynor Bank');
end else
if FindColorTolerance(x, y, 10089719, MMX1, MMY1, MMX2, MMY2, 40) then
begin
Mouse(x, y, 4, 4, true);
FFlag(8);
Writeln('We Have Arrived at Draynor Bank');
end else
if DTMRotated(Bank, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Mouse(x, y, 5, 5, True);
Wait(1000 + random(1000));
FFlag(8);
Writeln('We Have Arrived at Draynor Bank!');
Exit;
end else
if (FindColorTolerance(x, y, 60909, 643, 15, 687, 47, 3)) then
begin
Mouse(x, y, 2, 2, true);
FFlag(8);
Writeln('We Have Arrived at Draynor Bank');
end else
if FindSymbol(x, y, 'fishing spot') then
begin
Mouse(x + 40, y - 50, 4, 4, true);
FFlag(8);
Writeln('We Have Arrived at Draynor Bank');
end else
begin
Writeln('Can not Find Bank, doing Death Walk');
Deathwalk;
end;
FreeDTM(Bank);
FreeDTM(WalkDDTM);
end;


procedure Banking;

var
WillowLog, Tries, Exps: Integer;

begin
if not (LoggedIn) then
Exit;
WillowLog := DTMFromString('78DA63B463626078CA800242BCE5185881342' +
'310FF07024607A09A3B0C6880118904D23E40350F09A8B105AAF9' +
'48408D3150CD0BFC6A001AAD0A8C');
Status('Banking Willows');
FFlag(7);
MakeCompass('n');
TotalWillows := CountItemsIn('inv', 'dtm', WillowLog, [0]);
repeat
DAOpenBankFast;
Inc(Tries);
until (PinScreen) or (BankScreen) or (Tries = 10)
if (Tries = 10) then
OpenBankFast('db');
if (PinScreen) then
begin
Writeln('Entering Pin Number');
InPin(IntToStr(Players[CurrentPlayer].Integers[0]));
end;
if (BankScreen) then
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
Writeln('Banking Willows');
Deposit(2, 28, True);
Closebank;
end else
begin
Writeln('Banking Willows');
DepositAll;
Closebank;
end;
begin
IncEx(ReportVars[2], Exps * 68);
IncEx(ReportVars[1], Exps);
IncEx(ReportVars[0], TotalLoads);
Inc(TotalLoads)
Writeln('We Have Banked the Willows');
FreeDTM(WillowLog);
end;
end;

procedure WalkToWillows;

var
WalkDDTM: integer;

begin
if not loggedin then
Exit;
begin
Status('Going to Willows');
Writeln('Going to Willows');
MakeCompass('n');
SetAngle(True);
SetRun(true);
FindNormalRandoms;
begin
WalkDDTM := LoadDDTMS(1);
if (DTMRotated(WalkDDTM, x, y, MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 30, y, 1, 1, true);
FFlag(8);
Writeln('Arrived at Willows');
end else
begin
if RadialWalk(FindRockColor, 90, 180, 60, -2, 1) then
begin
Wait(500 + Random(600));
Writeln('Arrived at Willows');
end else
begin
if (FindSymbol(x, y, 'fish')) then
begin
Mouse(x, y - 23, 1, 1, true);
FFlag(8);
Writeln('Arrived at Willows');
end else
begin
Writeln('Can Not Find willows, doing Death Walk');
DeathWalk;
end;
end;
end;
end;
end;
end;


procedure ProgressReport;
begin
ClearDebug;
WriteLn('***************************************************');
WriteLn(Padr('* DA Willow Crusher' + (ScriptVersion), 49) + ' *');
WriteLn('***************************************************');
WriteLn(Padr('* Been Crushing for | ' + TimeRunning, 49) + ' *');
Writeln(Padr('* Gained | ' + IntToStr(Lvls) + ' Levels', 49) + ' *');
WriteLn(Padr('* Did | ' + IntToStr(TotalLoads) + ' Loads', 49) + ' *');
WriteLn(Padr('* Crushed | ' + IntToStr(TotalWillows) + ' Willows', 49) + ' *');
Writeln(Padr('* Responded | ' + IntToStr(Responded) + ' Times', 49) + ' *');
Writeln(Padr('* Performed | ' + IntToStr(AntiBans) + ' AntiBans', 49) + ' *');
Writeln(Padr('* Traded | ' + IntToStr(Trades) + ' Times', 49) + ' *');
Writeln(Padr('* Found | ' + IntTOStr(NestsFound) + ' Bird Nests', 49) + ' *');
WriteLn(PAdr('* Gained | ' + IntToStr(TotalWillows * 68) + ' Exps', 49) + ' *');
WriteLn('***************************************************');
SendSRLReport;
SRLRandomsReport;
end;


procedure ScriptTerminate;
begin
ProgressReport;
FreeDTM(Bank);
FreeBitmap(WcSkill);
FreeBitmap(JoinChat);
end;


begin
Sig;
Disguise('DA Willow Crusher');
PlayerForm;
SetUpSRL;
ScriptID := '1211';
{$IFDEF SMART}
SetUpSmart;
{$ENDIF}
DaSRLID := Players[CurrentPlayer].Strings[0];
DASRLPassword := Players[CurrentPlayer].Strings[1];
if (DASRLID = '') or (DASRLPassword = '') then
begin
SRLID := '7412';
SRLPassword := 'omgomg';
end else
begin
SRLID := DASRLID;
SRLPassword := DASRLPassword;
end;
SetUpPlayer;
repeat
repeat
WalkToWillows;
CrushWillow;
WalkToBank;
Banking;
FindRandoms;
ProgressReport;
if (AllPlayersInActive) then
TerminateScript;
until (LoadsDone >= Players[CurrentPlayer].Integers[1]) or (not (LoggedIn));
NextPlayer(Players[CurrentPlayer].Active);
until (False);
ProgressReport;
end.

P1nky

2009-05-17 09:25:53

Yes Sur!

RRW/TPA/DTM/Bitmap.

Good job, if a DDtm than 100% yes from mostly everyone lol.
GL!

Dynamite

2009-05-17 09:41:39

You are a really nice guy, you always help people.
Script is pretty good aswell
Good Luck!
Yes.

T~M

Floor66

2009-05-17 10:15:31

Yes!

Although D hatched/SC/Volatile/Adze have different DTMs!

Dark Arcana

2009-05-17 11:23:44

Thank you guys for voting :)

@Floor66 I will try to make a dragon axe DTM.

ZephyrsFury

2009-05-17 11:33:03

From: Dark Arcana
Thank you guys for saying yes :)

@Floor66 I will try to make a dragon axe DTM.


Here you go:

DTM := DTMFromString('78DA63F4676460B800C448205C989B810B488' +
'344FF0301A30790751A550D44164602696720EB2201355E40D655' +
'026A6C81AC2704D404035937F1AB01006E8F0B4B'); //Dragon

Anyway yes from me. :) Good luck.

Naike

2009-05-17 12:03:31

Yes, Hardly read the script ;)

Dark Arcana

2009-05-17 13:47:21

Thank you ZephyrsFury for the DTM, and thank you N1ke! for voting :)

BobboHobbo

2009-05-17 14:24:32

Yes, your a great guy. So i dont really need to look at your script. YES

Naum

2009-05-17 14:36:03

Yes, a few things:

In your procedure LevelledUp:

    case random(3) of
1: TypeSend('Yay ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
2: TypeSend('Sweet ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
3: TypeSend('Hooray my woodcutting is' + IntToStr(WoodCuttingLevel));
4: TypeSend('I finally lvled up!');

Random(3) = 0, 1, 2

you can't have 3 or 4 ;)

This is also in your Trade procedure. Also in your procedure ClickWillow..
Maybe read up on Cases, you have the general jist of them; just an error.

There are also some more things I could have done if I were you such as shorten some procedures. But overall its a great application!

jakeyboy29

2009-05-17 14:38:32

From: The Man
You are a really nice guy, you always help people.
Script is pretty good aswell
Good Luck!
Yes.

T~M


i think you have to be a member for lik 2 weeks before you can vote…


anyway. yes

Dark Arcana

2009-05-17 14:40:05

From: NaumanAkhlaQ
Yes, a few things:

In your procedure LevelledUp:

    case random(3) of
1: TypeSend('Yay ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
2: TypeSend('Sweet ' + IntToStr(WoodCuttingLevel) + ' woodcutting');
3: TypeSend('Hooray my woodcutting is' + IntToStr(WoodCuttingLevel));
4: TypeSend('I finally lvled up!');

Random(3) = 0, 1, 2

you can't have 3 or 4 ;)

This is also in your Trade procedure. Also in your procedure ClickWillow..
Maybe read up on Cases, you have the general jist of them; just an error.

There are also some more things I could have done if I were you such as shorten some procedures. But overall its a great application!


Oops sorry I didn't see that I am going to fix it right away thanks for the feedback and thanks jakeyboy29 and BobboHobbo for voting.

ZephyrsFury

2009-05-17 14:57:48

From: The Man
You are a really nice guy, you always help people.
Script is pretty good aswell
Good Luck!
Yes.

T~M


From: jakeyboy29
i think you have to be a member for lik 2 weeks before you can vote…


anyway. yes


Its suggested that new SRL Members look around at recent applications and stick around for a few new ones, just so you know what to look for and what our standard is in terms of new SRL member abilities/attitudes. There's no set time frame though so if you feel like you're ready go ahead and vote.

mormonman

2009-05-17 15:06:54

From: ZephyrsFury
There's no set time frame though so if you feel like you're ready go ahead and vote.

… hobbit says otherwise?

ZephyrsFury

2009-05-17 15:07:50

From: mormonman
… hobbit says otherwise?


Hobbit says a lot of things.

mixster

2009-05-17 15:22:02

LoadAxeDTM - loads into local variables, so should be lost forever once it exits the procedure. Unlikely to get errors with it later on as they would be assigned a value of 0, so makes it likely that they would just use some other DTM that was loaded.
SearchBirdsNest - Check length for the TPA, as if too short, then no point in doing the rest of the function.
DAOpenBankFast - It looks like if you find any TPoints, then you try to find more using a second attempt. This is about confusing as I would think you would do that if you didn't find any/enough. Either way, you should then check the length as if it is too short, then pointless doing rest of function.
ClickWcSkill - Unsure if done later on, but if not may want to switch GameTab back. Assuming it is an antiban to be used while chopping, InvFull wouldn't work with wrong tab (though may have a check itself, in which case it would be fine).
DeathWalk - You backup your RRW, but you then assume the backup will work. If it doesn't, then the procedure continues as normal, which could be a problem or just result in a long time of not doing anything.
LoadDDTMs - While not a major problem, you may want to look into for loops to shorten the code. By assigning constant values to the subpoints, you can drastically reduce the lines it takes to display the DDTM as well as make it easy to update (ie raising tolerance or changing a colour). Also, the tolerance of 100 is a bit of a concern for me, but I'll trust that it's used responsibly.
AutoTrader - No 5'th option for the case.
AntiBan - For the MMouse, may be worth using MouseBox with the last parameter set for move only (think it's 3). Using MSX/Y1 and MIX/Y2, you would get pretty much the whole of the game.
FindWillow - You don't do a second check on TPA length if the first one is 0 (may want to make it something like under 10 though as there's a good chance it will find at least 1 point, but that doesn't mean it will work with just 1).
SetupSmart - May want to allow people to easily change world number via a cons at top or through the PlayerForm.
WalkToBank - You have several exit's. While this is all well and good, you don't free DTM's before then so you have a memory leak on your hands.
WalkToWillows - Don't free the created DDTM.

Only the axe problem is really worrying me. Otherwise, great script. Good luck getting in

Tniffoc

2009-05-17 16:11:10

I like it. Yes.

Dark Arcana

2009-05-17 17:22:11

Thanks for those helpfull feedback mixter and thank you Tniffoc for voting.

NCDS

2009-05-17 18:07:33

yes.

It's obvious you know what your doing, and I've seen you around a bit.


Congratulations.

Wizzup?

2009-05-17 18:35:10

I am not going to vote yet, because a few months ago you had a phishing signature, which linked to a fake runescape.com site, which asked people to log in. I removed it, and sent you a PM, but you never replied. I would like it if you would clear this up first.

n3ss3s

2009-05-17 18:39:57


Yes, your a great guy. So i dont really need to look at your script. YES


Wrong.

It's obvious you know what your doing, and I've seen you around a bit.



Good job, if a DDtm than 100% yes from mostly everyone lol.


What the hell is up with this, did anyone really look at the script?

NextPlayer(Players[CurrentPlayer].Active);


How about that? It will never switch players unless it fucks up in a random and SRL sets it inactive.

3Garrett3

2009-05-17 18:47:12

From: Wizzup?
I am not going to vote yet, because a few months ago you had a phishing signature, which linked to a fake runescape.com site, which asked people to log in. I removed it, and sent you a PM, but you never replied. I would like it if you would clear this up first.


I = Suprised :O. Holding vote due to above fact.

From: n3ss3s
Wrong.





What the hell is up with this, did anyone really look at the script?

NextPlayer(Players[CurrentPlayer].Active);


How about that? It will never switch players unless it fucks up in a random and SRL sets it inactive.


Uhh… Doesn't that just set the player to Active when it changes if he is active now, and not active if he is not active?

Nextplayer will always change, no? The true false thing determines if it keeps being used. So the only reason it shouldnt be used is if it fucked up?

It works in theory. I have yet to look through the script to see if he changes it to be true or false throughout the script, which would be the only way that it would work.

Seeing your disbelief leads me to think that he hasn't changed it through the script, in which case it would show he does not know how to use multiplayer. In which case, I wouldn't care how advanced his other stuff is.

Runescapian321

2009-05-17 18:59:56

From: Wizzup?
I am not going to vote yet, because a few months ago you had a phishing signature, which linked to a fake runescape.com site, which asked people to log in. I removed it, and sent you a PM, but you never replied. I would like it if you would clear this up first.


That's weird… He posted this on our clan forum:


Its Dark Arcana not Dark Ascana, and secondly [edit] was hacked, I went to a fake website :( and I have to use my friend's account (Joseph Pogi3) he gave me his account because he quits Runescape.


(Edited out the one RS Name)

He's saying HE went to a fake website…Maybe…Ugh, my head hurts, weird situation O_O. Also now he says Joseph Pogi3 (banned here for scamming or whatever) is his brother, not just his friend, though I guess that doesn't matter much, easier to refer to your brother as your friend I suppose.

Wouldn't Joseph Pogi3 and Dark Arcana have the same IP if they were brothers? In turn, wouldn't we not be able to tell them apart?

Dynamite

2009-05-17 21:23:41

From: Wizzup?
I am not going to vote yet, because a few months ago you had a phishing signature, which linked to a fake runescape.com site, which asked people to log in. I removed it, and sent you a PM, but you never replied. I would like it if you would clear this up first.


after hearing that im not too sure.
He seems to not be replying?
If he redeems himself then i say yes but…

T~M

T~M

marpis

2009-05-17 22:24:02

i say yes, even though there are many little drawbacks:

function DAFindDirtRoadColor: Integer;
1) use ClearSameIntegers

function DAOpenBankFast: Boolean;
2)

FindColorsSpiralTolerance(MSCX, MSCY, TPA, 804188, MSX1, MSY1, MSX2, MSY2, 50);
if Length(TPA) > 0 then FindColorsSpiralTolerance(MSCX, MSCY, TPA, 737879, MSX1, MSY1, MSX2, MSY2, 50);
what are you doing here?

3)

ColorToleranceSpeed(1);
ATPA := TPAtoATPAEx(TPA, 30, 30);
you are not finding any colors after this, so why set CTS to 1?

4)

if MiddleTPAEx(ATPA[A], x, y) then
begin
ClickColor := GetColor(X, Y);
MMouse(X, Y, 4, 4);
what are you doing here?

function LoadDDTMs(Walk: Integer): Integer;
5)

DTMMainPoint.Color := FindWaterColor;
it's not good to call FindWaterColor on every pixel. you should do it like this:

function LoadDDTMs(Walk: Integer): Integer;
var
DTMMainPoint: TDTMPointDef;
DTMSubPoints: array[0..4] of TDTMPointDef;
TempTDTM: TDTM;
WaterCol: integer;
begin
WaterCol := FindWaterColor;

case Walk of
1: begin
DTMMainPoint.x := 826;
DTMMainPoint.y := 242;
DTMMainPoint.AreaSize := 0;
DTMMainPoint.AreaShape := 0;
DTMMainPoint.Color := WaterCol;
and set the color of all subpoints to WaterCol too

6) DTMSubPoints[0].Tolerance := 255;
Tolerance 255 = all possible colors. so that subpoint is useless.
also DTMSubPoints[1].Tolerance := 100; this tolerance is absolutely too much.
i suggest you test how much 10 tolerance units effect the color finding by using Wizzups TPA debugger (search it in forums)

function LevelUp: Boolean;
7) i don't think its a good idea to shout like 3 random phrases when u get a lvl, you need like 10 or so.

procedure CheckWcLvl;
8)
NextPlayer(False);
LoginPlayer; // this is useless. NextPlayer logs player in

I also think your responder may answer multiple times to the same question, am i right?
that'd make it dangerous to use.
~~~~
I'm too tired to point out more, but here are the reasons why i say yes:
- He knows the basics of TPA. Not anything complex, but the basics
- He knows the idea of DTM walking. Now there are many things wrong in walking too but they could be quickly fixed.
- I see the potential

[x] TPA / ATPA
[x] RW / DTM-Walk
[x] Multiplayer
what was the 4th one?

Wizzup?

2009-05-17 23:18:11

This was the site your (Dark Arcana's) signature linked to: http://rs3-beta.synthasite.com/ <– THIS ISN'T RUNESCAPE.COM

Note how both the play (free) and play(member) link to register.php.

Rich

2009-05-17 23:22:36

Very interesting situation. I'm going to have a very in depth look at the script to see if there is anything suspicious.

Naum

2009-05-17 23:27:14

@Marpis No.2 - I think it might be a failsafe, But it would be more efficienter to put it in an array ;)

Rich

2009-05-17 23:30:08

I've had a look over the script, and as far as I can see, there is nothing suspicious contained inside it. However, I would advise someone else looks over just to confirm.

Richard

Wizzup?

2009-05-17 23:59:09

I'm not talking about the script - just about a signature he had in the past.

Dynamite

2009-05-18 00:02:44

From: Wizzup?
I'm not talking about the script - just about a signature he had in the past.


Yeh i remember that scam, I think i clicked on his siggy.
He should have to prove himself before. His scripting is definately knowledgeable, but we dont want a member trying to scam people

T~M

Rich

2009-05-18 01:04:51

I know you was on about the siggy, and I also know he has been a very good member of the community of a while now - apart from the siggy phase. I just wanted to make sure that there was nothing suspicious in the script which could suggest any scamming, such as the siggy.

lordsaturn

2009-05-18 05:23:23

First things first, wow wow wow times a jillion. This is the best application script I have seen in a very long time, and I most definitely vote yes. So I am going to be very nitpicky while judging this script, you definitely know what you're doing. Some of it may even be my personal opinion. :p

In CheckWCLevel, NextPlayer(False) will login the next player, it is unnecessary to call another LoginPlayer after it.

DAFindDirtRoadColor will not always return CTS and colorspeed modifiers to their past value, nor will it always debug if the color is not found.

Your use of DTMs is way incorrect. LoadAxeDTMs loads your DTMs into local variables, so after the procedure is executed, your DTMs are lost, nor are they freed, hogging your memory. You have another variable, AxeDTM in your CheckForAxe function, which is never initialized to a DTM, and when called in DTMRotated, it will most likely throw an access violation. Either way, it is pointless to call DTMRotated for inventory DTMs, because inventory DTMs are static, and will never rotate. Please use FindDTM instead. Also in the for loop, you forget to break out of the loop if the uptext is found and the result is met.

Your BankFloorColor function looks great, good work there. :)

I can find a few errors in DAOpenBankFast. A length check is never done on the second FindColorsSpiralTolerance, thus an access violation could occur in some situations. I don't see the purpose of ClickColor, you never use it anywhere. Also the result should probably only be true if the Bank/PinScreen is found. And the cts is only returned if the result is met. You're definitely on the right track here, with a few tweaks it could be perfect.

Your DeathWalk should probably have a result.. as there are many, many chances for it to fail. If one of the symbols were not found, your script would get off track and attempt to continue in an incorrect location.

I like your DDTMs function, except for a couple things. Try storing FindxColor in a variable, if it is used in more than one point. It will improve efficiency as the script will not have to find the same color multiple times. Also, your second DTM is static not dynamic…but ofcourse you could have made it so on purpose.

Nice responder and antiban, except for a few things. Your responded variable is increased each iteration of the for loop, even if nothing is responded to. The same is done in your Antiban function. Also, your 'Thanking' responding loop will be executed 81 times, as your for loop is already nested inside another for loop that does the same thing.

Your willow finding looks great, except for one minor detail you missed. A second length check on the second FindColorsSpiralTolerance is not executed, once again leaving a possibility for an access violation to occur.

Your walking looks great, you used your DTMs correctly here. Only thing I'd have to say is that in some cases your DTMs are not freed, as you have Exits placed in a few of your if statements. Also your banking could use a couple failsafes, such as switching players and not increasing report variables if the bank is not found.

Standards look great, and I will vote yes despite the drama happening on posts above. Great job on this. :)

Harry

2009-05-18 05:29:13

1) Get on IRC more.

2):
From: Wizzup?
I am not going to vote yet, because a few months ago you had a phishing signature, which linked to a fake runescape.com site, which asked people to log in. I removed it, and sent you a PM, but you never replied. I would like it if you would clear this up first.

Srs bsns you need to clear up, am I right?

Hobbit

2009-05-18 06:19:37

From: mormonman
… hobbit says otherwise?


From: ZephyrsFury
Hobbit says a lot of things.


First off… that is a suggestion not a mandate

Secondly… It was not I who said it, I was ,merely restating it along with many other things in one thread.

Thirdly yes

P1nky

2009-05-18 07:57:56

lol dang that's bad and shows that he is in the Runescape Phishing business :(

btw i clicked that link It doesn't keylog or anything right, i'm not aware of those kind of stuff lol, i have to log on my acc in order for him to get the Info?

But yeah now it's a shaky deal here :(

Harry

2009-05-18 08:00:57

From: ~~Joker~~
lol dang that's bad and shows that he is in the Runescape Phishing business :(

btw i clicked that link It doesn't keylog or anything right, i'm not aware of those kind of stuff lol, i have to log on my acc in order for him to get the Info?

But yeah now it's a shaky deal here :(

It would steal it by you logging in. It would probably php mail() the entered data to him.

Da 0wner

2009-05-18 09:43:31

Nice script. Seems like member material :D.
Lol, joseph pogie has got ban hammer :o http://villavu.com/forum/showthread.php?t=42762.

Markus

2009-05-18 09:44:49

Voted no until clarification on this phishing thing from himself.

Dark Arcana

2009-05-18 12:44:12

I remember Rasta Magician sending me a message about that website in my signature, and I replied and took it out, and there is nothing that hacks in the script I promise. Joseph Pogi3 is my brother and he got banned lol, I got hacked in a fake website, so I decided to use my brother's account because he quits runescape. I never hacked anyone with the fake runescape I made. I didn't receive the message Wizzup sent me. Thank you for everyone who vote. I didn't think anyone would click on my signature. I am not like my brother, sorry for everything guys :(

I hope this clears everything up, I also deleted the website :)

Sewoemio

2009-05-18 13:06:16

Yes.

Dynamite

2009-05-18 13:37:30

From: Sewoemio
Yes.


your back after 3 years! :D WB ;)
sorry for offtopic :(

T~M

Dark Arcana

2009-05-18 15:20:19

I thought I was going to get in big trouble, thank you everyone for voting.

NiCbaZ

2009-05-18 15:25:00

If you remove your avatar il vote yes.

Otherwise…

Dark Arcana

2009-05-18 15:26:44

From: NiCbaZ
If you remove your avatar il vote yes.

Otherwise…


I will when I become a SRL-member lol

Wizzup?

2009-05-18 15:36:53

From: Dark Arcana
I remember Rasta Magician sending me a message about that website in my signature, and I replied and took it out, and there is nothing that hacks in the script I promise. Joseph Pogi3 is my brother and he got banned lol, I got hacked in a fake website, so I decided to use my brother's account because he quits runescape. I never hacked anyone with the fake runescape I made. I didn't receive the message Wizzup sent me. Thank you for everyone who vote. I didn't think anyone would click on my signature. I am not like my brother, sorry for everything guys :(

I hope this clears everything up, I also deleted the website :)


You deleted the website? Then you own the website. How can you get hacked by your own website?

Dark Arcana

2009-05-18 15:38:35

From: Wizzup?
You deleted the website? Then you own the website. How can you get hacked by your own website?


I didn't get hacked by my own website I got hacked in a different one, then I tried to make one, I should have not made it in the first place.

Wizzup?

2009-05-18 15:41:23

From: Dark Arcana
I didn't get hacked by my own website I got hacked in a different one, then I tried to make one.


To what purpose?

Dark Arcana

2009-05-18 15:44:40

I was gonna test it out in runescape but I didn't try to hack anyone in SRL, and if someone went to my website I wouldn't hack him/her I promise.

lordsaturn

2009-05-18 15:48:42

From: Dark Arcana
I was gonna test it out in runescape but I didn't try to hack anyone in SRL, and if someone went to my website I wouldn't hack him/her I promise.


So how would you be able to tell the difference between an account of a runescape member or an srl member?

Home

2009-05-18 15:52:48

Yes, even from your past actions.

~Home

Dark Arcana

2009-05-18 15:54:11

Well when I ask a runescape player to go to my site I remember his username, by the way are we going off topic or is this okay?

Edit: Thanks Home :)

lordsaturn

2009-05-18 15:57:58

From: Dark Arcana
Well when I ask a runescape player to go to my site I remember his username, by the way are we going off topic or is this okay?

Edit: Thanks Home :)


But any runescape player could have connected to your website, you surely can't log every single player that was in your loaded area at the time you were advertising your website. And what other purpose would you have to place the link in your signature than to phish SRL members?

Wizzup?

2009-05-18 16:04:04

From: Dark Arcana
I was gonna test it out in runescape but I didn't try to hack anyone in SRL, and if someone went to my website I wouldn't hack him/her I promise.


But it was inevitably in your signature.

Dark Arcana

2009-05-18 16:04:59

From: lordsaturn
But any runescape player could have connected to your website, you surely can't log every single player that was in your loaded area at the time you were advertising your website. And what other purpose would you have to place the link in your signature than to phish SRL members?


I didn't advertise it I only PM players because I get banned to quick if I advertise it, well when I first registered in SRL I wasn't thinking on what I was doing, I was kinda of a leecher, and yes I did a very bad mistake putting that site in my signature in the first place. Sorry guys :(

This was the PM Rasta Magician sent me
From: Rasta Magician
hey, i noticed that you generally have a rather good attitude around the forums, so i was just wondering what was up with the website you had on your signature?

~RM


I am going offline soon so I might not reply back.

Edit: Wizzup? I don't know what inevitably means, I'm only 12 I don't know much.

Da 0wner

2009-05-18 18:07:59

It means you cannot deny or avoid it.

Laur€ns

2009-05-18 18:20:58

From: Dark Arcana
I'm only 12 I don't know much.


12 and make a script like that? :eek:Woah. That impressed me..
Anyway, yes, even though of that… history.. of you.

marpis

2009-05-18 19:10:45

From: WT-Fakawi

You will be permanently banned for the following offences:

* Script Posting on other forums. Do not post other peoples SRL Scripts on any forum unless given permission from the Original Author.
* Offensive Material: Posting or linking to pornography or any other unethical material.
* Spam Advertisements. Autospammer are banned on the spot. We have a very adequate report mechanism.
* Warez: Posting or linking to Warez / Cracks / Serials or any other illegal copyrighted material.
* Keylogging / Password Cracking: Any topic related to keylogging / password cracking, helping others creating / using / discussing / distributing password cracks or keyloggers is strictly prohibited.
* Posting infected files: viruses, trojans and generally any other malicious pieces of software / hyperlinks are not allowed.
* Impersonating: Pretending to be a Developer/Moderator/Admin.


This is no cracking/hacking/keylogging, but i can't tolerate scamming.
Once trust is lost, it won't come back.

EDIT: I thought about this, and I say we don't need to ban him cause he seems to have shapen up, but absolutely NO member to him.

3Garrett3

2009-05-18 19:42:45

From: marpis
This is no cracking/hacking/keylogging, but i can't tolerate scamming.
Once trust is lost, it won't come back.

EDIT: I thought about this, and I say we don't need to ban him cause he seems to have shapen up, but absolutely NO member to him.



Weren't you the one that just said "I vote yes"

Actually, you said "I vote yes" twice I believe. I just read through the entire thread. Although you are contradicting yourself immensely.. I concur with your third post (the one quoted)

Rich

2009-05-18 19:49:50

A agree with marpis' above post. He should have been permanently banned according to the rules, and he hasn't. But I think the line has to be drawn somewhere, and that somewhere is now. Allow him to stay a Junior Member, but not an SRL Member.

marpis

2009-05-18 20:07:49

From: 3Garrett3
Weren't you the one that just said "I vote yes"

Actually, you said "I vote yes" twice I believe. I just read through the entire thread. Although you are contradicting yourself immensely.. I concur with your third post (the one quoted)


i only have posted 2 times in this thread, this post is my third.
i did say yes, but at the time i didn't know about the skeletons in his closet

Dynamite

2009-05-18 20:30:02

i agree with marpis, we dont want someone who is supposed to be trusted (member) and they say to someone oh go here dont worry im trustworthy and he hacks someone

T~M

P1nky

2009-05-19 03:20:35

simple, no members & no ban… like hey123…

footballjds

2009-05-19 03:33:35

From: ~~joker~~
simple, no members & no ban… Like hey123…


+124134252345234523452345234523452345
;)

MylesMadness

2009-05-19 04:04:01

From: ~~Joker~~
simple, no members & no ban… like hey123…
Agreed

ZaSz

2009-05-19 04:21:41

Yes
Edit: didn't read before me just script. Oopz?

footballjds

2009-05-19 04:24:10

zasz, have u not read the posts?
this dude should not obtain membship because he is a phisher…

ZaSz

2009-05-19 04:26:21

i didn't, sad though, I really liked you </3

footballjds

2009-05-19 04:28:08

xactly, please read b4 voting :(

Wizzup?

2009-05-19 05:48:55

We shouldn't jump to conclusions too fast.
Yes, Dark Arcana had a malicious signature, but I don't think I fully agree about Never become an SRL member. We will discuss this at the staff section.