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
——————————————————
Changed Global Variables to Non-Global Variables in FindWillows.
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 –>