SRL Archive - Archive

quickmarch - SRL Member Application Form


Quickmarch

2008-09-23 04:09:38

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

What is the meaning to life?


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


Programming Knowledge
a Bit Of Actionscript

Other Communitys
none

How Long have You Played Runescape
2 years

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

i wanted to cheat because runescape got boring

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

program WillowRemover;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Woodcutting.scar}

const

{=====================================================}
{ Willow Remover }
{=====================================================}
{ Script By Quickmarch. }
{ }
{ 1. Put Players In Draynor Bank. }
{ 2. Setup Lines Below. }
{ 3. Drag Crosshair To Runescape Client. }
{ 4. Click Run. }
{ }
{ }
{ }
{=====================================================}
{ Setup Here }
{=====================================================}
BankPin= '0000'; //Bank Pin Number Keep 0000 If You Dont Have One.
RunDirection= 'N'; //Run Direction If Attacked.
{=====================================================}
{ Declare Your Accounts. }
{=====================================================}

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].Booleans[0] := True; //Is Axe Wielded? True If Yes.
Players[0].Integers[0] := 40; //Loads To Do Each Player.
Players[0].Active := True;

end;

{=====================================================}
{ Edit If You Have Problems. }
{=====================================================}

function StoneDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 965;
dtmMainPoint.y := 370;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 4671579;
dtmMainPoint.Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[0].x := 965;
dtmSubPoints[0].y := 370;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 4671579;
dtmSubPoints[0].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[1].x := 947;
dtmSubPoints[1].y := 332;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[2].x := 955;
dtmSubPoints[2].y := 328;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[3].x := 956;
dtmSubPoints[3].y := 319;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[4].x := 961;
dtmSubPoints[4].y := 286;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 794717;
dtmSubPoints[4].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[5].x := 955;
dtmSubPoints[5].y := 327;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 195836;
dtmSubPoints[5].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

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

function BankDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 991;
dtmMainPoint.y := 301;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1364450;
dtmMainPoint.Tolerance := 150; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[0].x := 991;
dtmSubPoints[0].y := 301;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1364450;
dtmSubPoints[0].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[1].x := 978;
dtmSubPoints[1].y := 301;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[2].x := 978;
dtmSubPoints[2].y := 297;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[3].x := 978;
dtmSubPoints[3].y := 289;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[4].x := 970;
dtmSubPoints[4].y := 301;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 195836;
dtmSubPoints[4].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
{=======================================================}
{ Script Start. }
{=======================================================}

var
BrokenDTM, NormalDTM: integer;

procedure SetupDTMS;
begin
BrokenDTM := DTMFromString('78DA63E4626060E06740019D19420C92409A1' +
'188FF0301232F90C1CC800618E16AC03C5620214E400D0FA65D30' +
'59B81A905DDC04CC110512BC04D488010916FC6A000035065E');

NormalDTM := DTMFromString('78DA639CC0CCC070939101193427093048026' +
'990E87F20609C07547301550D4816A606CC03A9B94C40CD1CA09A' +
'1B04D44C07AAB94240CD64A09AEB04D4F403D53C24A0A60BA8E61' +
'90135BD40357708A8994084DFA700D59CC3AF060021F015F0');
end;

