Simba Code:
program PowerFletcher_9001;
//A special thanks to the following users!
//DannyRS: Thank you for all the help you gave me and your awesome isUpTextMultiCustom method
//Solidone40: Thank you for your MiniBreaker and AntiBan tips
//RJJ95: Thank you for the human mouse movements
//Rand + SeanStar: Learned a lot from your guys's scripts
//Lasty I thank the SRL community for everything they have done!
//Yes I very well know that it is over 9,000
{$DEFINE SMART8}
{$I SRL/SRL.Simba}
{$I SRL/SRL/Misc/Debug.Simba}
{$I P07Include.Simba}
var x, y, bowsStrung, logsCut: integer;
const
//USER CONFIGURATION
bankcolour1 = 2705754; //Use the color picker to pick the bank color
bankcolour2 = 10464177; //Use the color picker to pick the bank color
compPos = 'west'; //Direction of compass
logType = 'ew'; //The type of log you are fletching without first letter
bowType = 1; //Enter bow type here (1 = Long, 2 = Short)
knifeX = 577; //The x,y of the items in your inventory
knifeY = 227; // |
logX = 621; // |
logY = 229; // V
//Choose to string bows/fletch bows
stringOrNotToString = 0; //0 = fletch bows 1 = string bows
//AntiBan
aBanEnabled = 0; //Enable AntiBan? (0 = false, 1 = true)
randomBreak = 0; //Simulate random human breaks? (0 = false, 1 = true)
checkSkill = 'fletching'; //Skill for the AntiBan to check (default = feltching)
Procedure P07_DeclarePlayer;
begin
P07_PlayerName:='username; //Enter your usernamer
P07_PlayerPass:='password'; //Enter your password
end;
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//---------------------------^User Config ends here^-------------------------\\
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Procedure P07_MouseBoxCust(X1, Y1, X2, Y2: Integer; ClickType: Integer);
Begin
MMouse(RandomRange(X1,X2),RandomRange(Y1,Y2),0,0);
if(not P07_isUpTextMultiCustom(['Knife','nife','ife','nif'])) then
ClickMouse2(ClickType);
Wait(RandomRange(37,50));
End;
Procedure P07_DepositInventorySlotCust(SlotToDepo: Integer; DepositAll:Boolean);
Var
xsx,ysy,R,C:Integer;
Begin
SlotToDepo:=SlotToDepo-1;
xsx:=565;
ysy:=215;
C:=(Round(SlotToDepo/4));
R:=(SlotToDepo -(C*4));
SlotToDepo:=SlotToDepo+1;
If P07_ItemExists(SlotToDepo) Then
Begin
If (DepositAll) Then
Begin
begin
P07_MouseBoxCust(xsx+(R*42), ysy+(C*36), xsx+(R*42)+27, ysy+(C*36)+25,mouse_right);
Wait(RandomRange(221,456));
P07_ChooseOptionMulti(['Store All','All']);
Wait(RandomRange(300,500));
end;
End Else
P07_MouseBoxCust(xsx+(R*42), ysy+(C*36), xsx+(R*42)+27, ysy+(C*36)+25,mouse_left);
End;
End;
Procedure P07_DepositCustom(SlotFrom, SlotTo: Integer; DepositAll: Boolean);
Var
I:Integer;
Begin
If (Not P07_BankScreen) Then
Exit;
For I:=SlotFrom To SlotTo Do
Begin
P07_DepositInventorySlotCust(I,DepositAll);
Wait(RandomRange(20,90));
End;
End;
Procedure setCustomCompass(cDirection: String);
begin
P07_MakeCameraAngleHigh;
case LowerCase(compPos) of
'north': P07_MakeCompassNorth;
'south': P07_MakeCompassSouth;
'west': P07_MakeCompassWest;
'east': P07_MakeCompassEast;
end;
writeln('Camera direction set to: ' + compPos);
end;
Procedure randomMouseClick(mx,my: Integer);
begin
case random(200) of
1..160: MMouse(RandomRange(mx - 7, mx + 7), RandomRange(my - 7, my + 7), 0, 0);
161..190: MMouse(RandomRange(mx - 9, mx + 9), RandomRange(my - 9, my + 9), 0, 0);
191..200: MMouse(RandomRange(mx - 12, mx + 12), RandomRange(my - 12, my + 12), 0, 0);
end;
end;
Procedure randomWaitTime;
begin
case random(1000) of
1..800: Wait(RandomRange(300, 700));
801..960: Wait(RandomRange(400, 900));
961..1000: Wait(RandomRange(500, 1000));
end;
end;
Procedure antiBan;
begin
//writeln('antiban debug!');
Case Random(75) Of
1: P07_HoverSkill(checkSkill, RandomRange(2500,3500));
2: P07_HoverSkill('random', RandomRange(2500,3500));
3: Boredhuman;
4: Wait(2500 + random(4500));
5: PickUpMouse;
6: RandomMovement;
7: RandomRClick;
8: P07_MakeCompassdegree(randomrange(0, 360));
end;
end;
Procedure openBankScreen;
begin
if (P07_BankScreen = False) then repeat
setCustomCompass(compPos);
writeln('Attempting to open bank...');
randomWaitTime;
if P07_FindObjCustom(x,y, ['se','ank','ooth'],[bankcolour1,bankcolour2], 5) then
begin
randomWaitTime;
ClickMouse2(mouse_left);
//randomWaitTime;
//P07_ChooseOptionMulti(['se-q']);
case random(1000) of
1..700: Wait(RandomRange(300, 1000));
701..900: Wait(RandomRange(400, 1500));
901..1000: Wait(RandomRange(500, 3000));
end;
end;
until (P07_BankScreen);
writeln('Attempt was successful!');
end;
Procedure withdrawBank;
begin
if (P07_BankScreen) then
begin
writeln('Banking Inventory');
repeat
P07_DepositCustom(2,28,True);
Wait(RandomRange(210,410));
until (P07_InvCount < 2);
writeln('Withdrawing logs from bank slot 1');
randomMouseClick(93,77);
randomWaitTime;
Clickmouse2(mouse_right);
Wait(randomRange(921,1024));
P07_chooseOptionMulti(['All']);
Wait(randomRange(835,1034));
if (P07_InvCount < 28) then
begin
writeln('Oops...something went wrong, lets try again.')
withdrawBank;
end;
repeat
MMouse(RandomRange(487 - 3, 487 + 3), RandomRange(41 - 3, 41 + 3), 0 ,0);
randomWaitTime;
if (P07_isUpTextMultiCustom(['lose'])) then
Clickmouse2(mouse_left);
until(not P07_isUpTextMultiCustom(['lose']));
end;
end;
Procedure withdrawBankStringing;
var plannedMistake: integer;
begin
if (P07_BankScreen) then
begin
writeln('Banking Inventory');
randomWaitTime;
repeat
P07_Deposit(1,28,True);
Wait(randomRange(300,600));
until (P07_InvCount < 1);
writeln('Withdrawing slot 1 item');
randomMouseClick(93,77);
randomWaitTime;
Clickmouse2(mouse_right);
Wait(randomRange(921,1024));
P07_ChooseOptionMulti(['X']);
Wait(randomRange(835,1034));
case random(100) of
1..90: plannedMistake := 14;
91..100: plannedMistake := RandomRange(12,17);
end;
if (not CountColor(0, 211, 393, 307, 409) = 277) then
withdrawBankStringing;
TypeSendEx(IntToStr(plannedMistake), true);
Wait(RandomRange(1000,1500));
if (P07_InvCount > 14) then
withdrawBankStringing;
if (P07_InvCount < 14) then
withdrawBankStringing;
writeln('Withdrawing slot 2 item');
randomMouseClick(142,75);
randomWaitTime;
ClickMouse2(mouse_right);
Wait(randomRange(921,1024));
P07_chooseOptionMulti(['All']);
Wait(randomRange(835,1034));
if (P07_InvCount < 28) then
withdrawBankStringing;
repeat
MMouse(RandomRange(487 - 3, 487 + 3), RandomRange(41 - 3, 41 + 3), 0, 0);
randomWaitTime;
if (P07_isUpTextMultiCustom(['lose'])) then
Clickmouse2(mouse_left);
until (not P07_isUpTextMultiCustom(['lose']));
end;
end;
Procedure stringBows;
var counteridk: integer;
begin
if (P07_InvFull) then
repeat
randomMouseClick(577, 227)
until (P07_isUpTextMultiCustom(['ow s', 'bow', 'long', 'strin', 'stri', 'Bow', 'ngbo']));
randomWaitTime;
Clickmouse2(mouse_left);
randomWaitTime;
repeat
randomMouseClick(665,335);
until(P07_isUpTextMultiCustom(['ow s', 'bow', 'long', 'strin', 'stri', 'Bow', 'ngbo']));
randomWaitTime;
Clickmouse2(mouse_left);
randomWaitTime;
repeat
randomMouseClick(259,417)
counteridk := counteridk + 1;
if (counteridk > 10) then
begin
openBankScreen;
withdrawBankStringing;
repeat
randomMouseClick(577,227);
until(P07_isUpTextMultiCustom(['ow s', 'bow', 'long', 'strin', 'stri', 'Bow', 'ngbo']));
randomWaitTime;
Clickmouse2(mouse_left);
randomWaitTime;
repeat
randomMouseClick(665,335);
until(P07_isUpTextMultiCustom(['ow s', 'bow', 'long', 'strin', 'stri', 'Bow', 'ngbo']));
randomWaitTime;
Clickmouse2(mouse_left);
randomWaitTime;
counteridk := 0;
end;
until (P07_isUpTextMultiCustom(['ake', 'Mak', '3']));
randomWaitTime;
Clickmouse2(mouse_right);
randomWaitTime;
P07_chooseOptionMulti(['All']);
Wait(RandomRange(240,300));
if(CountColor(0, 211, 393, 307, 409) = 277) then
TypeSendEx('14',True);
Wait(RandomRange(14123, 14453));
bowsStrung := bowsStrung + 14;
end;
Procedure Fletching;
var itFailed: boolean;
begin
if (P07_InvFull) then
begin
itFailed := True;
randomWaitTime;
randomMouseClick(knifeX,knifeY);
randomWaitTime;
if (P07_isUpTextMultiCustom(['nife', 'ife', 'Kni', 'Use', 'se K'])) then
Clickmouse2(mouse_left);
randomWaitTime;
case random(211) of
1..160: MMouse(RandomRange(logX - 7, logX + 7), RandomRange(logY - 7, logY + 7), 0, 0);
161..190: MMouse(RandomRange(logX - 9, logX + 9), RandomRange(logY - 9, logY + 9), 0, 0);
191..200: MMouse(RandomRange(logX - 12, logX + 12), RandomRange(logY - 12, logY + 12), 0, 0);
201..206: MMouse (RandomRange(622 - 7, 622 + 7), RandomRange(336 - 7, 336 + 7), 0, 0);
207..211: MMouse (RandomRange(661 - 7, 661 + 7), RandomRange(409 - 7, 409 + 7), 0, 0);
end;
randomWaitTime;
if (P07_isUpTextMultiCustom([LowerCase(logType),'ogs', 'log', 'logs'])) then
Clickmouse2(mouse_left);
randomWaitTime;
if (bowType = 1) then
randomMouseClick(259,407);
if (bowType = 2) then
randomMouseClick(110,407);
randomWaitTime;
if (P07_isUpTextMultiCustom(['ake', 'Mak', '3'])) then
begin
itFailed := False;
Clickmouse2(mouse_right);
Wait(randomRange(921,1024));
P07_chooseOptionMulti(['X']);
Wait(RandomRange(900, 1100));
if (CountColor(0, 214, 395, 304, 406) = 277) then
begin
Wait(RandomRange(250,600));
TypeSendEx(IntToStr(RandomRange(27,40)), true);
wait(RandomRange(48532,49710));
logsCut := logsCut + 27;
end;
end;
if (itFailed) then
Fletching;
end;
end;
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//-----------------------------v|Main Method|v-------------------------------\\
//////////////////////////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
begin
P07_DeclarePlayer;
SetupSRL();
SetupP07Include;
ClearDebug;
writeln('Hello, thank you for using Lord Waffles fletching beast!');
writeln('Please submit all feedback on the forums');
writeln('You are using version: 2.33');
writeln('');
if (not P07_LoggedIn) then
begin
P07_LogInPlayer;
wait(750);
end;
if (stringOrNotToString = 0) then
begin
if (P07_InvFull) then Fletching;
repeat
openBankScreen;
withdrawBank;
FindNormalRandoms();
Fletching;
if (randomBreak = 1) then
begin
Case Random (160) Of
1: Wait(40000 + random(7400));
2: Wait(25500 + random(8550));
3: Wait(60040 + random(6759));
4: Wait(20400 + random(2549));
end;
end;
FindNormalRandoms();
if (aBanEnabled = 1) then
antiBan;
ClearDebug;
writeln('Hello, thank you for using Lord Waffles fletching beast!');
writeln('Please submit all feedback on the forums');
writeln('You are using version: 2.33');
writeln('');
writeln('Bows fletched: ' + IntToStr(logsCut));
writeln('Running Time: ' + TimeRunning);
writeln('');
until(not P07_LoggedIn);
end;
if (stringOrNotToString = 1) then
begin
if (P07_InvCount = 28) then
stringBows;
repeat
openBankScreen;
withdrawBankStringing;
FindNormalRandoms();
stringBows;
if (randomBreak = 1) then
begin
Case Random (160) Of
1: Wait(40000 + random(7400));
2: Wait(25500 + random(8550));
3: Wait(60040 + random(6759));
4: Wait(20400 + random(2549));
end;
end;
FindNormalRandoms();
if (aBanEnabled = 1) then
antiBan;
ClearDebug;
writeln('Hello, thank you for using Lord Waffles fletching beast!');
writeln('Please submit all feedback on the forums');
writeln('You are using version: 2.33');
writeln('');
writeln('Bows strung: ' + IntToStr(bowsStrung));
writeln('Running Time: ' + TimeRunning);
writeln('');
until (not P07_LoggedIn);
end;
end.