I have edited this script a bit, so it worked nicer for me, and less detectable im pretty sure. I think i stuck some more waits+random waits inthere… But i cant remember it all, cause ive been used it for a week now. Working nice charmz, besides sometimes it will for some reason deposit the knife. i think its something when you level up, im not sure though :/
{==============================================================================]
[ ----------------- ]
[ ~SuPaFletcher~ ]
[ ----------- ]
[ By: ]
[ ChArMz ]
[ --------------- ]
[ Version 1.25 ]
[ --------------- ]
[ ]
[ Features: ]
[ ~AutoLogin ]
[ ~Randoms ]
[ ~AntiBan ]
[ ~Progress Report ]
[ ]
[ Description: ]
[ A autofletcher that cuts any log into bows, and then strings them. ]
[ ]
[ Directions: ]
[ (1) Start in Varrock West Bank. ]
[ (2) Set the Runescape brightness to V-bright. ]
[ (3) SCAR version 2.0.3 needed. ]
[ (4) Setup lines 40-67. ]
[ (5) Have knife in first invertory spot, extra in 2nd bank spot. ]
[ (6) Have logs in 1st bank spot if cutting them into bows. ]
[ (7) Have (U)Bows in 1st bank slot and bowstrings in 2nd if Stringing. ]
[==============================================================================}
Program SuPaFletcher;
{.include SRL/SRL.Scar}
Var
EXP, AmountFletched, AmountStrung, StartPlayer: Integer;
UseAntiBan : Boolean;
Const
Ver = 'v1.25';
{---------Setup----------------------------------------------------------------}
Const
StringOrCut= 'Cut'; //String, or Cut Logs
TypeOfBow= 'LongBow'; //Make LongBow, or Shortbow
TypeOfLogs= 'Yew'; //Normal, Oak, Willow, Maple, Yew, or Magic
Procedure SetUpVars;
Begin
StartPlayer := 0; //First Player To Start
HowManyPlayers := 1; //Number of Players
MouseSpeed := 15; //15 for fletching, 11 for stringing
UseAntiBan := True; //Will Chat, Rotate Screen, Check Exp, Ect.
End;
Procedure DeclarePlayers;
Begin
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=StartPlayer;
Players[0].Name :='*'; //Type in Username And Password
Players[0].Pass :='*';
Players[0].Nick :='*'; //Nick Name of Current Player
Players[0].Active :=True;
End;
{------------------------------------------------------------------------------}
{-Main Script-}
Procedure Ro1;
Begin
Keydown(VK_DOWN);
Wait(100+Random(2000));
Keyup(VK_DOWN);
Wait(100+random(500));
Keydown(VK_Right);
Wait(100+Random(2000));
Keyup(VK_Right);
Wait(100+random(500));
Keydown(VK_Up);
Wait(100+random(2000));
KeyUp(VK_Up);
Wait(100+Random(500));
Keydown(VK_Left);
Wait(100+Random(2000));
KeyUp(VK_Left);
End;
Procedure Ro2;
Begin
Keydown(VK_DOWN);
Wait(100+Random(2000));
Keyup(VK_DOWN);
Wait(100+Random(500));
Keydown(VK_Right);
Wait(100+Random(2000));
KeyUp(VK_Right);
Wait(100+Random(500));
Keydown(VK_Up);
Wait(100+random(2000));
KeyUp(VK_Up);
Wait(100+Random(500));
Keydown(VK_Left);
Wait(100+Random(2000));
KeyUp(VK_Left);
End;
Procedure Rotate;
Var RandomRotate: Integer;
Begin
RandomRotate:=Random(2)+1
Case RandomRotate of
1:Ro1;
2:Ro2;
End;
End;
Procedure ALLExp;
Begin
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Normal')then EXP:= 5;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Normal')then EXP:= 10;
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Oak')then EXP:= 16;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Oak')then EXP:= 25;
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Willow')then EXP:= 33;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Willow')then EXP:= 41;
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Maple')then EXP:= 50;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Maple')then EXP:= 58;
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Yew')then EXP:= 67;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Yew')then EXP:= 75;
If(TypeOfBow= 'Shortbow') and (TypeOfLogs= 'Magic')then EXP:= 83;
If(TypeOfBow= 'LongBow') and (TypeofLogs= 'Magic')then EXP:= 92;
End;
Function GainLvl: Boolean;
Begin
If(FindColorTolerance(x, y, 16711680, 15, 349, 466, 431, 3))then
Begin
Mouse(x, y, 1, 1, true);
Wait(500+random(100));
If(FindColorTolerance(x, y, 16711680, 15, 349, 466, 431, 3))then
Begin
Mouse(x, y, 1, 1, true);
Wait(500+random(100));
End;
Result:=True;
End;
End;
Procedure OpenBank4;
Var
x, y, fs, fs2 : Integer;
Begin
If not BankScreen then
Repeat
If (FindObj3(x, y, 'Use Bank', 608609, 10)) then
Mouse(x, y, 4, 4, False)
Else
If (FindObj3(x, y, 'Use Bank', 3239562, 10)) then
Mouse(x, y, 4, 4, False)
Else
If (FindObj3(x, y, 'Use Bank', 4803151, 10)) then
Mouse(x, y, 4, 4, False);
Wait(250+random(150));
If (ClickOption('quickly', 1)) then
Begin
Flag;
Repeat
Wait(100+random(100));
fs := fs + 1;
Until (BankScreen) or (fs >= 50);
End;
fs2 := fs2 + 1;
Until (BankScreen) or (fs2 > 5);
End;
{=====================Progress Report==========================================}
Procedure ProgressReport;
Begin
WriteLn('<============== Progress Report ===============>');
WriteLn('SuPaFletcher ' + Ver + ' By: ChArMz');
Writeln('Worked for '+ TimeRunning);
If(StringOrCut= 'Cut')then
WriteLn('Fletched '+IntToStr(AmountFletched)+' Logs.');
WriteLn('Gained '+IntToStr(AmountFletched*EXP)+' Fletching Exp.');
If(StringOrCut= 'String')then
WriteLn('Strung '+IntToStr(AmountStrung)+' Bows.');
WriteLn('Gained '+IntToStr(AmountStrung*EXP)+' Fletching Exp.');
WriteLn('<============== Progress Report ===============>');
End;
{==============================================================================}
Procedure DepositAndWithdrawLogs;
Begin
OpenBank4;
If(not(BankScreen))then
OpenBank4;
If(BankScreen)then
FixBank;
Wait(1000+Random(1000));
Deposit(2, 28, 2);
Wait(1000+Random(1000));
BankMouse(1, False);
Wait(800+Random(1000));
ChooseOption(x, y, 'All');
Wait(800+Random(1000));
Repeat
CloseWindow;
Until(not(BankScreen));
End;
Procedure CutIntoBows;
Begin
If(TypeOfBow= 'LongBow')then
Begin
Gametab(4);
Wait(300+Random(1000));
MMouse(585, 230, 3, 3);
Mouse(585, 230, 3, 3, True);
Wait(700+Random(1000));
MMouse(627, 226, 3, 3);
Mouse(627, 230, 3, 3, True);
Wait(300+Random(1000));
MMouse(382, 404, 10, 10);
Mouse(382, 404, 10, 10, False);
Wait(1000+Random(1000));
ChooseOption(x, y, 'Make X');
Wait(1000+Random(1000));
Typesend('27');
GainLvl;
Wait(50000+random(2050));
ProgressReport;
AmountFletched:=AmountFletched+27;
DepositAndWithDrawLogs;
End;
If(TypeOfBow= 'Shortbow')then
Begin
Gametab(4);
Wait(300+Random(1000));
MMouse(585, 230, 3, 3);
Mouse(585, 230, 3, 3, True);
Wait(700+Random(1000));
MMouse(627, 226, 3, 3);
Mouse(627, 230, 3, 3, True);
Wait(300+Random(1000));
MMouse(152, 405, 10, 10);
Mouse(152, 405, 10, 10, False);
Wait(1000+Random(1000));
ChooseOption(x, y, 'Make X');
Wait(1000+Random(1000));
Typesend('27');
GainLvl;
Rotate;
Wait(50000);
ProgressReport;
AmountFletched:=AmountFletched+27;
DepositAndWithDrawLogs;
End;
End;
Procedure DepositAndWithDrawStrings;
Begin
OpenBank4;
If(not(BankScreen))then
OpenBank4;
If (BankScreen) then
FixBank;
Wait(900+Random(1000));
Deposit(1, 28, 2);
Wait(900+Random(1000));
Withdraw(1, 1, 14);
Wait(900+Random(1000));
BankMouse(2, False);
Wait(500+random(250));
ChooseOption(x, y, 'All');
Repeat
CloseWindow;
Until(not(BankScreen));
End;
Procedure SBows;
Begin
DragItem(1, 28);
Wait(900+Random(1000));
Repeat
MMouse(670, 442, 3, 3);
Wait(100+random(100));
Mouse(670, 442, 3, 3, True);
Wait(200+random(100));
MMouse(713, 441, 3, 3);
Wait(100+random(100));
Mouse(713, 441, 3, 3, True);
Wait(200+random(100));
MMouse(671, 444, 3, 3);
Wait(100+random(100));
Mouse(671, 444, 3, 3, True);
Wait(200+random(100));
MMouse(712, 444, 3, 3);
Wait(100+random(100));
Mouse(712, 444, 3, 3, True);
Until(InvCount=14);
ProgressReport;
AmountStrung:=AmountStrung+14;
DepositAndWithdrawStrings;
End;
{-Randoms-}
Procedure Randoms;
Begin
CloseWindow;
FindFight;
SolveBox;
Findlamp('fletching');
DwarfItem;
FindPlant;
If(FindFight)then
Begin
RunAwayDirection('N');
Wait(9000+random(2000));
RunBack;
If(FindName)then
Begin
FindTalk;
End;
End;
End;
{-Antiban-}
Procedure ABan;
Begin
If (UseAntiBan= True) then
begin
RotateEvery (20+Random(10));
LeaveScreenEvery (5+Random(5));
HoverEvery (10 +Random(10), 'fletching');
End;
End;
Procedure FletchLogs;
Begin
If(StringOrCut= 'Cut')then
Begin
Repeat
CutIntoBows;
Until(False);
End;
End;
Procedure StringBows;
Begin
If(StringOrCut= 'String')then
Begin
Repeat
SBows;
Until(False);
End;
End;
Procedure Setup;
Begin
SetupSRL;
SetUpVars;
DeclarePlayers;
ALLExp;
LoginPlayer;
DisguiseScar('Winamp');
End;
{-Main Loop-}
Begin
Setup;
FletchLogs;
StringBows;
End.