procedure Logo;
begin
ClearDebug;
WriteLn('____ ____ __ __ ____ ____ ');
Wait(100);
WriteLn('\ \ / / ___ | | | | ______ \ \ / / ');
Wait(100);
WriteLn(' \ \ / / | | | | | | / __ \ \ \ / / ');
Wait(100);
WriteLn(' \ \ _____ / / | | | | | | / / \ \ \ \ _____ / / ');
Wait(100);
WriteLn(' \ \__/ \__/ / | | | | | | / / \ \ \ \__/ \__/ / ');
Wait(100);
WriteLn(' \ _ / | | | |____ | |____ \ \ / / \ _ / ');
Wait(100);
WriteLn(' \ / \ / | | | / | / \ \__/ / \ / \ / ');
Wait(100);
WriteLn(' \____/ \____/ |___| |_____/ |_____/ \______/ \____/ \____/ ');
Wait(100);
WriteLn(' ');
Wait(100);
WriteLn(' _____ _____');
Wait(100);
WriteLn(' | _ \ | _ \ ');
Wait(100);
WriteLn(' | / \ \ ____ __ __ ______ ___ ___ ____ | / \ \ ');
Wait(100);
WriteLn(' | \_/ \ | __| | \ / | / \ \ \ / / | __| | \_/ \ ');
Wait(100);
WriteLn(' | / | |_ | \ / | / __ \ \ \ / / | |_ | / ');
Wait(100);
WriteLn(' | ^ / | _| | \ / | | / \ | \ \ / / | _| | ^ / ');
Wait(100);
WriteLn(' | | | \ | | | |\ \/ /| | | \__/ | \ \/ / | | | | | \ ');
Wait(100);
WriteLn(' | | | \ | |__ | | \__/ | | \ / \ / | |__ | | | \ ');
Wait(100);
WriteLn(' |__| |___\ |____| |__| |__| \______/ \__/ |____| |__| |___\');
Wait(100);
WriteLn(' ');
Wait(100);
WriteLn(' Created By Quickmarch. ');
Wait(3000); //Delete If You Want.
end;

var
x, y, rx, ry, Tries: integer;

procedure SetupScript;
begin
if (not(LoggedIn)) then Exit;
Status('Setting Up Script...');
WriteLn('Setting Up Script...');
MakeCompass('N');
SetAngle(True);
FindAxe;
if (InvFull) then
begin
Status('Banking Stuff.');
WriteLn('Banking Stuff.');
MakeCompass('E');
OpenBankGlass('db', False, False);
Wait(500);
FixBank;
if (Players[CurrentPlayer].Booleans[0] = True) then
Deposit(1, 28, True);
if (Players[CurrentPlayer].Booleans[0] = False) then
Deposit(2, 28, True);
CloseBank;
end;
MakeCompass('N');
SetRun(True);
end;

var
RanAway, Ents: integer;

procedure DieRandoms;
begin
FindNormalRandoms;
FindLamp('woodcutting');
if FindEnt(rx, ry, True) then
begin
Ents := Ents + 1;
end;
if (FindFight) then
begin
RunAway(RunDirection,True,1,20000);
RanAway := RanAway + 1;
end;
end;

procedure AntiBan; //antiban by quickmarch
begin
case random(7) of
0:begin
HoverSkill('random', False);
DieRandoms;
Exit;
end;
1:begin
BoredHuman;
DieRandoms;
Exit;
end;
2:begin
Retaliate(True);
DieRandoms;
Exit;
end;
3:begin
GameTab(random(12)+1);
DieRandoms;
Exit;
end;
4:begin
RandomRClick;
DieRandoms;
Exit;
end;
5:begin
PickUpMouse;
DieRandoms;
Exit;
end;
6:begin
HoverSkill('woodcutting', False);
DieRandoms;
Exit;
end;
end;
end;

procedure KillBank;
begin
if (not(LoggedIn)) then Exit;
if (InvFull) then
begin
WriteLn('Inventory Full.');
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
if DTMRotated(BankDDTM, rx, ry, MMX1, MMY1, MMX2, MMY2) then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
Wait(1000+random(1000));
FreeDTM(BankDDTM);
FFlag(0);
Exit;
end else
begin
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
SymbolAccuracy := 0.5
if FindSymbol(rx, ry, 'bank') then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
Exit;
end else
begin
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
if FindColorTolerance(rx, ry, 11908545, MMX1, MMY1, MMX2, MMY2, 3) then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
Exit;
end;
end;
end;
end;
end;

procedure WalkToWillows; //walk to willows
begin
if (not(LoggedIn)) then Exit;
MakeCompass('N');
SetAngle(True);
Status('Finding Stone...');
if DTMRotated(StoneDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Status('Found Stone.');
WriteLn('Found Stone.');
Mouse(x, y, 2, 2, True);
DieRandoms;
FFlag(0);
SetRun(True);
FreeDTM(StoneDDTM);
Exit;
end else
Status('Did Not Find Stone.');
WriteLn('Did Not Find Stone.');
begin
Status('Finding Fishing Symbol.');
MakeCompass('N');
SetAngle(True);
SymbolAccuracy := 0.5
if FindSymbol(x, y,'fishing spot') then
begin
Status('Found Fishing Symbol.');
WriteLn('Found Fishing Symbol.');
Mouse(x, y, 2, 2, True);
DieRandoms;
FFlag(0);
SetRun(True);
Exit;
end else
Status('Error...');
WriteLn('Did Not Find Willows Area.');
TerminateScript;
end;
end;

var
Axe, i: Integer;

function FixAxe(Wield: Boolean): Boolean;
begin
if (FindDTM(BrokenDTM, rx, ry, MIX1, MIY1, MIX2, MIY2)) then
begin
case Random(5) of
0: TypeSend('AHHHHHHHHHH i hate woodcutting!!!!!1');
1: TypeSend('Stupid Axe...');
2: TypeSend('im so angry!!!!!!!!!!!!!!!111111');
3: TypeSend('awwwwww not my axe again:(');
4: TypeSend('red: axes....');
end;
DieRandoms;
WriteLn('Found Broken Axe.');
if FindSymbol(rx, ry, 'bank') or
FindColorTolerance(rx, ry, 11908545, MMX1, MMY1, MMX2, MMY2, 3) then
begin
Result := True;
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
OpenBank('db', False, False);
Deposit(1, 28, 2000000);
if (FindDTM(NormalDTM, rx, ry, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('Found Good Axe.');
Mouse(rx, ry, 3, 3, True);
CloseBank;
if (Wield) then
begin
MouseItem(1, True);
end;
Axe := Axe + 1;
end;
WalkToWillows;
end;
end;
end;


var
TPA: TPointArray;
P: TPoint;
Time: Integer;

procedure FindWillows;
begin
if (not(LoggedIn)) then Exit;
Status('Finding Willows...');
DieRandoms;
MarkTime(Time);
x := MSCX;
y := MSCY;
FindColorsSpiralTolerance(x, y, TPA, 8693935, MSX1, MSY1, MSX2, MSY2, 3);
if Length(TPA) = 0 then FindColorsSpiralTolerance(x, y, TPA, 3231044, MSX1, MSY1, MSX2, MSY2, 3);
for i := 0 to High(TPA)do
begin
P := TPA[i]
MMouse (P.x, P.y, 3, 3);
if (IsUpTextMultiCustom(['hop', 'own', 'illow'])) then
begin
Wait(3000+random(1000));
GetMousePos(rx, ry);
Mouse(rx, ry, 0, 0, False);
Wait(100+random(200));
ChooseOption('hop');
Status('Chopping Willows...');
DieRandoms;
if (FindBlackChatMessage('an axe')) then
begin
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
WriteLn('Found Broken Axe.');
GameTab(5);
TakeOff(5);
FixAxe(True);
if (FindBlackChatMessage('attack')) then
begin
WriteLn('You Do Not Have The Right Level To Wield That Axe.');
FixAxe(True);
end;
end;
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
GameTab(4);
FixAxe(False);
begin
WriteLn('You Do Not Have The Right Level To Wield That Axe.');
FixAxe(True);
end;
end;
DieRandoms;
AntiBan;
if (TimeFromMark(Time) > 30000) then Exit;
end;
if (TimeFromMark(Time) > 30000) then Exit;
end;
Wait(350+random(350));
if (TimeFromMark(Time) > 30000) then Exit;
end;
end;

var
Loads, Lot2, WCLvl: integer;

procedure MyOpenBank;
begin
repeat
if (not(LoggedIn)) then Exit;
WCLvl := GetSkillInfo('woodcutting', True);
MakeCompass('N');
SetAngle(True);
OpenBank('db', False, False);
Tries := Tries + 1;
until(Tries=5);
if (Tries=5) then
begin
SetAngle(True);
MakeCompass('W');
OpenBankGlass('db', False, False);
end;
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
if (PinScreen) then
InPin(BankPin);
Deposit(1, 28, True);
end;
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
if (PinScreen) then
InPin(BankPin);
Deposit(2, 28, True);
end;
CloseBank;
Loads := Loads + 1;
WriteLn('|=======================================================|');
WriteLn('| Willow Remover Report |');
WriteLn('|=======================================================|');
WriteLn(' WoodCutting Lvl: '+ IntToStr(WCLvl) +'.');
WriteLn(' Loads Done: '+ IntToStr(Loads) +'.');
WriteLn(' Time Running: '+ TimeRunning +'.');
WriteLn(' Ran Away: '+ IntToStr(RanAway) +'.');
WriteLn(' Ents Avoided: '+ IntToStr(Ents) +'.');
WriteLn(' Broken Axes: '+ IntToStr(Axe) +'.');
WriteLn('|=======================================================|');
WriteLn('| Thank You For Using This Script |');
WriteLn('|=======================================================|');
Lot2 := Lot2 + 1;
if Lot2=(Players[CurrentPlayer].Integers[0]) then
begin
WriteLn('Done All Loads For That Player.');
if (HowManyPlayers= 1) then
begin
WriteLn('All Players Successfully Finished.')
Logout;
TerminateScript;
end else
NextPlayer(True);
end;
MakeCompass('N');
SetRun(True);
end;

procedure MainLoop;
begin
DeclarePlayers;
Loginplayer;
SetupScript;
repeat
WalkToWillows;
repeat
FindWillows;
until(InvFull);
KillBank;
MyOpenBank;
until(False);
end;

begin
Logo;
SetupDTMS;
SetupSRL;
ActivateClient;
MainLoop;
end.

{=======================================================}
{ End Script. }
{=======================================================}

——————————————————


Changed Global Variables to Non-Global Variables in FindWillows.

program WillowRemover;
{.include SRL/SRL.scar}
{.include SRL/SRL/skill/Woodcutting.scar}

const

{=====================================================}
{ Willow Remover }
{=====================================================}
{ Script By Quickmarch. }
{ }
{ 1. Put Players In Draynor Bank. }
{ 2. Setup Lines Below. }
{ 3. Drag Crosshair To Runescape Client. }
{ 4. Click Run. }
{ }
{ }
{ }
{=====================================================}
{ Setup Here }
{=====================================================}
BankPin= '0000'; //Bank Pin Number Keep 0000 If You Dont Have One.
RunDirection= 'N'; //Run Direction If Attacked.
{=====================================================}
{ Declare Your Accounts. }
{=====================================================}

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].Booleans[0] := True; //Is Axe Wielded? True If Yes.
Players[0].Integers[0] := 40; //Loads To Do Each Player.
Players[0].Active := True;

end;

{=====================================================}
{ Edit If You Have Problems. }
{=====================================================}

function StoneDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..5] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 965;
dtmMainPoint.y := 370;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 4671579;
dtmMainPoint.Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[0].x := 965;
dtmSubPoints[0].y := 370;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 4671579;
dtmSubPoints[0].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[1].x := 947;
dtmSubPoints[1].y := 332;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[2].x := 955;
dtmSubPoints[2].y := 328;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[3].x := 956;
dtmSubPoints[3].y := 319;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[4].x := 961;
dtmSubPoints[4].y := 286;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 794717;
dtmSubPoints[4].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

dtmSubPoints[5].x := 955;
dtmSubPoints[5].y := 327;
dtmSubPoints[5].AreaSize := 0;
dtmSubPoints[5].AreaShape := 0;
dtmSubPoints[5].Color := 195836;
dtmSubPoints[5].Tolerance := 105; //Edit Tolerance Or Area If It Does Not Find Stone.

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

function BankDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
dtmMainPoint.x := 991;
dtmMainPoint.y := 301;
dtmMainPoint.AreaSize := 0;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := 1364450;
dtmMainPoint.Tolerance := 150; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[0].x := 991;
dtmSubPoints[0].y := 301;
dtmSubPoints[0].AreaSize := 0;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := 1364450;
dtmSubPoints[0].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[1].x := 978;
dtmSubPoints[1].y := 301;
dtmSubPoints[1].AreaSize := 0;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := 195836;
dtmSubPoints[1].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[2].x := 978;
dtmSubPoints[2].y := 297;
dtmSubPoints[2].AreaSize := 0;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := 195836;
dtmSubPoints[2].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[3].x := 978;
dtmSubPoints[3].y := 289;
dtmSubPoints[3].AreaSize := 0;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := 195836;
dtmSubPoints[3].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

dtmSubPoints[4].x := 970;
dtmSubPoints[4].y := 301;
dtmSubPoints[4].AreaSize := 0;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := 195836;
dtmSubPoints[4].Tolerance := 160; //Edit Tolerance Or Area If It Does Not Find Bank.

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;
{=======================================================}
{ Script Start. }
{=======================================================}

var
BrokenDTM, NormalDTM: integer;

procedure SetupDTMS;
begin
BrokenDTM := DTMFromString('78DA63E4626060E06740019D19420C92409A1' +
'188FF0301232F90C1CC800618E16AC03C5620214E400D0FA65D30' +
'59B81A905DDC04CC110512BC04D488010916FC6A000035065E');

NormalDTM := DTMFromString('78DA639CC0CCC070939101193427093048026' +
'990E87F20609C07547301550D4816A606CC03A9B94C40CD1CA09A' +
'1B04D44C07AAB94240CD64A09AEB04D4F403D53C24A0A60BA8E61' +
'90135BD40357708A8994084DFA700D59CC3AF060021F015F0');
end;

procedure Logo;
begin
ClearDebug;
WriteLn('____ ____ __ __ ____ ____ ');
Wait(100);
WriteLn('\ \ / / ___ | | | | ______ \ \ / / ');
Wait(100);
WriteLn(' \ \ / / | | | | | | / __ \ \ \ / / ');
Wait(100);
WriteLn(' \ \ _____ / / | | | | | | / / \ \ \ \ _____ / / ');
Wait(100);
WriteLn(' \ \__/ \__/ / | | | | | | / / \ \ \ \__/ \__/ / ');
Wait(100);
WriteLn(' \ _ / | | | |____ | |____ \ \ / / \ _ / ');
Wait(100);
WriteLn(' \ / \ / | | | / | / \ \__/ / \ / \ / ');
Wait(100);
WriteLn(' \____/ \____/ |___| |_____/ |_____/ \______/ \____/ \____/ ');
Wait(100);
WriteLn(' ');
Wait(100);
WriteLn(' _____ _____');
Wait(100);
WriteLn(' | _ \ | _ \ ');
Wait(100);
WriteLn(' | / \ \ ____ __ __ ______ ___ ___ ____ | / \ \ ');
Wait(100);
WriteLn(' | \_/ \ | __| | \ / | / \ \ \ / / | __| | \_/ \ ');
Wait(100);
WriteLn(' | / | |_ | \ / | / __ \ \ \ / / | |_ | / ');
Wait(100);
WriteLn(' | ^ / | _| | \ / | | / \ | \ \ / / | _| | ^ / ');
Wait(100);
WriteLn(' | | | \ | | | |\ \/ /| | | \__/ | \ \/ / | | | | | \ ');
Wait(100);
WriteLn(' | | | \ | |__ | | \__/ | | \ / \ / | |__ | | | \ ');
Wait(100);
WriteLn(' |__| |___\ |____| |__| |__| \______/ \__/ |____| |__| |___\');
Wait(100);
WriteLn(' ');
Wait(100);
WriteLn(' Created By Quickmarch. ');
Wait(3000); //Delete If You Want.
end;

var
x, y, rx, ry, Tries: integer;

procedure SetupScript;
begin
if (not(LoggedIn)) then Exit;
Status('Setting Up Script...');
WriteLn('Setting Up Script...');
MakeCompass('N');
SetAngle(True);
FindAxe;
if (InvFull) then
begin
Status('Banking Stuff.');
WriteLn('Banking Stuff.');
MakeCompass('E');
OpenBankGlass('db', False, False);
Wait(500);
FixBank;
if (Players[CurrentPlayer].Booleans[0] = True) then
Deposit(1, 28, True);
if (Players[CurrentPlayer].Booleans[0] = False) then
Deposit(2, 28, True);
CloseBank;
end;
MakeCompass('N');
SetRun(True);
end;

var
RanAway, Ents: integer;

procedure DieRandoms;
begin
FindNormalRandoms;
FindLamp('woodcutting');
if FindEnt(rx, ry, True) then
begin
Ents := Ents + 1;
end;
if (FindFight) then
begin
RunAway(RunDirection,True,1,20000);
RanAway := RanAway + 1;
end;
end;

procedure AntiBan; //antiban by quickmarch
begin
case random(7) of
0:begin
HoverSkill('random', False);
DieRandoms;
Exit;
end;
1:begin
BoredHuman;
DieRandoms;
Exit;
end;
2:begin
Retaliate(True);
DieRandoms;
Exit;
end;
3:begin
GameTab(random(12)+1);
DieRandoms;
Exit;
end;
4:begin
RandomRClick;
DieRandoms;
Exit;
end;
5:begin
PickUpMouse;
DieRandoms;
Exit;
end;
6:begin
HoverSkill('woodcutting', False);
DieRandoms;
Exit;
end;
end;
end;

procedure KillBank;
begin
if (not(LoggedIn)) then Exit;
if (InvFull) then
begin
WriteLn('Inventory Full.');
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
if DTMRotated(BankDDTM, rx, ry, MMX1, MMY1, MMX2, MMY2) then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
Wait(1000+random(1000));
FreeDTM(BankDDTM);
FFlag(0);
Exit;
end else
begin
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
SymbolAccuracy := 0.5
if FindSymbol(rx, ry, 'bank') then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
Exit;
end else
begin
Status('Searching For Bank...');
MakeCompass('N');
SetAngle(True);
if FindColorTolerance(rx, ry, 11908545, MMX1, MMY1, MMX2, MMY2, 3) then
begin
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
Exit;
end;
end;
end;
end;
end;

procedure WalkToWillows; //walk to willows
begin
if (not(LoggedIn)) then Exit;
MakeCompass('N');
SetAngle(True);
Status('Finding Stone...');
if DTMRotated(StoneDDTM, x, y, MMX1, MMY1, MMX2, MMY2) then
begin
Status('Found Stone.');
WriteLn('Found Stone.');
Mouse(x, y, 2, 2, True);
DieRandoms;
FFlag(0);
SetRun(True);
FreeDTM(StoneDDTM);
Exit;
end else
Status('Did Not Find Stone.');
WriteLn('Did Not Find Stone.');
begin
Status('Finding Fishing Symbol.');
MakeCompass('N');
SetAngle(True);
SymbolAccuracy := 0.5
if FindSymbol(x, y,'fishing spot') then
begin
Status('Found Fishing Symbol.');
WriteLn('Found Fishing Symbol.');
Mouse(x, y, 2, 2, True);
DieRandoms;
FFlag(0);
SetRun(True);
Exit;
end else
Status('Error...');
WriteLn('Did Not Find Willows Area.');
TerminateScript;
end;
end;

var
Axe, i: Integer;

function FixAxe(Wield: Boolean): Boolean;
begin
if (FindDTM(BrokenDTM, rx, ry, MIX1, MIY1, MIX2, MIY2)) then
begin
case Random(5) of
0: TypeSend('AHHHHHHHHHH i hate woodcutting!!!!!1');
1: TypeSend('Stupid Axe...');
2: TypeSend('im so angry!!!!!!!!!!!!!!!111111');
3: TypeSend('awwwwww not my axe again:(');
4: TypeSend('red: axes....');
end;
DieRandoms;
WriteLn('Found Broken Axe.');
if FindSymbol(rx, ry, 'bank') or
FindColorTolerance(rx, ry, 11908545, MMX1, MMY1, MMX2, MMY2, 3) then
begin
Result := True;
Status('Found Bank.');
WriteLn('Found Bank.');
Mouse(rx, ry, 5, 5, True);
DieRandoms;
FFlag(0);
OpenBank('db', False, False);
Deposit(1, 28, 2000000);
if (FindDTM(NormalDTM, rx, ry, MSX1, MSY1, MSX2, MSY2)) then
begin
WriteLn('Found Good Axe.');
Mouse(rx, ry, 3, 3, True);
CloseBank;
if (Wield) then
begin
MouseItem(1, True);
end;
Axe := Axe + 1;
end;
WalkToWillows;
end;
end;
end;

procedure FindWillows;
var
TPA: TPointArray;
P: TPoint;
Time: Integer;

begin
if (not(LoggedIn)) then Exit;
Status('Finding Willows...');
DieRandoms;
MarkTime(Time);
x := MSCX;
y := MSCY;
FindColorsSpiralTolerance(x, y, TPA, 8693935, MSX1, MSY1, MSX2, MSY2, 3);
if Length(TPA) = 0 then FindColorsSpiralTolerance(x, y, TPA, 3231044, MSX1, MSY1, MSX2, MSY2, 3);
for i := 0 to High(TPA)do
begin
P := TPA[i]
MMouse (P.x, P.y, 3, 3);
if (IsUpTextMultiCustom(['hop', 'own', 'illow'])) then
begin
Wait(3000+random(1000));
GetMousePos(rx, ry);
Mouse(rx, ry, 0, 0, False);
Wait(100+random(200));
ChooseOption('hop');
Status('Chopping Willows...');
DieRandoms;
if (FindBlackChatMessage('an axe')) then
begin
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
WriteLn('Found Broken Axe.');
GameTab(5);
TakeOff(5);
FixAxe(True);
if (FindBlackChatMessage('attack')) then
begin
WriteLn('You Do Not Have The Right Level To Wield That Axe.');
FixAxe(True);
end;
end;
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
GameTab(4);
FixAxe(False);
begin
WriteLn('You Do Not Have The Right Level To Wield That Axe.');
FixAxe(True);
end;
end;
DieRandoms;
AntiBan;
if (TimeFromMark(Time) > 30000) then Exit;
end;
if (TimeFromMark(Time) > 30000) then Exit;
end;
Wait(350+random(350));
if (TimeFromMark(Time) > 30000) then Exit;
end;
end;

var
Loads, Lot2, WCLvl: integer;

procedure MyOpenBank;
begin
repeat
if (not(LoggedIn)) then Exit;
WCLvl := GetSkillInfo('woodcutting', True);
MakeCompass('N');
SetAngle(True);
OpenBank('db', False, False);
Tries := Tries + 1;
until(Tries=5);
if (Tries=5) then
begin
SetAngle(True);
MakeCompass('W');
OpenBankGlass('db', False, False);
end;
if (Players[CurrentPlayer].Booleans[0] = True) then
begin
if (PinScreen) then
InPin(BankPin);
Deposit(1, 28, True);
end;
if (Players[CurrentPlayer].Booleans[0] = False) then
begin
if (PinScreen) then
InPin(BankPin);
Deposit(2, 28, True);
end;
CloseBank;
Loads := Loads + 1;
WriteLn('|=======================================================|');
WriteLn('| Willow Remover Report |');
WriteLn('|=======================================================|');
WriteLn(' WoodCutting Lvl: '+ IntToStr(WCLvl) +'.');
WriteLn(' Loads Done: '+ IntToStr(Loads) +'.');
WriteLn(' Time Running: '+ TimeRunning +'.');
WriteLn(' Ran Away: '+ IntToStr(RanAway) +'.');
WriteLn(' Ents Avoided: '+ IntToStr(Ents) +'.');
WriteLn(' Broken Axes: '+ IntToStr(Axe) +'.');
WriteLn('|=======================================================|');
WriteLn('| Thank You For Using This Script |');
WriteLn('|=======================================================|');
Lot2 := Lot2 + 1;
if Lot2=(Players[CurrentPlayer].Integers[0]) then
begin
WriteLn('Done All Loads For That Player.');
if (HowManyPlayers= 1) then
begin
WriteLn('All Players Successfully Finished.')
Logout;
TerminateScript;
end else
NextPlayer(True);
end;
MakeCompass('N');
SetRun(True);
end;

procedure MainLoop;
begin
DeclarePlayers;
Loginplayer;
SetupScript;
repeat
WalkToWillows;
repeat
FindWillows;
until(InvFull);
KillBank;
MyOpenBank;
until(False);
end;

begin
Logo;
SetupDTMS;
SetupSRL;
ActivateClient;
MainLoop;
end.

{=======================================================}
{ End Script. }
{=======================================================}
<!– END TEMPLATE: formanswers –>

BobboHobbo

2008-09-23 05:55:32

No looks like you referenced my willow script alot, some same techniques used but not good enough

Quickmarch

2008-09-23 06:06:43

i didnt copy if thats what your saying

BobboHobbo

2008-09-23 06:44:03

I know you didnt copy, you looked over is what im saying like.. with (Simularaties) hard to explain.

Quickmarch

2008-09-23 06:49:10

ye i do like your willow cutter

ss23

2008-09-23 06:56:49

Hmmm, sorry, but this doesn't look like an insanely decent script yet.

  repeat
WalkToWillows;
repeat
FindWillows;
until(InvFull);
KillBank;
MyOpenBank;
until(False);
I cant say I would ever want an until(false) in any script.
It looks like you started adding in multiplayer, but never got round to actually making it change players. I'm thinking that you just copied peoples declare players, without understanding full how multiplayer works.

As an added bonus, if you end up applying again, and for future reference, SRL Stats is a decent feature to have. A progress report also helps :)

I see you have alot of Dynamic DTM's, but it looks like a waste of time and scripting space. For a DDTM's are made to be dynamic as the script is running etc. These look fairly static to me, although I see you have added a note to change tolerance if need be.
Also, its a good habit to get into, if you free DTMs, either after you have used them, or at least at the end of the script. I cant see anywhere that you have done this.

So, Im going to have to vote no sorry, but if you fix all those things, I will vote a yes for next time. And its definitely not a bad script, just needs alot of things tweaked.

Daniel

2008-09-23 07:02:11

Woah-ah-ah-ah… Long reason, one of the biggest (aside from Bobermans "intelligent" posts :p).

Sorry QuickMarch, i'm going to have to vote no as-well. You are learning, good attitude, but the script doesn't meet primary SRL standards (what i'm saying, is that this is on the basic side ;)). Stephen suggested numerous things that you can implement to make your next application better. If you lose this application, you should be allowed to re-apply in two weeks instead of a month ;)

ss23

2008-09-23 07:04:41

Did anyone else notice that my quote in SCAR tags would have been shorter if it wasnt in them? :P

Quickmarch

2008-09-23 07:09:10

ok

Daniel

2008-09-23 07:11:01

From: quickmarch
ok

Erh, it's not really recommended to spam. That post is considered spam, since it only consists of a couple of digits. If you still have any issues or questions, you can post as we can help you ;)

ss23

2008-09-23 07:16:42

Since when did SRL members call characters digits? Psh Daniel you noob :P

Quickmarch

2008-09-23 07:18:05

yay at least my threads got some life to it:)

Daniel

2008-09-23 07:24:30

From: ss23
Since when did SRL members call characters digits? Psh Daniel you noob :P

Digits aren't necessarily numbers…

Scaper

2008-09-23 09:19:50

No for the following reasons ^

sirlaughsalot

2008-09-23 10:20:43

It looks good, there are some things here and there not really anything really major, but there are a lot of "here and there" things… Keep it up, fix the minor issues stated in posts before mine and next time will be a for sure yes :D

Raskolnikov

2008-09-23 10:32:38

[QUOTE=Dan's The Man;470015]Woah-ah-ah-ah… Long reason, one of the biggest (aside from Bobermans "intelligent" posts :p).

Sorry QuickMarch, i'm going to have to vote no as-well. You are learning, good attitude, but the script doesn't meet primary SRL standards (what i'm saying, is that this is on the basic side ;)). Stephen suggested numerous things that you can implement to make your next application better. If you lose this application, you should be allowed to re-apply in two weeks instead of a month ;)

Oh come on:

Mapwalking: yes (FindDTMRotated)
DDTMS: yes
Object Finding: yes
Standards: yes
Failsafes: no

Now on the failsafes let me take a quote from earlier in the thread:

I cant say I would ever want an until(false) in any script.


Well see what we can do:

if not LoggedIn then Break;

This is the magic line that will make your script that much better. Put it in your main loop. That will act as a failsafe.

Take a look really at what ss23 said. You need a proggie, free dtms (script will lag) Just minor problems that can be fixed that are so important.

I'm holding my vote.
Cut em2 it

Quickmarch

2008-09-23 11:04:51

ok thanks guys:)


im almost finished on srl stats but multiplayer kind of works but the next player doesnt log
out any suggestions?

thanks also cut em2 it:)


where abouts should i put if not LoggedIn then Break; in my mainloop?

and i thought i had an proggress report?

  WriteLn('|=======================================================|');
WriteLn('| Willow Remover Report |');
WriteLn('|=======================================================|');
WriteLn(' WoodCutting Lvl: '+ IntToStr(WCLvl) +'.');
WriteLn(' Loads Done: '+ IntToStr(Loads) +'.');
WriteLn(' Time Running: '+ TimeRunning +'.');
WriteLn(' Ran Away: '+ IntToStr(RanAway) +'.');
WriteLn(' Ents Avoided: '+ IntToStr(Ents) +'.');
WriteLn(' Broken Axes: '+ IntToStr(Axe) +'.');
WriteLn('|=======================================================|');
WriteLn('| Thank You For Using This Script |');
WriteLn('|=======================================================|');

Raskolnikov

2008-09-23 11:24:34

Yes, you do have a progress report.

I'll talk to you on irc how you can improve.

Cut em2 it

MylesMadness

2008-09-24 06:23:46

That's a ton of antiban you got there. Put the random up to like 100.

Pixelate

2008-09-24 09:56:53

From: Quickmarch
Please write down a paragraph about Yourself.

i wanted to cheat because runescape got boring


Not the most detailed…

I cant vote but it look alright. Add in the above suggestions and in next weeks when you apply again, i can vote, and i will vote yes :)

Magiic

2008-09-24 12:37:29

you put it in front of every proc that your logged in for eg the walking and chopping