So I've known of these forums for about 2 years now, some of the scripts on here were the first I ever used to bot in Runescape.
I took a break from RS for a while and I'm back now and decided to visit this site again and actually contribute this time.
So I know this script is pretty basic and not too hard to do but im actually decently proud of it, and will be trying to make more complex and walking scripts in the future.
Thanks to The Mayor, for his amazing guide on the forums and for helping with my question last night as well as everyone else that has contributed awesome guides/help!
I am definitely open for A LOT of help as I know I need it, and I would not recommend running this for any long period of time.
Things I want to get done and would appreciate any help in or pointing me in the right direction.
1.How to implement Antiban ADDED!
2.How to make it easier for people to set up the script so that it work in different locations/different types
of items to craft
3.Pin integration...lol
4.Making fail safes ex: when you run out of logs to log you out
5.Profit calculator/exp calc/logs cut(have a basic implementation of this already)
6.Edit out the debug box so its not so ugly and cluttered with information
7.Any other ideas people have/are interested in
Right now its just set up to cut Willow logs into shieldbows(u) at edgeville bank if you have the logs in the 10th slot, they're decent exp/money. You can however just change the script to suit what items you want to craft/locations to craft. But I would love to make it easier.
Well here it is, please let me know what you think I definitely do not mind criticism
PHP Code:
program BitPoorFletcherV01;
{$DEFINE SMART}
{$I SRL-6/SRL.simba}
{$I SPS/lib/SPS-RS3.Simba}
procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := ''; //Enter Username here
password := ''; //Enter password here
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;
var
depositCount: integer;
procedure openBank ();
begin
if isLoggedIn() then
begin
bankScreen.open(BANK_NPC_BLUE); //Change color or bank location here
_waitBankOrPinscreen(5000);
end;
if depositCount <1 then
if bankScreen.open(BANK_NPC_BLUE) then //Change color or bank location here
begin
bankScreen.quickDeposit(QUICK_DEPOSIT_INVENTORY);
inc(depositCount) + 1;
end;
if bankScreen.open(BANK_NPC_BLUE) then //Change color or bank location here
begin
bankScreen.withdraw(10,WITHDRAW_AMOUNT_ALL, ['']); //Change mouseover text for different logs
wait(randomRange(800,1000));
bankScreen.close
end else
writeLn('Could not find bank screen')
end;
procedure antiBan(); //Straight outta includes (imma noob)
begin
if not isLoggedIn() then
begin
writeLn('Not logged in, exiting');
end;
begin
case random(100) of
1..25: begin
writeLn('Performing AntiBan, Hovering Over Skills');
hoverRandomSkill();
end;
26..46: begin
writeLn('Performing AntiBan, Bored Human');
BoredHuman;
wait(randomRange(2000,4000));
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
end;
47..67: begin
writeLn('Performing AntiBan, Move Mouse Like A Downy');
smallRandomMouse();
end;
68..88: begin
writeLn('Performing AntiBan, I Fell Asleep On The Computer Oh No!');
sleepAndMoveMouse(2000 + random(3000));
end;
89..99: begin
writeLn('Performing AntiBan, Are We 99 Yet');
pickUpMouse();
end;
end;
end;
end;
procedure doWePerformAntiBan();
begin
writeLn('AntiBan or nah?');
case Random(10) of
1..6: begin
writeLn('Nah, no AntiBan');
end;
7..9: begin
writeLn('Yah, Performing AntiBan');
antiBan();
end;
end;
end;
var
CraftCount: integer;
LogsCut : integer;
function amountOfLogsCut(): string;
begin
result := 'Amount of logs cut =';
end;
procedure cutLogs ();
begin
if bankScreen.close then
begin
wait(randomRange(1000,2000));
tabBackPack.mouseSlot(randomRange(1,10), MOUSE_LEFT);
if craftCount <1 then
if toolScreen.isOpen(2000) then
begin
toolScreen.select('Knife');
inc(CraftCount) + 1;
end;
end;
if productionScreen.isOpen(3000) then
begin
productionScreen.selectBox(3); //Change to 1 for ShortBows, 2 for stocks and 3 for Shieldbows
wait(randomRange(800,1100));
productionScreen.clickStart();
if progressScreen.isOpen(2000) then
repeat
wait(randomRange(11000,16000));
doWePerformAntiBan();
until progressScreen.getButton() < 1;
end else
writeLn('Couldnt select item to craft')
if progressScreen.getButton() < 1 then
begin
LogsCut := LogsCut + 28;
writeLn('Amount of logs cut:' + intToStr(LogsCut));
inc(LogsCut) +1
end;
if not isLoggedIn() then
exit;
if not progressScreen.getButton() < 1 then
exit;
end;
procedure depositLogs ();
const
BACKPACK_SLOT_LOW = 0;
begin
wait(randomRange(1000,2000));
bankScreen.open(BANK_NPC_BLUE); //Change color or bank location here
if bankScreen.open(BANK_NPC_BLUE) then //Change color or bank location here
begin
wait(randomRange(1000,2000));
bankScreen.quickDeposit(QUICK_DEPOSIT_INVENTORY);
wait(randomRange(1000,2000));
end;
if bankScreen.open(BANK_NPC_BLUE) then
repeat
openBank();
cutLogs();
depositLogs();
until false;
end;
begin
clearDebug();
smartEnableDrawing := true;
setupSRL();
declarePlayers();
if not isLoggedIn() then
begin
players[currentPlayer].login();
exitSquealOfFortune();
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
if isLoggedIn() then
exitSquealOfFortune();
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
end;
openBank();
cutLogs();
depositLogs();
end