SCAR Code:
{-------------------------Instructions----------------------------}
{------Have All Logs You'de Like To Fletch In 1st Bank Page-------}
{-----------------Set Player Next To Bank Booth-------------------}
{---------------------Knife in inventory slot---------------------}
Program DudezWrathFletcher;
{.Include SRL\SRL\Misc\Smart.scar}
{.Include SRL\SRL.scar}
Var
x, y, TimesBank, Log,
Knife, StartXP, EndXP, TotalXP,
LongBow: Integer;
Const
Bank = 'db'; // feb,fwb,veb,vwb,db,eb,akb, <-- Use these for banks
Numberoftimes = 100; //Loads to Fletch
Pin = ''; //Bankpin number
{------------------------------}
{ Declaring Players }
{------------------------------}
Procedure DeclarePlayers;
Begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := ''; // Username
Players[0].Pass := ''; // Password
Players[0].Nick := ''; // 3-4 letters of your Username
Players[0].Active := True; // Auto with this char?
SRLId:= ''; // Srl Stats Id Not Username
SRLPassword:= ''; // Srl Password
End;
{------------------------------}
{ OpenBankFast }
{------------------------------}
function OpenBankFast2(Location: String): Boolean;
var
x, y, i, l, c, z: Integer;
Info: TIntegerArray;
Booths, t: TPointArray;
begin
If BankScreen Or PinScreen Then
Begin
Result := True;
Exit;
End;
Wait(400);
case LowerCase(Location) of
'akb', 'al kharid': Info := [MSCX, MSCY, 606291, 4, 1];
'lb', 'lumbridge': Info := [MSCX, MSCY, 6196388, 9, 1];
'veb', 'varrock east': Info := [MSCX, MSCY, 2971236, 10, 1];
'vwb', 'varrock west': Info := [270, 270, 5689318, 25, 1];
'feb', 'falador east': Info := [MSCX, MSCY + 50, 4612728, 14, 1];
'fwb', 'falador west': Info := [MSCY, MSCY, 4612728, 14, 1];
'db', 'draynor': Info := [MSCX, MSCY, 605006, 4, 1];
'eb', 'edgeville bank': Info := [MSCX + 50, MSCY, 3230295, 9, 2];
else
begin
WriteLn('Unknown bank: '+Location);
Exit;
end;
end;
MakeCompass('n');
z := GetColorToleranceSpeed;
ColorToleranceSpeed(Info[4]);
FindColorsSpiralTolerance(Info[0], Info[1], Booths, Info[2], MSX1, MSY1, MSX2, MSY2, Info[3]);
ColorToleranceSpeed(z);
SetArrayLength(t, 0);
t := Booths;
SetArrayLength(Booths, 0);
Booths := ReArrangeAndShortenArray(t, 14);
l := GetArrayLength(Booths) -1;
for i := 0 to l do
begin
if (not LoggedIn) or BankScreen or PinScreen then
Break;
if (LowerCase(Location) = 'vwb') or (LowerCase(Location) = 'varrock west') then
begin
Booths[i].X := Booths[i].X + 5;
Booths[i].Y := Booths[i].Y - 20;
end;
MMouse(Booths[i].X, Booths[i].Y, 3, 3);
Wait(75 + Random(75));
if IsUpText('ooth') Then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, False);
Wait(70 + Random(75));
if ChooseOption('uickly') then
begin
FFLag(0);
MarkTime(c);
repeat
Wait(100);
until (BankScreen) or (PinScreen) or (TimeFromMark(c) > 3000);
end;
end;
end;
Result := (BankScreen) or (PinScreen);
end;
{------------------------------}
{ FixBank }
{------------------------------}
Function FixBank2: Boolean;
var
x, y: Integer;
begin
if (GetColor(475, 75) = 1777699) and (BankScreen) then
begin
Result := True;
MMouse(475, 65, 3, 3)
GetMousePos(x, y);
HoldMouse(x + Random(1), y + Random(1), True);
while (GetColor(475, 75) = 1777699) do
Wait(100);
Wait(300 + Random(300));
GetMousePos(x, y);
ReleaseMouse(x, y, True);
end;
end;
{------------------------------}
{ Declaring Dtm's }
{------------------------------}
Procedure DTMs;
Begin
Log := DTMFromString('78DA63CC61626078C28002C27CE519FE03694' +
'620FE0F048C4940356F19D000231209A44B816ADE1050530054F3' +
'8E809A0CA09A8FF8D500001D260C8D');
Knife := DTMFromString('78DA637460626078CE8002C2ADB919FE03694' +
'620FE0F048C9E4035D718D000231209A42D806A3E1150E30854F3' +
'8A801A27A09A9704D480DCFC18BF1A0065470C9F');
LongBow := DTMFromString('78DA63CC65626078C080020EAF5AC4F01F483' +
'302F17F20604C00AAB9CA8006189148205D0654F391809A22A09A' +
'9704D41403D53CC3AF0600DD8D0DC0');
End;
{------------------------------}
{ Banking }
{------------------------------}
Procedure Banking;
Var
Tries: Integer;
Begin
If Not LoggedIn Then Exit;
If OpenBankFast2(Bank) Then
Begin
Wait(3000 + Random(500));
If (Pinscreen) Then
InPin(Pin);
If BankScreen Then
Begin
If FixBank2 Then
Wait(1000 + Random(500));
Repeat
If FindDTM(Log, x, y, MSX1, MSY1, MSX2, MSY2) Then
Break;
Wait(2342 + Random(423));
Tries := Tries + 1
If (Tries >= 5) Then
Begin
Writeln(' @@ Could Not Find Logs, Logging Out @@');
CloseBank;
Wait(100 + Random(500));
Logout;
End;
Until(FindDTM(Log, x, y, MSX1, MSY1, MSX2, MSY2));
End;
Mouse(x, y, 1, 1, False);
Wait(100 + Random(50));
ChooseOption('All');
Writeln('@@ Withdrawing Logs @@');
Closebank;
Wait(1000 + Random(500));
Gametab(4);
Wait(100 + Random(134));
End;
End;
{------------------------------}
{ Depositing }
{------------------------------}
Procedure Depositing;
Var
Tries: integer;
begin
If Not LoggedIn Then Exit;
If InvFull Then
Begin
If OpenBankFast2(bank) Then
Begin
Deposit(2, 28, 2);
Wait(1000 +random(726));
Timesbank := Timesbank + 1;
Writeln('@@ Depositing Unstrung bows @@');
Repeat
If (not(FindDTM(Longbow, x, y, MIX1, MIY1, MIX2, MIY2))) Then
Break;
Tries := Tries + 1;
If (Tries >= 5) Then
Begin
Writeln('@@ Couldnt Deposite Logging Out @@');
CloseBank;
Wait(100 + Random(1000));
Logout;
End;
Wait(1000);
Until (not(FindDTM(Longbow, x, y, MIX1, MIY1, MIX2, MIY2)));
End;
End;
End;
{------------------------------}
{ Fletching }
{------------------------------}
Procedure Fletching;
Var
FletchingFailSafe: Integer;
Begin
If Not LoggedIn Then Exit;
CloseBank;
Gametab(4);
Wait(1000 + Random(500));
If Not FindDTM(Log, x, y, MIX1, MIY1, MIX2, MIY2) Then
Begin
Writeln(' @@ Didnt Withdraw Any Logs Repeating @@');
Banking;
End;
If FindDTM(Knife, x, y, MIX1, MIY1, MIX2, MIY2) Then
Begin
Writeln('@@ Found Knife @@');
Mouse(x, y, 1, 1, True);
Wait(100 + Random(500));
If FindDTM(Log, x, y, MIX1, MIY1, MIX2, MIY2) Then
Begin
MMouse(x, y, 1, 1);
If (IsUpText('se')) Then
Begin
GetMousePos(x,y);
Mouse(x, y, 0, 0, True);
Writeln('@@ Found Wrath Log @@');
Wait(2000 + Random(500));
MouseBox(210, 395, 307, 440, 2);
Wait(100 + Random(100));
ChooseOption('X');
Wait(1000 + Random(500));
If (Random(3) = 0) Then
TypeSend(IntToStr(27 + Random(242)))
Else
TypeSend('27');
MarkTime(FletchingFailSafe);
Repeat
Wait(1045 + Random(242));
If Not FindDTM(Log, x, y, MIX1, MIY1, MIX2, MIY2) Then
Break;
If (CountItemsDtm('inv', LongBow) > 27) Then
Break;
If (TimeFromMark(FletchingFailSafe) > 60000) Then
Break;
If FindFight Then
Begin
RunAway('S', True, 1, (5000 + Random(2000)));
Fletching;
End;
If FindNormalRandoms Then
Fletching;
Until(Not LoggedIn);
End;
End;
End;
End;
{------------------------------}
{ Rays Special Antiban }
{------------------------------}
Procedure RayBan;
Begin
If Not LoggedIn Then Exit;
Case Random(11) Of
1: MakeCompass('S');
2: MakeCompass('W');
3: MakeCompass('E');
4: MakeCompass('N');
5: Hoverskill('Random', False);
End;
End;
{------------------------------}
{ AntiBan }
{------------------------------}
Procedure MouseAntiBan;
Begin
If Not LoggedIn Then Exit;
If Not (LoggedIn) Then
Exit;
Case Random(10) Of
0 : PickupMouse;
1 : IdleTime(9567 + Random(359), 1000, 1.0);
2 : SleepAndMoveMouse(1343 + Random(2500));
3 : RandomRClick;
5 : HoverSkill('Mining', False);
End;
End;
{------------------------------}
{ Progress }
{------------------------------}
Procedure Progress(Way: Integer);
Begin
If Not LoggedIn Then Exit;
Case Way Of
1: StartXP := GetXp('Fletching');
2: Begin
EndXP := GetXp('Fletching');
TotalXP := (EndXP - StartXP)
End;
End;
End;
{------------------------------}
{ Progress Report }
{------------------------------}
Procedure Report;
Begin
SRLRandomsReport;
ClearDebug;
Writeln('[]=======================================[]')
Writeln('[]---[Kooldudes]----[]----[v1.2]----[]----[]')
Writeln('[]________[Wrath]________[Fletcher]_____[]')
Writeln('[] Banked: ' + IntToStr (Timesbank) + '[]')
Writeln('[] XP Gained: ' + IntToStr(TotalXp) + '[]' )
Writeln('[] Worked for '+ TimeRunning);
End;
{------------------------------}
{ Siggy }
{------------------------------}
procedure Siggy;
begin
ClearDebug;
Writeln(' ** ** **')
Writeln('/** ** /**')
Writeln('/** ** ****** ****** /**')
Writeln('/**** **////** **////** /**')
Writeln('/**/** /** /**/** /** /**')
Writeln('/**//** /** /**/** /** /**')
Writeln('/** //**//****** //****** ***')
Writeln('// // ////// ////// ///')
Writeln('******* **')
Writeln('/**////** /**')
Writeln('/** /** ** ** /** *****')
Writeln('/** /**/** /** ****** **///**')
Writeln('/** /**/** /** **///**/*******')
Writeln('/** ** /** /**/** /**/**////')
Writeln('/******* //******//******//******')
Writeln('/////// ////// ////// //////')
Wait(3000 + Random(750));
end;
{------------------------------}
{ Main Loop }
{------------------------------}
Begin
SRLId := SRLId;
SRLPassword:= SRLPassword;
SmartSetupEx(76, False, True);
SetTargetDC(SmartGetDC);
Declareplayers;
Setupsrl;
ScriptId:= '736';
Siggy;
Report;
ActivateClient;
Progress(1);
LoginPlayer;
SetAngle(True);
Dtms;
Repeat
If Not Loggedin Then
TerminateScript;
FindNormalRandoms;
Banking;
Fletching;
Progress(2);
Report;
Rayban;
MouseAntiBan;
Depositing;
Until(Timesbank >= NumberOfTimes);
Progress(2);
Report;
End.