SRL Archive - RS3 Script Requests

The Mayor taking script requests


The Mayor

2014-05-01 22:35:28

Mayor Requests





UPDATE: August 2014: I'm no longer taking public requests do to being busy irl. You can still post your ideas though. If I like one I may come out of retirement.



I’m trying to think of a fun script to make and can't think of anything good so I was wondering if anybody wanted a specific RS3 script that hasn't already been released. I may make more than one script if I like more than one idea, or I may not make any.

What scripts can you request:
  • I would like to make something strange, unique and random (is anyone starting a collection?).
  • Preferably not a gold farming script (as that would probably be released in the higher boards anyway).
  • F2P (if P2P you have to lend me an account).


How to request a script:
  • Be specific.
  • Don’t write a vague and silly request like:
    • "AIO fighter and banker pl0x"
    • "a idung pls pls"
    • "A l33t tree cutt0r pl0x"
    • "feather skript k tnx bai"

  • But a specific request, using a logical script layout like:
    • Run NW from Combat Academy to cabbage patch -> Pick 28 cabbages -> Run back to Combat Acadamy -> Open Bank chest and deposit cabbages -> Repeat




Current list of requests I'm pondering:

Request away :stirthepot:

rj

2014-05-01 23:11:41

AIO fighter and banker pl0x













actually a Woodcutting trainer that cuts trees based off your woodcutting level around faledor, used to be a powerbot script like this.

you would start it anywhere near fally and it would find the best tree for your level. When you can cut the next best tree it will bank and look for the best possible ax. So essentially you start the script at 9:00PM one night, wake up and the script is cutting willows :)

MedChilled

2014-05-02 00:44:04

Falador Party room balloon popper xD Fairly self explanatory. Settings menu -> can choose to only pick up items of certain wealth or doesn't pick up some items (eg. afro's) -> Waits in high pop world -> pops balloons -> Picks up items that are specified -> waits for next drop party -> if inventory is full banks at the falador bank just beside the party room -> If banked runs back to the party room -> repeat.

The Mayor

2014-05-02 01:09:31

From: Robert
AIO fighter and banker pl0x
actually a Woodcutting trainer that cuts trees based off your woodcutting level around faledor, used to be a powerbot script like this.

you would start it anywhere near fally and it would find the best tree for your level. When you can cut the next best tree it will bank and look for the best possible ax. So essentially you start the script at 9:00PM one night, wake up and the script is cutting willows :)


Not really that interesting. Pretty much a power chopper with a case woodCuttingLevel of statement :p

From: MedChilled
Falador Party room balloon popper xD Fairly self explanatory. Settings menu -> can choose to only pick up items of certain wealth or doesn't pick up some items (eg. afro's) -> Waits in high pop world -> pops balloons -> Picks up items that are specified -> waits for next drop party -> if inventory is full banks at the falador bank just beside the party room -> If banked runs back to the party room -> repeat.


I must say I would have never thought of this. Could easily be written in a few hundred lines. I could make it collect everything, and while it's waiting for next drop party it looks up the GE price of the items it's collected and drops the worthless ones. Added to the potential list.

Eejit

2014-05-02 08:01:26

Dancing for money script: Player dances at the GE, says things such as "d0n4te pl0x" and accepts all items given in trade requests.

RlagkRud

2014-05-02 14:10:11

Monkey knife fighter pickpocketer?

Keeps pick pocketing monkeys -> if caught will free itself from jail
also alchs the stuff it pickpockets

Thanatos

2014-05-02 15:00:15

From: RlagkRud
Monkey knife fighter pickpocketer?

Keeps pick pocketing monkeys -> if caught will free itself from jail
also alchs the stuff it pickpockets


This, or anything that trains thieving. I'm iffy about lending my account though, since it's my main. I think pyramid plunder is more xp/hour, but it's more logic to write. I just think a thieving script would be nice :) Dominate the thieving section! (too bad you don't have members )

donze

2014-05-02 16:33:45

Hello there Mr mayor,
Ive bin using your "[RS3/SRL6] Gelatinous Abomination Obliterator [Loots + Banks]" and i really loved it, i now gained more level and i want to train the Flesh Crawlers in Stronghole of Security.
It should be started with you wearing full lobsters in inventory and after it has eaten all the lobsters it should teleport to varrock, go to one of the banks, fills up with food and go back to the flesh crawlers and start fighting again.

Thank you 1000 times if you can do this for me.

The Mayor

2014-05-02 17:43:51

From: eejit
Dancing for money script: Player dances at the GE, says things such as "d0n4te pl0x" and accepts all items given in trade requests.


Nice idea, but to do this properly I'd have to read the chatbox text, which isn't working atm due to the change in fonts.

From: RlagkRud
Monkey knife fighter pickpocketer?

Keeps pick pocketing monkeys -> if caught will free itself from jail
also alchs the stuff it pickpockets


Does this require you trap the monkey in a specific position? How do you escape the jail, do you just walk out, or does the timing have to be right? There was one on the forums a while back, I could take a look at that.

From: donze
Hello there Mr mayor,
Ive bin using your "[RS3/SRL6] Gelatinous Abomination Obliterator [Loots + Banks]" and i really loved it, i now gained more level and i want to train the Flesh Crawlers in Stronghole of Security.
It should be started with you wearing full lobsters in inventory and after it has eaten all the lobsters it should teleport to varrock, go to one of the banks, fills up with food and go back to the flesh crawlers and start fighting again.

Thank you 1000 times if you can do this for me.


This could be done. Will probably be easier from Edgeville bank.

donze

2014-05-02 18:20:35

Yeah your right, would you make such a script for me :D?

Allgood

2014-05-02 20:10:46

:norris: Start in Taverly flax field –> Pick 28 flax –> Walk to Spin Wheel –> String 28 Bowstrings –> Walks to Taverly Northern Bank chest –> Deposits all items –> Walks to Taverly flax field –> Repeat :norris:

RlagkRud

2014-05-03 13:50:03

From: The Mayor

Does this require you trap the monkey in a specific position? How do you escape the jail, do you just walk out, or does the timing have to be right? There was one on the forums a while back, I could take a look at that.


Doesn't require trapping the monkey. You escape the jail by walking out but you have to time it so the gorilla isn't blocking you. Basically, you just wait for the gorilla to walk past your cell and then you just run out.

The Mayor

2014-05-05 05:50:31

From: RlagkRud
Doesn't require trapping the monkey. You escape the jail by walking out but you have to time it so the gorilla isn't blocking you. Basically, you just wait for the gorilla to walk past your cell and then you just run out.


Ok sounds easy enough. This is probably the script I'm leaving towards atm. I can probably write the majority of it without logging in, but I will need an account to pick colors and test it. If anyone is willing let me know.

RlagkRud

2014-05-05 16:25:52

From: The Mayor
Ok sounds easy enough. This is probably the script I'm leaving towards atm. I can probably write the majority of it without logging in, but I will need an account to pick colors and test it. If anyone is willing let me know.


Would be more than happy to lend you my account. Send me a PM when you need it.

rj

2014-05-05 16:25:54

From: The Mayor
Ok sounds easy enough. This is probably the script I'm leaving towards atm. I can probably write the majority of it without logging in, but I will need an account to pick colors and test it. If anyone is willing let me know.


Most people have trouble doing it legit good luck; you have to wait until the guards switch off

The Mayor

2014-05-05 16:31:36

From: RlagkRud
Would be more than happy to lend you my account. Send me a PM when you need it.


Sweet, thanks!

From: Robert
Most people have trouble doing it legit good luck; you have to wait until the guards switch off


I've never done it legit so I don't know. I was just thinking I'd split the MS into a few boxes, wait until the guards can/cannot be found within a certain box, and then try escape?

einhander

2014-05-05 23:41:03

Start in falador bank.

Run to south dungeon SW of the docks a bit, with ice warriors/giants.

Kills Ice Warrior OR Ice Giants. Item pick up, nature runes, laws, coins, there is good loot here, especially if botted!

Banks for more food. Swordfish or Lobster, whatever is in bank slot, lets say, 10.

Repeat until perma ban ;)

This was my FAVORITE script for rs2. I really miss it!!!!!!

Sjoe

2014-05-06 00:24:48

dung script pleas, i busnessman from china. Me have much money

Gucci

2014-05-06 02:43:55

From: Sjoe
dung script pleas, i busnessman from china. Me have much money


I second this. Dung pls.

The Mayor

2014-05-06 02:54:07

From: Gucci
I second this. Dung pls.


Haven't seen you around in a while :)

Gucci

2014-05-06 03:04:42

From: The Mayor
Haven't seen you around in a while :)


Yeah quit runescape a while ago and just haven't gone back yet. Miss the scripting more than the game though.

jayman19981

2014-05-06 17:23:47

kill water fiends and loot crimson charms.

Ashaman88

2014-05-07 22:54:43

From: The Mayor
Sweet, thanks!



I've never done it legit so I don't know. I was just thinking I'd split the MS into a few boxes, wait until the guards can/cannot be found within a certain box, and then try escape?


Someone had a pretty sweet knife fighter a year or two ago.. you should check that one out - i'll try to find the thread

http://villavu.com/forum/showthread.php?t=96540&highlight=monkey
http://villavu.com/forum/showthread.php?t=77489&highlight=monkey

The Mayor

2014-05-08 01:10:10

From: jayman19981
kill water fiends and loot crimson charms.


Maybe one day :p

From: Ashaman88
Someone had a pretty sweet knife fighter a year or two ago.. you should check that one out - i'll try to find the thread

http://villavu.com/forum/showthread.php?t=96540&highlight=monkey
http://villavu.com/forum/showthread.php?t=77489&highlight=monkey


Yea I know about eskas script :)

RlagkRud

2014-05-08 01:56:45

From: Ashaman88
Someone had a pretty sweet knife fighter a year or two ago.. you should check that one out - i'll try to find the thread

http://villavu.com/forum/showthread.php?t=96540&highlight=monkey
http://villavu.com/forum/showthread.php?t=77489&highlight=monkey


Yep I used to use this script and it broke with RS3. Was hoping a Member would take up this project :D

The Mayor

2014-06-04 04:50:57

I've decided I'm going to make the Monkey Knife Fighter Pickpocketer. I'm still quite busy ATM so I'll be slowly chipping away at it.

EDIT: Sort of what I'm thinking


program MayorMonkeyPilferer;


// Picture of me :D


procedure invManagement();
begin
//drop mithril + addy scimmy
//drop lobster
end;

function countNatures(): integer;
begin
//counts nature runes (for alching)
end;

procedure highAlch();
begin
//equip fire staff
//alch rune scimmy
//alch dragon scimmy?
end;

function checkHP(): integer;
begin
//return HP as a %
//eat if need to
end;

procedure eatFood();
begin
//eat food (lobsters)? if HP low
end;

function isStunned(): boolean;
begin
//true if player is stunned
end;

function isInJail(): boolean;
begin
//true is in jail
end;

procedure pickJailDoor();
begin
//lockpick the door
end;

procedure walkToMonkeys();
begin
//walk from jail to monkeys
end;

procedure stunMonkey();
begin
//find and stun money
end;

procedure pickPocketMonkey();
begin
//pickpocket money after stun
end;

procedure setup();
begin
//setup variables and SPS etc
end;

begin
// main loop

{login player}
if not isLoggedIn() then
begin
//login, compass etc.
end;

{escape jail loop}
if isInJail() then
begin
//escape jail and run back
end;

{pick pocket loop}
repeat
if isInJail() then
break;

checkHP(); //eat
invManagement(); //alch + drop
pickPocketMonkey();

until(false);

end.

Clarity

2014-06-04 06:51:42

Hai im new cn you plaz maek Aio ruenskape?

it b rly gud cuz it do da lvls and da geepee and da bass fites an da kuests.

Awlso for da challgenge u cant use any inclods.

Cant use ashay man skriptwriter skript either.

Tanks mayor



Good luck with the knife fighter script, it's a great method and will be a nice addition to the thieving section!

The Mayor

2014-06-04 19:51:43

From: Clarity
Hai im new cn you plaz maek Aio ruenskape?

it b rly gud cuz it do da lvls and da geepee and da bass fites an da kuests.

Awlso for da challgenge u cant use any inclods.

Cant use ashay man skriptwriter skript either.

Tanks mayor



Good luck with the knife fighter script, it's a great method and will be a nice addition to the thieving section!


AIO runescape? haha. Happy Little Runescape/Happe Little Lumbridge/Ratz came close

Done some more in lunch break today:


program MayorMonkeyPilferer;

{$DEFINE SMART}
{$I SRL-6/SRL.Simba}
{$I SPS/LIB/SPS-RS3.simba}

const
REVISION = '1';

{


Fancy Title

Completed: xxth June 2014


}


{- 1. Player Info -}

NICKNAME = ''; { Nickname of player entered into the Rafiki player manager }

PLAYER_FILE = ''; { The name of your player file that you made in Rafiki }



{- 2. Theiving Settings -}

ALCH_SCIMMYS = True; { True if alching rune & dragon scimmys }

DROP_LOBSTERS = True; { Drop some lobsters if backpackfull }



{- 3. Break Settings -}

ENABLE_BREAKS = True; { Enable breaks? }

MIN_PLAY_TIME = 45; { Minimum play time before taking a break }
MAX_PLAY_TIME = 180; { Max play time before taking a break }

MIN_BREAK_TIME = 5; { Minimum break duration }
MAX_BREAK_TIME = 45; { Max break duration }



{- 4. Paint & Debug Settings -}

PAINT_ON_SMART = True; { Paint status in chatbox? }

STATUS_COLOUR = 255; { What colour do you want the paint to be (choose with color picker) }

ENABLE_DEBUG = False; { Show text debug output in the debug box? }



(* -------------------------------------------------------------------------- *)
{* EASY UPDATE - Update colours yourself! *}
(* -------------------------------------------------------------------------- *)
{ If future RS updates change the colours, then you can easily update them
yourself by changing the values below. Look at the AIO tutorial in my
signature if you don't know how to pick colours using ACA.
}


{ Monkey Knife Fighters }
MKF_COLOUR = 2242428;
MKF_TOL = 8;
MKF_HUE = 0.09;
MKF_SAT = 0.33;

(* -------------------------------------------------------------------------- *)
{* DON'T TOUCH ANYTHING BELOW *}
{* (unless you know what you're doing) *}
(* -------------------------------------------------------------------------- *)

{ Global Variables }
var
PathToMonkeys: TPointArray;
BreakTime, Breaked: integer;
TotalBreakTime: TTimeMarker;

AlchsCast, Pickpockets, Stuns: integer;

GreeGreeDTM: integer;
ScimmyDTMs: array [0..3] of integer;

DoAlching: boolean;


procedure autoUpdateMe();
begin
//code
end;

procedure freeTheDTMs();
begin
//freeDTMs(); scimmys, nats, staff
end;

procedure findRandoms();
begin
exitTreasure();
claimTicket();
end;

procedure paintStatus(status: string);
begin
if PAINT_ON_SMART then
begin
smartImage.clear();
smartImage.drawText('Status: ' + status, point(chatbox.X2-320,chatbox.Y2-19), SmallChars, false, STATUS_COLOUR);
end;
end;

procedure resetBreakTimer();
begin
BreakTime := getSystemTime() + gaussRangeInt(MIN_PLAY_TIME * 60000, MAX_PLAY_TIME * 60000);
end;

function timeUntilBreak(): string;
var
breakFromNow, H, M, S: integer;
begin
if ENABLE_BREAKS then
begin
breakFromNow := BreakTime - getSystemTime();
convertTime(breakFromNow, H, M, S);
result := (toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');
end else
result := ('Breaking disabled');
end;

procedure takeBreak();
var
H, M, S, HH, MM, SS, breakFor, timeLeft: integer;
breakStartTimer: TTimeMarker;
begin
if not ENABLE_BREAKS then
exit;

if (getSystemTime() >= BreakTime) then
begin
TotalBreakTime.start();
paintStatus('Taking a break');

if random(2) = 0 then
players[currentPlayer].logout()
else
players[currentPlayer].exitToLobby();

mouseOffClient(OFF_CLIENT_RANDOM);

breakFor := gaussRangeInt(MIN_BREAK_TIME * 60000, MAX_BREAK_TIME * 60000);
convertTime(breakFor, H, M, S);
writeLn('You are breaking for: ' + toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');

breakStartTimer.start();

repeat
timeLeft := breakFor - breakStartTimer.getTime();
convertTime(timeLeft, HH, MM, SS);
writeLn('Ending break in: ' + toStr(HH)+ 'h ' + toStr(MM)+ 'm ' + toStr(SS)+ 's');
wait(25000 + random(4000));
until breakFor < breakStartTimer.getTime();

inc(Breaked);
resetBreakTimer();
TotalBreakTime.pause();
players[currentPlayer].login();
wait(gaussRangeInt(1500, 3500));
findRandoms();
minimap.clickCompass();
end;
end;

procedure checkForImages(path, link, item: string);
var
progFile: longInt;
picName: string;
begin
picName := AppPath + path;

try
if not fileExists(picName) then
begin
writeLn('NOTIFICATION: ' + item + ' does not exist - Downloading it now!');
progFile := createFile(picName);
end else
begin
writeLn('NOTIFICATION: ' + item + ' already exists!');
exit;
end;

closeFile(progFile);

progFile := rewriteFile(picName, false);
writeFileString(progFile, getPage(link));
writeLn('NOTIFICATION: ' + item + ' has been download to Simba folder!');
writeLn('');
finally
if (progFile > 0) then
closeFile(progFile);
end;
end;

procedure progressReport();
var
i, theivingXP, xpPerHour, profit, profitPerHour, PAD: integer;
totalBreaks: extended;
begin

//theivingXP := ashaman chatbox xp - StartXP
xpPerHour := round(theivingXP * (3600.0 / (GetTimeRunning / 1000.0)));

//profit := rune alch + dragon alch
profitPerHour := round(profit * (3600.0 / (GetTimeRunning / 1000.0)));

totalBreaks := (TotalBreakTime.getTime()/3600000);

PAD := 39;
clearDebug();

writeLn('||-------------------------------------||');
writeLn(padR('|| Mayor Monkey Pilferer (Rev. ' + REVISION + ')', PAD) + '||') ;
writeLn(padR('||', PAD) + '||');
writeLn(padR('|| Time running: ' + msToTime(getTimeRunning(), TIME_SHORT), PAD) + '||') ;
writeLn(padR('|| Pickpockets | Stuns: ' + toStr(PickPockets) + ' | ' + toStr(Stuns), PAD) + '||');
writeLn(padR('|| Theiving XP: ' + toStr(theivingXP) + ' (' + toStr(xpPerHour) + ' PH)', PAD) + '||');
writeLn(padR('|| Alchs cast: ' + toStr(AlchsCast), PAD) + '||') ;
writeLn(padR('|| Profit made: ' + toStr(profit) + ' (' + toStr(profitPerHour) + ' PH)', PAD) + '||');
writeln(padR('|| Time until break: ' + timeUntilBreak(), PAD) + '||');
writeln(padR('|| Breaks taken: ' + toStr(Breaked)+ ' (' + toStr(trunc(totalBreaks)) + ' h & ' + toStr(trunc(totalBreaks * 60) mod(60)) + ' m)', PAD) + '||');
writeLn('||-------------------------------------||');
end;

procedure endScript(reason: string);
begin
wait(randomRange(4000, 3000));
players[currentPlayer].exitToLobby();
progressReport();
writeLn('Terminated because: ' + reason);
writeLn('');
terminateScript();
end;

function mayorObjectFinder(colour, tolerance: integer; hue, sat: extended; width, height, clickType: integer; mouseOverText, chooseOptions: array of string; excludeSmall: boolean): boolean;
// mayorObjectFinder(colour, tol, hue, sat, width, height, clickType, mouseOverText, chooseOptions, excludeSmall)
var
i, x, y: integer;
p: TPoint;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then
exit;

findColorsSpiralTolerance(x, y, TPA, colour, mainScreen.getBounds(), tolerance, colorSetting(2, hue, sat));

mainScreen.filterPointsPlayer(TPA);

if (Length(TPA) < 1) then exit;

ATPA := TPA.toATPA(width, height);
ATPA.sortFromMidPoint(mainscreen.playerPoint);

if PAINT_ON_SMART then
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if excludeSmall then
if length(ATPA[i]) < width then
continue;

if random(3) = 1 then
missMouse(middleTPA(ATPA[i]), true)
else
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);

if isMouseOverText(mouseOverText, 500) then
begin
fastClick(ClickType);
if clickType = MOUSE_LEFT then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end;
if chooseOption.select(chooseOptions) then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end else
begin
gaussBox(p, mainscreen.getBounds());
mouse(p, MOUSE_MOVE);
end;
end;
end;
end;

procedure antiBan();
begin
//antiban stuff
end;

procedure walkToMonkeys();
var
walkTimer: TTimeMarker;
x, y: integer;
begin
walkTimer.start();

paintStatus('Walking to the monkey room');

repeat
if not isLoggedIn() then
exit;

minimap.setAngle(MM_DIRECTION_NORTH);
SPS.walkPath(PathToMonkeys);
minimap.waitPlayerMoving();

//white floor tiles?
if countColorTolerance(123445, intToBox(1, 2, 3, 4), 123) then
exit;

until walkTimer.getTime() > 180000;

endScript('failed to walk to the monkeys within 3 minutes');
end;

procedure packManagement(); // just puts all scimmys at bottom of inv
var
x, y, i, ii, scimmySlot, freeSlot: integer;
begin

for i := 28 downto 1 do
if not tabBackPack.isItemInSlot(i) then
begin
freeSlot := i;
break;
end;


for i := 0 to high(ScimmyDTMs) do
for ii := 1 to 28 do
if findDTM(ScimmyDTMs[i], x, y, tabBackPack.getSlotBox(ii)) then
begin
scimmySlot := ii;
break;
end;

if scimmySlot < freeSlot then
tabBackPack.dragSlot(scimmySlot, freeSlot);

end;

function isGreeGreeEquipped(): boolean
begin
//finds and clicks GreeGree
//returns true if equipped
end;

function isStaffEquipped(): boolean
begin
//finds and clicks staff
//returns true if equipped
end;

function countNatures(): integer;
begin
//counts nature runes (for alching)
//if none sets DoAlching bool to false
end;

procedure highAlch();
begin
//unequip GreeGree
//equip fire staff

//alch rune scimmy
//alch dragon scimmy

// equip GreeGree
end;

procedure manageJunk();
begin
//drop mithril + addy scimmys
//drop lobsters if necessary
//call high alch when enough scimmys
end;

procedure eatFood();
begin
//eats lobsters if HP low
end;

procedure checkHP();
begin
//checks actionBar HP
//calls eatFood if necessary
end;

function isPlayerStunned(): boolean;
begin
//true if player is stunned (health bar appears)
end;

function isInJail(): boolean;
begin
//true is in jail (MM colour check?)
end;

procedure pickJailDoor();
begin
//lockpick the door
end;

function stunMonkey():boolean;
begin
//find and punch money
//returns true if chooseOption selected
end;

procedure pickPocketMonkey();
begin
//pickpocket money after it's stun
//repeat twice + random chance of 3rd time?
end;

procedure mainLoop();
var
stunTimer: TTimeMarker;
begin

if tabBackpack.count() >= randomRange(20, 28) then
manageJunk();

if stunMonkey() then
begin
stunTimer.start();

if isPlayerStunned() then
repeat
wait(randomRange(239, 659));
checkHP();
antiBan();
until (not isPlayerStunned()) or (stunTimer.getTime() > randomRange(2000, 3000));

pickPocketMonkey();
end;

checkHP();
packManagement();

if isInJail() then
begin
pickJailDoor();
walkToMonkeys();
end;


end;


procedure setup();
begin

smartEnableDrawing := true;
disableSRLDebug := not ENABLE_DEBUG;
setupSRL();

players.Setup([NICKNAME], PLAYER_FILE);
currentPlayer := 0;

{ SPS maps and paths setup }
//download map
//PathToMonkeys := [];
//sps.setup('MKF_ATOLL', RUNESCAPE_OTHER, 4, 600.0, 0.40);
//spsAnyAngle := true;


{ Load the DTMs }
//ScimmyDTMs := [];
//GreeGreeDTM := DTMFromString('');

{ Initialise breaking variables }
resetBreakTimer();
TotalBreakTime.start();
TotalBreakTime.pause();

end;

begin
clearDebug();
autoUpdateMe();
addonTerminate('freeTheDtms');
setup();


repeat
if not isLoggedIn() then
begin
players[currentPlayer].login();
mainscreen.setAngle(MS_ANGLE_HIGH);
findRandoms();
end;

mainLoop();
until false;

end.

EDIT: Might as well turn this in to a sort of progress thread for those of you who wanted the script. I'm nearly at the point where I'll actually need to login to the game to finish off some parts. If anyone wants to lend me an account it would be much appreciated.


program MayorMonkeyPilferer;

{$DEFINE SMART}
{$I SRL-6/SRL.Simba}
{$I SPS/LIB/SPS-RS3.simba}

const
REVISION = '1';

{


Fancy Title

Completed: xxth June 2014


}


{- 1. Player Info -}

NICKNAME = ''; { Nickname of player entered into the Rafiki player manager }

PLAYER_FILE = ''; { The name of your player file that you made in Rafiki }



{- 2. Theiving Settings -}

ALCH_SCIMMYS = True; { True if alching rune & dragon scimmys }
ALCH_KEY_BIND = '4'; { High alch action bar key bind }

DROP_LOBSTERS = True; { Drop some lobsters if backpackfull }

EAT_AT_PERCENT = 70; { Eat when HP is below what percent

{- 3. Break Settings -}

ENABLE_BREAKS = True; { Enable breaks? }

MIN_PLAY_TIME = 45; { Minimum play time before taking a break }
MAX_PLAY_TIME = 180; { Max play time before taking a break }

MIN_BREAK_TIME = 5; { Minimum break duration }
MAX_BREAK_TIME = 45; { Max break duration }



{- 4. Paint & Debug Settings -}

PAINT_ON_SMART = True; { Paint status in chatbox? }

STATUS_COLOUR = 255; { What colour do you want the paint to be (choose with color picker) }

ENABLE_DEBUG = False; { Show text debug output in the debug box? }



(* -------------------------------------------------------------------------- *)
{* EASY UPDATE - Update colours yourself! *}
(* -------------------------------------------------------------------------- *)
{ If future RS updates change the colours, then you can easily update them
yourself by changing the values below. Look at the AIO tutorial in my
signature if you don't know how to pick colours using ACA.
}


{ Monkey Knife Fighters }
MKF_COLOUR = 2242428;
MKF_TOL = 8;
MKF_HUE = 0.09;
MKF_SAT = 0.33;

(* -------------------------------------------------------------------------- *)
{* DON'T TOUCH ANYTHING BELOW *}
{* (unless you know what you're doing) *}
(* -------------------------------------------------------------------------- *)

{ Global Variables }
var
PathToMonkeys: TPointArray;
BreakTime, Breaked: integer;
TotalBreakTime: TTimeMarker;

AlchsCast, Pickpockets, Stuns: integer;

GreeGreeDTM, FireStaffDTM, NatureDTM: integer;
LobsterDTM: integer;
ScimmyDTMs: array [0..3] of integer;

DoAlching: boolean;


procedure autoUpdateMe();
begin
//code
end;

procedure freeTheDTMs();
begin
//freeDTMs(); scimmys, nats, staff
end;

procedure findRandoms();
begin
exitTreasure();
claimTicket();
end;

procedure paintStatus(status: string);
begin
if PAINT_ON_SMART then
begin
smartImage.clear();
smartImage.drawText('Status: ' + status, point(chatbox.X2-320,chatbox.Y2-19), SmallChars, false, STATUS_COLOUR);
end;
end;

procedure resetBreakTimer();
begin
BreakTime := getSystemTime() + gaussRangeInt(MIN_PLAY_TIME * 60000, MAX_PLAY_TIME * 60000);
end;

function timeUntilBreak(): string;
var
breakFromNow, H, M, S: integer;
begin
if ENABLE_BREAKS then
begin
breakFromNow := BreakTime - getSystemTime();
convertTime(breakFromNow, H, M, S);
result := (toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');
end else
result := ('Breaking disabled');
end;

procedure takeBreak();
var
H, M, S, HH, MM, SS, breakFor, timeLeft: integer;
breakStartTimer: TTimeMarker;
begin
if not ENABLE_BREAKS then
exit;

if (getSystemTime() >= BreakTime) then
begin
TotalBreakTime.start();
paintStatus('Taking a break');

if random(2) = 0 then
players[currentPlayer].logout()
else
players[currentPlayer].exitToLobby();

mouseOffClient(OFF_CLIENT_RANDOM);

breakFor := gaussRangeInt(MIN_BREAK_TIME * 60000, MAX_BREAK_TIME * 60000);
convertTime(breakFor, H, M, S);
writeLn('You are breaking for: ' + toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');

breakStartTimer.start();

repeat
timeLeft := breakFor - breakStartTimer.getTime();
convertTime(timeLeft, HH, MM, SS);
writeLn('Ending break in: ' + toStr(HH)+ 'h ' + toStr(MM)+ 'm ' + toStr(SS)+ 's');
wait(25000 + random(4000));
until breakFor < breakStartTimer.getTime();

inc(Breaked);
resetBreakTimer();
TotalBreakTime.pause();
players[currentPlayer].login();
wait(gaussRangeInt(1500, 3500));
findRandoms();
minimap.clickCompass();
end;
end;

procedure checkForImages(path, link, item: string);
var
progFile: longInt;
picName: string;
begin
picName := AppPath + path;

try
if not fileExists(picName) then
begin
writeLn('NOTIFICATION: ' + item + ' does not exist - Downloading it now!');
progFile := createFile(picName);
end else
begin
writeLn('NOTIFICATION: ' + item + ' already exists!');
exit;
end;

closeFile(progFile);

progFile := rewriteFile(picName, false);
writeFileString(progFile, getPage(link));
writeLn('NOTIFICATION: ' + item + ' has been download to Simba folder!');
writeLn('');
finally
if (progFile > 0) then
closeFile(progFile);
end;
end;

procedure progressReport();
var
i, theivingXP, xpPerHour, profit, profitPerHour, PAD: integer;
totalBreaks: extended;
begin

//theivingXP := ashaman chatbox xp - StartXP
xpPerHour := round(theivingXP * (3600.0 / (GetTimeRunning / 1000.0)));

//profit := rune alch + dragon alch
profitPerHour := round(profit * (3600.0 / (GetTimeRunning / 1000.0)));

totalBreaks := (TotalBreakTime.getTime()/3600000);

PAD := 39;
clearDebug();

writeLn('||-------------------------------------||');
writeLn(padR('|| Mayor Monkey Pilferer (Rev. ' + REVISION + ')', PAD) + '||') ;
writeLn(padR('||', PAD) + '||');
writeLn(padR('|| Time running: ' + msToTime(getTimeRunning(), TIME_SHORT), PAD) + '||') ;
writeLn(padR('|| Pickpockets | Stuns: ' + toStr(PickPockets) + ' | ' + toStr(Stuns), PAD) + '||');
writeLn(padR('|| Theiving XP: ' + toStr(theivingXP) + ' (' + toStr(xpPerHour) + ' PH)', PAD) + '||');
writeLn(padR('|| Alchs cast: ' + toStr(AlchsCast), PAD) + '||') ;
writeLn(padR('|| Profit made: ' + toStr(profit) + ' (' + toStr(profitPerHour) + ' PH)', PAD) + '||');
writeln(padR('|| Time until break: ' + timeUntilBreak(), PAD) + '||');
writeln(padR('|| Breaks taken: ' + toStr(Breaked)+ ' (' + toStr(trunc(totalBreaks)) + ' h & ' + toStr(trunc(totalBreaks * 60) mod(60)) + ' m)', PAD) + '||');
writeLn('||-------------------------------------||');
end;

procedure endScript(reason: string);
begin
wait(randomRange(4000, 3000));
players[currentPlayer].exitToLobby();
progressReport();
writeLn('Terminated because: ' + reason);
writeLn('');
terminateScript();
end;

function mayorObjectFinder(colour, tolerance: integer; hue, sat: extended; width, height, clickType: integer; mouseOverText, chooseOptions: array of string; excludeSmall: boolean): boolean;
// mayorObjectFinder(colour, tol, hue, sat, width, height, clickType, mouseOverText, chooseOptions, excludeSmall)
var
i, x, y: integer;
p: TPoint;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then
exit;

findColorsSpiralTolerance(x, y, TPA, colour, mainScreen.getBounds(), tolerance, colorSetting(2, hue, sat));

mainScreen.filterPointsPlayer(TPA);

if (Length(TPA) < 1) then exit;

ATPA := TPA.toATPA(width, height);
ATPA.sortFromMidPoint(mainscreen.playerPoint);

if PAINT_ON_SMART then
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if excludeSmall then
if length(ATPA[i]) < width then
continue;

if random(3) = 1 then
missMouse(middleTPA(ATPA[i]), true)
else
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);

if isMouseOverText(mouseOverText, 500) then
begin
fastClick(ClickType);
if clickType = MOUSE_LEFT then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end;
if chooseOption.select(chooseOptions) then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end else
begin
gaussBox(p, mainscreen.getBounds());
mouse(p, MOUSE_MOVE);
end;
end;
end;
end;

procedure antiBan();
begin
//antiban stuff
end;

procedure walkToMonkeys();
var
walkTimer: TTimeMarker;
x, y: integer;
begin
walkTimer.start();

paintStatus('Walking to the monkey room');

repeat
if not isLoggedIn() then
exit;

minimap.setAngle(MM_DIRECTION_NORTH);
SPS.walkPath(PathToMonkeys);
minimap.waitPlayerMoving();

//white floor tiles?
if countColorTolerance(123445, intToBox(1, 2, 3, 4), 123) then
exit;

until walkTimer.getTime() > 180000;

endScript('failed to walk to the monkeys within 3 minutes');
end;

procedure packManagement(); // just puts all scimmys at bottom of inv
var
x, y, i, ii, scimmySlot, freeSlot: integer;
begin

for i := 28 downto 1 do
if not tabBackPack.isItemInSlot(i) then
begin
freeSlot := i;
break;
end;

for i := 0 to high(ScimmyDTMs) do
begin
for ii := 1 to 28 do
if findDTM(ScimmyDTMs[i], x, y, tabBackPack.getSlotBox(ii)) then
begin
scimmySlot := ii;
break;
end;
if scimmySlot <> 0 then
break;
end;

if scimmySlot < freeSlot then
tabBackPack.dragSlot(scimmySlot, freeSlot);

end;

function isGreeGreeEquipped(): boolean
var
x, y, GGslot: integer;
begin

if findDTM(GreeGreeDTM, x, y, tabBackPack.getBounds()) then
begin
GGslot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(GGslot, MOUSE_LEFT);
wait(randomRange(1234, 3210));
end;

result := not findDTM(GreeGreeDTM, x, y, tabBackPack.getSlotBox(GGslot));

if not result then
begin
gameTabs.openTab(TAB_EQUIPMENT);
result := findDTM(GreeGreeDTM, x, y, tabBackPack.getBounds());
gameTabs.openTab(TAB_BACKPACK);
end;

if not result then
endScript('Couldn''t find Gorilla Greegree');
end;

function isStaffEquipped(): boolean;
var
x, y, staffSlot:integer;
begin
gameTabs.openTab(TAB_BACKPACK);

if findDTM(FireStaffDTM, x, y, tabBackPack.getBounds()) then
begin
staffSlot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(staffSlot, MOUSE_LEFT);
wait(randomRange(1234, 3210));
end;

result := not findDTM(FireStaffDTM, x, y, tabBackPack.getSlotBox(staffSlot));

if not result then
begin
gameTabs.openTab(TAB_EQUIPMENT);
result := findDTM(FireStaffDTM, x, y, tabBackPack.getBounds());
gameTabs.openTab(TAB_BACKPACK);
end;

if not result then
DoAlching := false;
end;

function countNatures(): integer;
var
x, y, natSlot: integer;
begin

if findDTM(NatureDTM, x, y, tabBackpack.getBounds()) then
begin
natSlot := tabBackpack.pointToSlot(point(x, y));
result := getItemAmount(tabBackpack.getSlotBox(natSlot))
end else
begin
writeLn('Couldn''t find nature runes in backpack - setting alching to false');
DoAlching := false;
end;

end;

procedure alchScimmys();
var
x, y, i, ii: integer;
begin

if countNatures() < 2 then
exit;

if not isStaffEquipped() then
exit;

for i := 2 to high(ScimmyDTMs) do // rune/dragon only
begin
for ii := 1 to 28 do
if findDTM(ScimmyDTMs[i], x, y, tabBackPack.getSlotBox(ii)) then
begin
tabBackpack.mouseSlot(ii, MOUSE_MOVE);
wait(gaussRangeInt(600, 750));
sendKeys(ALCH_KEY_BIND, 250, 55);
wait(gaussRangeInt(275,425));

if isMouseOverText(['ast', 'igh'], 500) then
begin
fastClick(MOUSE_LEFT);
wait(gaussRangeInt(678, 1165));
end;
end;
end;

if not isGreeGreeEquipped() then
endScript('Couldn''t re-equip the Gorilla GreeGree');

end;

procedure dropScimmys();
begin
//code
end;

procedure dropLobsters();
begin
//code
end;

procedure manageJunk();
var
x, y, i, totalScimmys, scimmyToDrop, scimmyToAlch: integer;
begin

for i := 0 to 1 do
scimmyToDrop := scimmyToDrop + tabBackpack.countDTM(ScimmyDTMs[i]); // mith + addy

for i := 2 to 3 do
scimmyToAlch := scimmyToAlch + tabBackpack.countDTM(ScimmyDTMs[i]);

if (tabBackpack.count() > 26) and ((scimmyToDrop + scimmyToAlch) <= 5) then
dropLobsters();

if scimmyToDrop > randomRange(1, 5) then
dropScimmys();

if scimmyToAlch > randomRange(4, 7) then
alchScimmys();

end;

function eatFood(): boolean;
var
x, y, lobSlot: integer;
begin

if findDTM(LobsterDTM, x, y, tabBackpack.getBounds()) then
begin
lobSlot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(lobSlot, MOUSE_LEFT);
wait(randomRange(2351, 3213));
result := not tabBackPack.isItemInSlot(lobSlot);
end;

end;

procedure checkHP();
begin

if actionBar.getHPPercent() < EAT_AT_PERCENT then
repeat
if not eatFood() then
break;
until actionBar.getHPPercent() >= EAT_AT_PERCENT;

end;

function isPlayerStunned(): boolean;
var
p: TPoint := mainscreen.playerPoint;
greenTPA, redTPA: TPointArray;
begin
findColorsTolerance(greenTPA, 51306, intToBox(p.x - 10, p.y - 40, p.x + 20, p.y + 20), 66);
findColorsTolerance(redTPA, 331429 , intToBox(p.x - 20, p.y - 40, p.x + 20, p.y + 20), 58);

greenTPA.combine(redTPA);
result := (length(greenTPA) > 30);
end;

function isInJail(): boolean;
var
pos: TPoint;
jailBox: TBox;
begin
pos := SPS.getPlayerPos();
jailBox := intToBox(100, 100, 300, 300);
result := pointInBox(pos, jailBox);
end;

procedure pickJailDoor();
begin
//lockpick the door
end;

function stunMonkey():boolean;
begin
//find and punch money
//returns true if chooseOption selected
end;

procedure pickPocketMonkey();
begin
//pickpocket money after it's stun
//repeat twice + random chance of 3rd time?
end;

procedure mainLoop();
var
stunTimer: TTimeMarker;
begin

if tabBackpack.count() >= randomRange(20, 28) then
manageJunk();

if stunMonkey() then
begin
stunTimer.start();

if isPlayerStunned() then
repeat
wait(randomRange(239, 659));
checkHP();
antiBan();
until (not isPlayerStunned()) or (stunTimer.getTime() > randomRange(2000, 3000));

pickPocketMonkey();
end;

checkHP();
packManagement();

if isInJail() then
begin
pickJailDoor();
walkToMonkeys();
end;


end;


procedure setup();
begin

smartEnableDrawing := true;
disableSRLDebug := not ENABLE_DEBUG;
setupSRL();

players.Setup([NICKNAME], PLAYER_FILE);
currentPlayer := 0;

{ SPS maps and paths setup }
//download map
//PathToMonkeys := [];
//sps.setup('MKF_ATOLL', RUNESCAPE_OTHER, 4, 600.0, 0.40);
//spsAnyAngle := true;


{ Load the DTMs }
//ScimmyDTMs := [];
//GreeGreeDTM := DTMFromString('');

{ Initialise breaking variables }
resetBreakTimer();
TotalBreakTime.start();
TotalBreakTime.pause();

DoAlching := ALCH_SCIMMYS;

end;

begin
clearDebug();
autoUpdateMe();
addonTerminate('freeTheDtms');
setup();


repeat
if not isLoggedIn() then
begin
players[currentPlayer].login();
mainscreen.setAngle(MS_ANGLE_HIGH);
findRandoms();
end;

mainLoop();
until false;

end.

RlagkRud

2014-06-05 20:53:54

Gosh you're a freak. How do you script without even logging in :O
I'd be more than happy to lend you my account. Just let me know when.

The Mayor

2014-06-06 00:53:43

From: RlagkRud
Gosh you're a freak. How do you script without even logging in :O
I'd be more than happy to lend you my account. Just let me know when.


TK lent me one but it only had 50 theiving :( then Kasi lent one but it only had ninja greegree not the gorilla one :( I will probably just use this acc to make one. If it's too time consuming then I'll let you know.


EDIT: Done a bit more after work. Just realised you need the quest 'Do No Evil' to actually pick pocket them :( Kasi's account hasn't done it yet so I will need yours.


program MayorMonkeyPilferer;
{$DEFINE SMART}
{$I SRL-6/SRL.Simba}
{$I SPS/LIB/SPS-RS3.simba}

const
REVISION = '1';
{
___ ___ _
| \/ | ( )
| . . | __ _ _ _ ___ _ __|/ ___
| |\/| |/ _` | | | |/ _ \| '__| / __|
| | | | (_| | |_| | (_) | | \__ \
\_| |_/\__,_|\__, |\___/|_| |___/
__/ |
|___/
___ ___ _
| \/ | | |
| . . | ___ _ __ | | _____ _ _
| |\/| |/ _ \| '_ \| |/ / _ \ | | |
| | | | (_) | | | | < __/ |_| |
\_| |_/\___/|_| |_|_|\_\___|\__, |
__/ |
|___/
______ _ _ __
| ___ (_) |/ _|
| |_/ /_| | |_ ___ _ __ ___ _ __
| __/| | | _/ _ \ '__/ _ \ '__|
| | | | | || __/ | | __/ |
\_| |_|_|_| \___|_| \___|_|

Completed: xxth June 2014
Updated:
}

{- 1. Player Info -}

NICKNAME = ''; { Nickname of player entered into the Rafiki player manager }

PLAYER_FILE = ''; { The name of your player file that you made in Rafiki }



{- 2. Theiving Settings -}

ALCH_SCIMMYS = True; { True if alching rune & dragon scimmys }
ALCH_KEY_BIND = '4'; { High alch action bar key bind }

DROP_LOBSTERS = True; { Drop some lobsters if backpackfull }
EAT_AT_PERCENT = 70; { Eat when HP is below what percent



{- 3. Break Settings -}

ENABLE_BREAKS = True; { Enable breaks? }

MIN_PLAY_TIME = 45; { Minimum play time before taking a break }
MAX_PLAY_TIME = 180; { Max play time before taking a break }

MIN_BREAK_TIME = 5; { Minimum break duration }
MAX_BREAK_TIME = 45; { Max break duration }



{- 4. Paint & Debug Settings -}

PAINT_ON_SMART = True; { Paint status in chatbox? }

STATUS_COLOUR = 255; { What colour do you want the paint to be (choose with color picker) }

ENABLE_DEBUG = False; { Show text debug output in the debug box? }



(* -------------------------------------------------------------------------- *)
{* EASY UPDATE - Update colours yourself! *}
(* -------------------------------------------------------------------------- *)
{ If future RS updates change the colours, then you can easily update them
yourself by changing the values below. Look at the AIO tutorial in my
signature if you don't know how to pick colours using ACA.
}


{ Monkey Knife Fighters }
MKF_COLOUR = 2370383;
MKF_TOL = 10;
MKF_HUE = 0.23;
MKF_SAT = 0.68;

JAIL_LOCK_COLOUR = 8882069;
JAIL_LOCK_TOL = 12;
JAIL_LOCK_HUE = 0.00;
JAIL_LOCK_SAT = 0.23;

(* -------------------------------------------------------------------------- *)
{* DON'T TOUCH ANYTHING BELOW *}
{* (unless you know what you're doing) *}
(* -------------------------------------------------------------------------- *)

{ Global Variables }
var
PathToMonkeys: TPointArray;
BreakTime, Breaked: integer;
TotalBreakTime: TTimeMarker;

AlchsCast, Pickpockets, Stuns: integer;

GreeGreeDTM, FireStaffDTM, NatureDTM: integer;
LobsterDTM: integer;
ScimmyDTMs: array [0..3] of integer;

DoAlching: boolean;


procedure autoUpdateMe();
begin
//code
end;

procedure freeTheDTMs();
begin
freeDTMs(ScimmyDTMs);
freeDTMs([GreeGreeDTM, NatureDTM, LobsterDTM]);
end;

procedure findRandoms();
begin
exitTreasure();
claimTicket();
end;

procedure paintStatus(status: string);
begin
if PAINT_ON_SMART then
begin
smartImage.clear();
smartImage.drawText('Status: ' + status, point(chatbox.X2-320,chatbox.Y2-19), SmallChars, false, STATUS_COLOUR);
end;
end;

procedure resetBreakTimer();
begin
BreakTime := getSystemTime() + gaussRangeInt(MIN_PLAY_TIME * 60000, MAX_PLAY_TIME * 60000);
end;

function timeUntilBreak(): string;
var
breakFromNow, H, M, S: integer;
begin
if ENABLE_BREAKS then
begin
breakFromNow := BreakTime - getSystemTime();
convertTime(breakFromNow, H, M, S);
result := (toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');
end else
result := ('Breaking disabled');
end;

procedure takeBreak();
var
H, M, S, HH, MM, SS, breakFor, timeLeft: integer;
breakStartTimer: TTimeMarker;
begin
if not ENABLE_BREAKS then
exit;

if (getSystemTime() >= BreakTime) then
begin
TotalBreakTime.start();
paintStatus('Taking a break');

if random(2) = 0 then
players[currentPlayer].logout()
else
players[currentPlayer].exitToLobby();

mouseOffClient(OFF_CLIENT_RANDOM);

breakFor := gaussRangeInt(MIN_BREAK_TIME * 60000, MAX_BREAK_TIME * 60000);
convertTime(breakFor, H, M, S);
writeLn('You are breaking for: ' + toStr(H)+ 'h ' + toStr(M)+ 'm ' + toStr(S)+ 's');

breakStartTimer.start();

repeat
timeLeft := breakFor - breakStartTimer.getTime();
convertTime(timeLeft, HH, MM, SS);
writeLn('Ending break in: ' + toStr(HH)+ 'h ' + toStr(MM)+ 'm ' + toStr(SS)+ 's');
wait(25000 + random(4000));
until breakFor < breakStartTimer.getTime();

inc(Breaked);
resetBreakTimer();
TotalBreakTime.pause();
players[currentPlayer].login();
wait(gaussRangeInt(1500, 3500));
findRandoms();
minimap.clickCompass();
end;
end;

procedure checkForImages(path, link, item: string);
var
progFile: longInt;
picName: string;
begin
picName := AppPath + path;

try
if not fileExists(picName) then
begin
writeLn('NOTIFICATION: ' + item + ' does not exist - Downloading it now!');
progFile := createFile(picName);
end else
begin
writeLn('NOTIFICATION: ' + item + ' already exists!');
exit;
end;

closeFile(progFile);

progFile := rewriteFile(picName, false);
writeFileString(progFile, getPage(link));
writeLn('NOTIFICATION: ' + item + ' has been download to Simba folder!');
writeLn('');
finally
if (progFile > 0) then
closeFile(progFile);
end;
end;

procedure progressReport();
var
i, theivingXP, xpPerHour, profit, profitPerHour, PAD: integer;
totalBreaks: extended;
begin

//theivingXP := ashaman chatbox xp - StartXP
xpPerHour := round(theivingXP * (3600.0 / (GetTimeRunning / 1000.0)));

//profit := rune alch + dragon alch
profitPerHour := round(profit * (3600.0 / (GetTimeRunning / 1000.0)));

totalBreaks := (TotalBreakTime.getTime()/3600000);

PAD := 39;
clearDebug();

writeLn('||-------------------------------------||');
writeLn(padR('|| Mayor Monkey Pilferer (Rev. ' + REVISION + ')', PAD) + '||') ;
writeLn(padR('||', PAD) + '||');
writeLn(padR('|| Time running: ' + msToTime(getTimeRunning(), TIME_SHORT), PAD) + '||') ;
writeLn(padR('|| Pickpockets | Stuns: ' + toStr(PickPockets) + ' | ' + toStr(Stuns), PAD) + '||');
writeLn(padR('|| Theiving XP: ' + toStr(theivingXP) + ' (' + toStr(xpPerHour) + ' PH)', PAD) + '||');
writeLn(padR('|| Profit made: ' + toStr(profit) + ' (' + toStr(profitPerHour) + ' PH)', PAD) + '||');
writeln(padR('|| Time until break: ' + timeUntilBreak(), PAD) + '||');
writeln(padR('|| Breaks taken: ' + toStr(Breaked)+ ' (' + toStr(trunc(totalBreaks)) + ' h & ' + toStr(trunc(totalBreaks * 60) mod(60)) + ' m)', PAD) + '||');
writeLn('||-------------------------------------||');
end;

procedure endScript(reason: string);
begin
wait(randomRange(4000, 3000));
players[currentPlayer].exitToLobby();
progressReport();
writeLn('Terminated because: ' + reason);
writeLn('');
terminateScript();
end;

function mayorObjectFinder(colour, tolerance: integer; hue, sat: extended; width, height, clickType: integer; mouseOverText, chooseOptions: array of string; excludeSmall: boolean): boolean;
var
i, x, y: integer;
p: TPoint;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then
exit;

findColorsSpiralTolerance(x, y, TPA, colour, mainScreen.getBounds(), tolerance, colorSetting(2, hue, sat));

mainScreen.filterPointsPlayer(TPA);

if (Length(TPA) < 1) then exit;

ATPA := TPA.toATPA(width, height);
ATPA.sortFromMidPoint(mainscreen.playerPoint);

if PAINT_ON_SMART then
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if excludeSmall then
if length(ATPA[i]) < width then
continue;

if random(3) = 1 then
missMouse(middleTPA(ATPA[i]), true)
else
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);

if isMouseOverText(mouseOverText, 500) then
begin
fastClick(ClickType);
if clickType = MOUSE_LEFT then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end;
if chooseOption.select(chooseOptions) then
begin
if PAINT_ON_SMART then
smartImage.clearArea(mainscreen.getBounds());
exit(true);
end else
begin
gaussBox(p, mainscreen.getBounds());
mouse(p, MOUSE_MOVE);
end;
end;
end;
end;

procedure antiBan();
begin
//antiban stuff
end;

procedure walkToMonkeys();
var
walkTimer: TTimeMarker;
x, y: integer;
begin
walkTimer.start();

paintStatus('Walking to the monkey room');

repeat
if not isLoggedIn() then
exit;

minimap.setAngle(MM_DIRECTION_NORTH);
SPS.walkPath(PathToMonkeys);
minimap.waitPlayerMoving();

//white floor tiles? or sps?
if countColorTolerance(123445, intToBox(1, 2, 3, 4), 123) then
exit;

until walkTimer.getTime() > 180000;

endScript('failed to walk to the monkeys within 3 minutes');
end;

procedure packManagement(); // just puts all scimmys at bottom of inv
var
x, y, i, ii, scimmySlot, freeSlot: integer;
begin

for i := 28 downto 1 do
if not tabBackPack.isItemInSlot(i) then
begin
freeSlot := i;
break;
end;

for i := 0 to high(ScimmyDTMs) do
begin
for ii := 1 to 28 do
if findDTM(ScimmyDTMs[i], x, y, tabBackPack.getSlotBox(ii)) then
begin
scimmySlot := ii;
break;
end;
if scimmySlot <> 0 then
break;
end;

if scimmySlot < freeSlot then
tabBackPack.dragSlot(scimmySlot, freeSlot);

end;

function isGreeGreeEquipped(): boolean
var
x, y, GGslot: integer;
begin

if findDTM(GreeGreeDTM, x, y, tabBackPack.getBounds()) then
begin
GGslot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(GGslot, MOUSE_LEFT);
wait(randomRange(1234, 3210));
end;

result := not findDTM(GreeGreeDTM, x, y, tabBackPack.getSlotBox(GGslot));

if not result then
begin
gameTabs.openTab(TAB_EQUIPMENT);
result := findDTM(GreeGreeDTM, x, y, tabBackPack.getBounds());
gameTabs.openTab(TAB_BACKPACK);
end;

if not result then
endScript('Couldn''t find Gorilla Greegree');
end;

function isStaffEquipped(): boolean;
var
x, y, staffSlot:integer;
begin
gameTabs.openTab(TAB_BACKPACK);

if findDTM(FireStaffDTM, x, y, tabBackPack.getBounds()) then
begin
staffSlot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(staffSlot, MOUSE_LEFT);
wait(randomRange(1234, 3210));
end;

result := not findDTM(FireStaffDTM, x, y, tabBackPack.getSlotBox(staffSlot));

if not result then
begin
gameTabs.openTab(TAB_EQUIPMENT);
result := findDTM(FireStaffDTM, x, y, tabBackPack.getBounds());
gameTabs.openTab(TAB_BACKPACK);
end;

if not result then
DoAlching := false;
end;

function countNatures(): integer;
var
x, y, natSlot: integer;
begin

if findDTM(NatureDTM, x, y, tabBackpack.getBounds()) then
begin
natSlot := tabBackpack.pointToSlot(point(x, y));
result := getItemAmount(tabBackpack.getSlotBox(natSlot))
end else
begin
writeLn('Couldn''t find nature runes in backpack - setting alching to false');
DoAlching := false;
end;

end;

procedure alchScimmys();
var
x, y, i, ii: integer;
begin

if countNatures() < 2 then
exit;

if not isStaffEquipped() then
exit;

for i := 2 to high(ScimmyDTMs) do // rune/dragon only
begin
for ii := 1 to 28 do
if findDTM(ScimmyDTMs[i], x, y, tabBackPack.getSlotBox(ii)) then
begin
tabBackpack.mouseSlot(ii, MOUSE_MOVE);
wait(gaussRangeInt(600, 750));
sendKeys(ALCH_KEY_BIND, 250, 55);
wait(gaussRangeInt(275,425));

if isMouseOverText(['ast', 'igh'], 500) then
begin
fastClick(MOUSE_LEFT);
wait(gaussRangeInt(678, 1165));
end;
end;
end;

if not isGreeGreeEquipped() then
endScript('Couldn''t re-equip the Gorilla GreeGree');

end;

procedure dropScimmys();
begin
//code
end;

procedure dropLobsters();
begin
//code
end;

procedure manageJunk();
var
x, y, i, totalScimmys, scimmyToDrop, scimmyToAlch: integer;
begin

for i := 0 to 1 do
scimmyToDrop := scimmyToDrop + tabBackpack.countDTM(ScimmyDTMs[i]); // mith + addy

for i := 2 to 3 do
scimmyToAlch := scimmyToAlch + tabBackpack.countDTM(ScimmyDTMs[i]);

if (tabBackpack.count() > 26) and ((scimmyToDrop + scimmyToAlch) <= 5) then
dropLobsters();

if scimmyToDrop > randomRange(1, 5) then
dropScimmys();

if scimmyToAlch > randomRange(4, 7) then
alchScimmys();

end;

function eatFood(): boolean;
var
x, y, lobSlot: integer;
begin

if findDTM(LobsterDTM, x, y, tabBackpack.getBounds()) then
begin
lobSlot := tabBackpack.pointToSlot(point(x, y));
tabBackpack.mouseSlot(lobSlot, MOUSE_LEFT);
wait(randomRange(2351, 3213));
result := not tabBackPack.isItemInSlot(lobSlot);
end;

end;

procedure checkHP();
begin

if actionBar.getHPPercent() < EAT_AT_PERCENT then
repeat
if not eatFood() then
break;
until actionBar.getHPPercent() >= EAT_AT_PERCENT;

end;

function isPlayerStunned(): boolean;
var
p: TPoint := mainscreen.playerPoint;
greenTPA, redTPA: TPointArray;
begin
findColorsTolerance(greenTPA, 51306, intToBox(p.x - 10, p.y - 40, p.x + 20, p.y + 20), 66);
findColorsTolerance(redTPA, 331429 , intToBox(p.x - 20, p.y - 40, p.x + 20, p.y + 20), 58);

greenTPA.combine(redTPA);
result := (length(greenTPA) > 30);
end;

function isInJail(): boolean;
var
pos: TPoint;
jailBox: TBox;
begin
pos := SPS.getPlayerPos();
jailBox := intToBox(100, 100, 300, 300);
result := pointInBox(pos, jailBox);
end;

function findJailDoor(): boolean;
begin
result := mayorObjectFinder(JAIL_LOCK_COLOUR, JAIL_LOCK_TOL, JAIL_LOCK_HUE, JAIL_LOCK_SAT, 10, 10, MOUSE_RIGHT, ['ail Door'], ['ick-lock'], false);
end;

procedure pickJailDoor();
var
jailTimer: TTimeMarker;
begin

if isInJail() then
begin
mouse(minimap.cx - 60, minimap.cy - 60, 6, 6, MOUSE_LEFT); // run to top/left corner next to door
minimap.waitPlayerMoving();

jailTimer.start();

repeat

if findJailDoor() then
wait(randomRange(3952, 5309));

if jailTimer.getTime() > 25000 then
mouse(minimap.cx - 60, minimap.cy - 60, 6, 6, MOUSE_LEFT);

until chatbox.findTextOnLines(['You manage to pick the lock.'], [0..1]) or (jailTimer.getTime() > 40000);
end;

end;

function punchOrPickpocket(punch: boolean):boolean;
var
chooseOption: array of string;
begin

if punch then
chooseOption := ['unch']
else
chooseOption := ['ickpocket'];

mayorObjectFinder(MKF_COLOUR, MKF_TOL, MKF_HUE, MKF_SAT, 10, 10, MOUSE_RIGHT, ['onkey'], chooseOption, false);

end;

procedure mainLoop();
var
i: integer;
stunTimer: TTimeMarker;
begin

if tabBackpack.count() >= randomRange(20, 28) then
manageJunk();

if not isPlayerStunned() then
if punchOrPickpocket(true) then
begin
stunTimer.start();

for i := 0 to 1 do
if not isPlayerStunned() then
punchOrPickpocket(false)
else
begin
repeat
wait(randomRange(239, 659));
checkHP();
antiBan();
until (not isPlayerStunned()) or (stunTimer.getTime() > randomRange(2000, 3000));
break;
end;
end;

checkHP();
packManagement();

if isInJail() then
begin
pickJailDoor();
walkToMonkeys();
end;

end;

procedure setup();
begin

smartEnableDrawing := true;
disableSRLDebug := not ENABLE_DEBUG;
setupSRL();

players.Setup([NICKNAME], PLAYER_FILE);
currentPlayer := 0;

{ SPS maps and paths setup }
//download map
//PathToMonkeys := [];
//sps.setup('MKF_ATOLL', RUNESCAPE_OTHER, 4, 600.0, 0.40);
//spsAnyAngle := true;


{ Load the DTMs }
//ScimmyDTMs := []; {mithril, adamant, rune, dragon}
//GreeGreeDTM := DTMFromString('');
//FireStaffDTM := DTMFromString('');
//NatureDTM := DTMFromString('');
//LobsterDTM := DTMFromString('');



{ Initialise breaking variables }
resetBreakTimer();
TotalBreakTime.start();
TotalBreakTime.pause();

DoAlching := ALCH_SCIMMYS;

end;

begin
clearDebug();
autoUpdateMe();
addonTerminate('freeTheDtms');
setup();


repeat
if not isLoggedIn() then
begin
players[currentPlayer].login();
mainscreen.setAngle(MS_ANGLE_HIGH);
findRandoms();
end;

mainLoop();
until false;

end.

RlagkRud

2014-06-07 12:57:02

From: The Mayor
TK lent me one but it only had 50 theiving :( then Kasi lent one but it only had ninja greegree not the gorilla one :( I will probably just use this acc to make one. If it's too time consuming then I'll let you know.


EDIT: Done a bit more after work. Just realised you need the quest 'Do No Evil' to actually pick pocket them :( Kasi's account hasn't done it yet so I will need yours.



I have all the prereqs done so just PM me when you need it.

afl106

2014-06-10 09:23:25

looking for a simple auto typer, many of the ones ive tried dont work, the client opens but no text is typed in the actual client, ive looked every where to solve the problem but not sure?

Gunner

2014-06-10 14:24:04

A dungeoneering script pl0x! Derp! But no, seriously, a dungeoneering script. More specifically, a dungeoneering-leeching script. I've written a simple antiban-only script for training my dungeon noobs. All it does is antiban once a minute. The problem is, it won't complete dungeons, it just stands there…doing antiban. :blink: So I have to break into the script at the end of every dungeon, click the gatestone portal, click the ladder, wait through the token/XP screen, then re-enable the script on the next floor. Training 4 accounts at once this gets rather cumbersome.

The only thing a complete script would need beyond the antiban, is the ability to click the portal, the ladder, the prompts to leave the floor and wait through the XP screen without it thinking it's logged out. Oh, and it would also need the ability to read the chatbox, which I know is broken right now. Maybe we could convince @Olly to release his fix for this?

The portal and ladder should just be simple DTMs, I think. The prompts to leave would be simple enough as well. The XP screen would be a bit more invovled, as the bot always thinks it's logged out when it gets to this screen. Perhaps an include for this screen to prevent that?

As for the chatbox, when the group leader gets to the ladder and exits, it send a message (5 minutes until dungeon ends). That would be the scripts que to exit via that portal/ladder. Also, once the chatbox is fixed, we could give the bots the ability to hold conversations with each other while the human is running the dungeon. I can only imagine the hilarity that would ensue.

The Mayor

2014-06-10 17:24:56

From: afl106
looking for a simple auto typer, many of the ones ive tried dont work, the client opens but no text is typed in the actual client, ive looked every where to solve the problem but not sure?


http://villavu.com/forum/showthread.php?t=109082

From: Gunner
A dungeoneering script pl0x! Derp! But no, seriously, a dungeoneering script. More specifically, a dungeoneering-leeching script. I've written a simple antiban-only script for training my dungeon noobs. All it does is antiban once a minute. The problem is, it won't complete dungeons, it just stands there…doing antiban. :blink: So I have to break into the script at the end of every dungeon, click the gatestone portal, click the ladder, wait through the token/XP screen, then re-enable the script on the next floor. Training 4 accounts at once this gets rather cumbersome.

The only thing a complete script would need beyond the antiban, is the ability to click the portal, the ladder, the prompts to leave the floor and wait through the XP screen without it thinking it's logged out. Oh, and it would also need the ability to read the chatbox, which I know is broken right now. Maybe we could convince @Olly to release his fix for this?

The portal and ladder should just be simple DTMs, I think. The prompts to leave would be simple enough as well. The XP screen would be a bit more invovled, as the bot always thinks it's logged out when it gets to this screen. Perhaps an include for this screen to prevent that?

As for the chatbox, when the group leader gets to the ladder and exits, it send a message (5 minutes until dungeon ends). That would be the scripts que to exit via that portal/ladder. Also, once the chatbox is fixed, we could give the bots the ability to hold conversations with each other while the human is running the dungeon. I can only imagine the hilarity that would ensue.


This is easier than you think. Just find and click the colours of the portal/ladder (findColorTolerance) and then click the buttons on that xp screen (mouseBox). Might have to do some minimap stuff to run close to portal/ladder. While you're waiting for chatbox text to be fixed you could simply look for the colour of text. So when you finish a dungeon you say anything and the leech will recognise blue text in chatbox and go to portal.

Gunner

2014-06-10 21:20:32

From: The Mayor
then click the buttons on that xp screen (mouseBox).


The problem with this is that SMART thinks we got logged out at this point because the entire RS window disappears. Isn't the bot going to ignore all script procedures until it sees the RS window again?

Everything else you said was right on. I like your idea of looking for the color of the text, rather than the substance of the text. Thanks for the suggestions.

Ian

2014-06-10 21:32:44

From: Gunner
The problem with this is that SMART thinks we got logged out at this point because the entire RS window disappears. Isn't the bot going to ignore all script procedures until it sees the RS window again?

Everything else you said was right on. I like your idea of looking for the color of the text, rather than the substance of the text. Thanks for the suggestions.

Only if you call loginPlayer once you're in the XP screen, but there's no reason to do that.

Gunner

2014-06-10 22:12:38

From: BMWxi
Only if you call loginPlayer once you're in the XP screen, but there's no reason to do that.


This is my main loop from my leech script. This would see us as logged out each time the XP screen came up.


begin //main loop
DisableSRLDebug:= true;
smartEnableDrawing := true;
begin
smartPlugins := ['d3d9.dll'];
setupSRL();
bmp := bitmapFromClient(0, 0, getClientBounds().x2 -1, getClientBounds().y2 -1);
//debugBitmap(bmp);
freeBitmap(bmp);
end;

declarePlayers();

repeat
if not isLoggedIn() then
begin
players[currentPlayer].login();
WriteLn('Logging in...please wait');
Wait(GaussRangeInt(2500, 3500));
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
WriteLn('Looking at the pretty colors...');
Wait(GaussRangeInt(2500, 3500));
WriteLn('Is my helmet on straight?...');
Wait(GaussRangeInt(2500, 3500));
WriteLn('OK, here we go!');
end;
WriteLn('Trying antiban');
Antiban;
WriteLn('Antiban complete');
Wait(GaussRangeInt(2500, 6500));
until false

end.

So would I just need to move the "if not…logged in" outside of the repeat?

Ian

2014-06-10 22:32:40

From: Gunner
This is my main loop from my leech script. This would see us as logged out each time the XP screen came up.


begin //main loop
DisableSRLDebug:= true;
smartEnableDrawing := true;
begin
smartPlugins := ['d3d9.dll'];
setupSRL();
bmp := bitmapFromClient(0, 0, getClientBounds().x2 -1, getClientBounds().y2 -1);
//debugBitmap(bmp);
freeBitmap(bmp);
end;

declarePlayers();

repeat
if not isLoggedIn() then
begin
players[currentPlayer].login();
WriteLn('Logging in...please wait');
Wait(GaussRangeInt(2500, 3500));
minimap.setAngle(MM_DIRECTION_NORTH);
mainScreen.setAngle(MS_ANGLE_HIGH);
WriteLn('Looking at the pretty colors...');
Wait(GaussRangeInt(2500, 3500));
WriteLn('Is my helmet on straight?...');
Wait(GaussRangeInt(2500, 3500));
WriteLn('OK, here we go!');
end;
WriteLn('Trying antiban');
Antiban;
WriteLn('Antiban complete');
Wait(GaussRangeInt(2500, 6500));
until false

end.

So would I just need to move the "if not…logged in" outside of the repeat?

I'd remove it completely. For any normal RS script you want it, but if you log out while dungeoneering you're kicked from the party and can't rejoin, so it doesn't serve the purpose of extending the run of the script in the case of a disconnection or 6 hour limit.

Gunner

2014-06-10 23:30:08

From: BMWxi
I'd remove it completely. For any normal RS script you want it, but if you log out while dungeoneering you're kicked from the party and can't rejoin, so it doesn't serve the purpose of extending the run of the script in the case of a disconnection or 6 hour limit.


I see your point. Good call.

FYI though, as long as your party is still in the same dungeon you can rejoin even if you log out. There were many times this script would crash and log out and I would have to manually rejoin. As long as you didn't actually leave the dungeon before logging out, you can get right back in with no penalty.

The Mayor

2014-06-11 01:33:11

From: Gunner
I see your point. Good call.

FYI though, as long as your party is still in the same dungeon you can rejoin even if you log out. There were many times this script would crash and log out and I would have to manually rejoin. As long as you didn't actually leave the dungeon before logging out, you can get right back in with no penalty.


You could easily code that in too.

if not onXpScreen() and not isLoggedIn() then

Gunner

2014-06-11 02:18:58

From: The Mayor
You could easily code that in too.

if not onXpScreen() and not isLoggedIn() then


XpScreen may be a project for me in the future, but for the time being, I like BMWxi's idea of simply removing isLoggedIn. It's really not a feature that's needed in a leech script.

In all honesty though, speaking from someone's who's been scripting for all of like, 2 months, it seems like all the pieces for a full dungeoneering script already exist here. Combat scripts could be adapted for the monsters/bosses, fishing, cooking, mining, etc. all could be adapted. I think walking would be the toughest part, but even then there are only so many room designs. Surely we could get SPS set up for the basic layouts. DTMs for the puzzles…IDK I'm kinda rambling, it's 2AM. I may take up the challenge. I'll probably fail miserably, but in the process I would have to learn nearly every single facet of SRL and Simba. And that's surely not a bad thing.

The Mayor

2014-06-11 21:02:56

Ok done a bit more today. Pretty much ready for the testing stage but still need an account with all requirements. Turp sent me his but it got jag :( RlagkRud if you're still keen wanna PM me?



EDIT: NVM, got rid of jag!



EDIT 2: After quite a few tweaks the script is working fine. Escaping from jail, eating, dropping etc. allgood. I accidentally high alched my greegree while working on the alching which delayed things a bit… :(

XP pretty good if you trap the monkey in that spot


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. 1) ||
|| ||
|| Time running: 06m 14s ||
|| Pickpockets: 116 | Stuns: 5 ||
|| Theiving XP: 17430 (167651 PH) ||
|| Alch profit: 0 (0 PH) ||
|| Jail escapes: 0 ||
|| Time until break: 1h 38m 28s ||
|| Breaks taken: 0 (0 h & 0 m) ||
||-------------------------------------||


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. 1) ||
|| ||
|| Time running: 35m 23s ||
|| Pickpockets: 480 | Stuns: 71 ||
|| Theiving XP: 71990 (122045 PH) ||
|| Food eaten: 16 ||
|| Dropped: 6 scimmys & 4 lobsters ||
|| Items alched: 0 | Profit: 0 ||
|| Jail escapes: 1 ||
|| Time until break: 1h 16m 6s ||
|| Breaks taken: 0 (0 h & 0 m) ||
||-------------------------------------||

beefman

2014-06-12 18:01:12

From: Robert
AIO fighter and banker pl0x













actually a Woodcutting trainer that cuts trees based off your woodcutting level around faledor, used to be a powerbot script like this.

you would start it anywhere near fally and it would find the best tree for your level. When you can cut the next best tree it will bank and look for the best possible ax. So essentially you start the script at 9:00PM one night, wake up and the script is cutting willows :)


I like this idea as well/vouch for it, but perhaps turn the logs into shafts as well so you are, leveling woodcutting, leveling fletching and making money without banking

The Mayor

2014-06-12 21:39:02

Ok an update:

Everything seems to be working


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. 1) ||
|| ||
|| Time running: 01h 15m 39s ||
|| Pickpockets: 1137 | Stuns: 134 ||
|| Theiving XP: 170532 (135226 PH) ||
|| Items alched: 2 | Profit: 30720 ||
|| Dropped: 4 scimmys | 14 lobsters ||
|| Food eaten: 31 ||
|| Jail escapes: 1 ||
|| Time until break: 0h 9m 43s ||
|| Breaks taken: 0 (0 h & 0 m) ||
||-------------------------------------||

Just a few more things to do before I release it. I'm gonna make it automatically attempt to trap a monkey so it gets the best xp/h. I think 150k/h is the most human like (although I could make it 200k+ if I blast the speed :p). I'll also add in time to next level and other a few other things.

Ashaman88

2014-06-12 22:26:15

From: The Mayor
Ok an update:

Everything seems to be working


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. 1) ||
|| ||
|| Time running: 01h 15m 39s ||
|| Pickpockets: 1137 | Stuns: 134 ||
|| Theiving XP: 170532 (135226 PH) ||
|| Items alched: 2 | Profit: 30720 ||
|| Dropped: 4 scimmys | 14 lobsters ||
|| Food eaten: 31 ||
|| Jail escapes: 1 ||
|| Time until break: 0h 9m 43s ||
|| Breaks taken: 0 (0 h & 0 m) ||
||-------------------------------------||

Just a few more things to do before I release it. I'm gonna make it automatically attempt to trap a monkey so it gets the best xp/h. I think 150k/h is the most human like (although I could make it 200k+ if I blast the speed :p). I'll also add in time to next level and other a few other things.


Add in a super speed option if users want to no life :)

The Mayor

2014-06-12 22:35:01

From: Ashaman88
Add in a super speed option if users want to no life :)


I'm also gonna add in banana tree picking if they run out of food :D

EDIT: Pretty much done! I just want to tweak a few more things then the big stress test.


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. B1) ||
|| ||
|| Time running: 15m 05s ||
|| Pickpockets: 299 | Stuns: 21 ||
|| Theiving XP: 44850 (178281 PH) ||
|| To Level 95: 48949 (0h & 16m) ||
|| Items alched: 0 | Profit: 0 ||
|| Dropped: 2 scimmys | 12 lobsters ||
|| Food eaten: 6 ||
|| Bananas picked & eaten: 0 ||
|| Jail escapes: 0 ||
|| Time until break: 0h 2m 42s ||
|| Breaks taken: 0 (0h & 0m) ||
||-------------------------------------||



EDIT2: I think it's done. It supports staff of fire, battle staff and mystic for the alching. Tossing up weather to release it junior+ or public.


||-------------------------------------||
|| Mayor Monkey Pilferer (Rev. B1) ||
|| ||
|| Time running: 04h 35m 09s ||
|| Pickpockets: 4079 | Stuns: 432 ||
|| Theiving XP: 611825 (133415 PH) ||
|| To Level 97: 916618 (6h & 52m) ||
|| Items alched: 12 | Profit: 118368 ||
|| Dropped: 24 scimmys | 136 lobsters ||
|| Food eaten: 68 ||
|| Bananas picked & eaten: 0 ||
|| Jail escapes: 3 ||
|| Time until break: 0h 6m 31s ||
|| Breaks taken: 3 (0h & 20m) ||
||-------------------------------------||

The Mayor

2014-06-15 08:09:53

Excuse double post. Has anyone got less than 80 theiving (but more than 70, obviously!) and is willing to lend their account for a wee bit?


The Mayor

2014-06-24 00:17:15

Thought I'd give an update! I've probably got about 10m XP testing it so far and I'm happy with it, so I'm ready to release revision 1. I just need to make the thread and the pretty banner.

Reliquin95726

2014-06-27 12:28:14

perhaps you'd be willing to make a WC script that goes for regular or oak logs, been looking for one but all there is is willow and ivy >.< cutting logs then banking would be nice, regular logs could probably be done outside draynor.

E: i actually just noticed that there is 3 oak trees right next to the cabbage area outside of lumbridge, I dont know alot about scripting really but it would make a good spot to farm the trees -> run to combat academy -> deposit logs -> repeat. Not sure if that would be a good area though.

E2: Sorry for all the edits, but i wasnt aware the draynor had a large grouping of oak tree's right next to the bank. just trying to give location ideas if your willing to try to make one.

The Mayor

2014-06-28 07:52:55

From: Reliquin95726
perhaps you'd be willing to make a WC script that goes for regular or oak logs, been looking for one but all there is is willow and ivy >.< cutting logs then banking would be nice, regular logs could probably be done outside draynor.

E: i actually just noticed that there is 3 oak trees right next to the cabbage area outside of lumbridge, I dont know alot about scripting really but it would make a good spot to farm the trees -> run to combat academy -> deposit logs -> repeat. Not sure if that would be a good area though.

E2: Sorry for all the edits, but i wasnt aware the draynor had a large grouping of oak tree's right next to the bank. just trying to give location ideas if your willing to try to make one.


Strangely enough we were talking about an oak script the other day as there is a location in f2p which makes about 200k+ p/h. Oaks are very hard to script in colour though. The trunks are the only 'clickable' part of the tree and the green leaves block the trunk if on a high mainScreen angle. You could do low angle, but then it's hard to differentiate normal trees, oak trees, and near/far trees. It's doable, but I don't have the time to put the effort in atm.

Haxz

2014-06-28 08:25:46

From: The Mayor
Strangely enough we were talking about an oak script the other day as there is a location in f2p which makes about 200k+ p/h. Oaks are very hard to script in colour though. The trunks are the only 'clickable' part of the tree and the green leaves block the trunk if on a high mainScreen angle. You could do low angle, but then it's hard to differentiate normal trees, oak trees, and near/far trees. It's doable, but I don't have the time to put the effort in atm.


I'm pretty sure oaks leaves has a special color, it looks purple-pink, tiny dots all over the oaks' leaves. I made a oak cutter about a year ago, but I forgot if its for OSR or EOC. Sorry if this doesn't help lol.

Reliquin95726

2014-06-28 19:30:26

From: The Mayor
Strangely enough we were talking about an oak script the other day as there is a location in f2p which makes about 200k+ p/h. Oaks are very hard to script in colour though. The trunks are the only 'clickable' part of the tree and the green leaves block the trunk if on a high mainScreen angle. You could do low angle, but then it's hard to differentiate normal trees, oak trees, and near/far trees. It's doable, but I don't have the time to put the effort in atm.


Fair enough, only would want to try it if it wouldnt be a problem but i can see how that could cause some issues. I did have one other question/idea though. I loved your gelatinous abomination script, i planned on posting a proggy to the thread but i havnt run it long enough to get a good one yet. My main character is in the 50's on all combat stats though, so i was wondering if there was a simple script you would be able to write for a higher experience monster set that is similar to that script, that could bank and use food properly. im using bonsai fighter at the moment but im having alot of problems with it attacking 5+ monsters at the same time which plummets my health and pretty much drains my health making my exp p/h drop dramatically. sorry for the long post. im just not sure if that would be possible either.

The Mayor

2014-06-28 20:39:02

From: Reliquin95726
Fair enough, only would want to try it if it wouldnt be a problem but i can see how that could cause some issues. I did have one other question/idea though. I loved your gelatinous abomination script, i planned on posting a proggy to the thread but i havnt run it long enough to get a good one yet. My main character is in the 50's on all combat stats though, so i was wondering if there was a simple script you would be able to write for a higher experience monster set that is similar to that script, that could bank and use food properly. im using bonsai fighter at the moment but im having alot of problems with it attacking 5+ monsters at the same time which plummets my health and pretty much drains my health making my exp p/h drop dramatically. sorry for the long post. im just not sure if that would be possible either.


If you have a problem with Bonsai's script, post it on his thread :)

fumaor

2014-06-29 18:46:45

Hey bro, can you make yew woodcutting script for edgeville? with auto deposit logs. I can donate some for you ^^

Bitstamp

2014-06-30 02:43:58

Hey I'd like to request an autotyper with a good antiban (I got banned for using a simple one using just typesend and that's it)
Thanks in advance

The Mayor

2014-06-30 03:48:25

From: fumaor
Hey bro, can you make yew woodcutting script for edgeville? with auto deposit logs. I can donate some for you ^^


Sorry, not really that interesting :(

From: headeathbeheadeath
Hey I'd like to request an autotyper with a good antiban (I got banned for using a simple one using just typesend and that's it)
Thanks in advance


I don't like releasing spamming type scripts public. PM me if you want it.

Bitstamp

2014-06-30 04:02:10

From: The Mayor
Sorry, not really that interesting :(



I don't like releasing spamming type scripts public. PM me if you want it.

I understand, however I can't pm you because I am under 10 post count haha :(

The Mayor

2014-06-30 04:07:00

From: headeathbeheadeath
I understand, however I can't pm you because I am under 10 post count haha :(


I know. Leechers just leech ;)

Bitstamp

2014-06-30 04:13:19

From: The Mayor
I know. Leechers just leech ;)


haha :( could you still pm me the script or should I get my post count up with thoughtful and contributing posts first? :P

Edit: Just realised you were just messing with me about the pm thing LOL. Fair enough though

bestplox

2014-06-30 08:59:33

Hey Mayor! Could you script new Draynor willow trees chopper? The author of current script is not going to update his script for like 2 months or so. So i was thinking if you could script one which is working properly and won't stop after 30 minutes of running time.

The Mayor

2014-06-30 16:16:11

From: bestplox
Hey Mayor! Could you script new Draynor willow trees chopper? The author of current script is not going to update his script for like 2 months or so. So i was thinking if you could script one which is working properly and won't stop after 30 minutes of running time.


Coh3ns one works fine if you change like 1-2 lines of code for the MM symbols. I even posted an example on the thread.

bestplox

2014-07-01 04:01:31

From: The Mayor
Coh3ns one works fine if you change like 1-2 lines of code for the MM symbols. I even posted an example on the thread.


Sadly it is always fail to find the trees after 20-30mins of running time.

The Mayor

2014-07-01 04:52:54

From: bestplox
Sadly it is always fail to find the trees after 20-30mins of running time.


Does it run below the trees to the south?

bestplox

2014-07-01 14:10:15

From: The Mayor
Does it run below the trees to the south?


No, your fix is working fine for that problem. After script "fails to find" willow trees, i always find my account logged out near them(at chopping area).

The Mayor

2014-07-04 06:27:13

From: bestplox
No, your fix is working fine for that problem. After script "fails to find" willow trees, i always find my account logged out near them(at chopping area).


Well you've been a member her for 2 years, I'm sure you can narrow down the problem :p Enable the debug or something.

The Mayor

2014-07-04 06:38:02

From: headeathbeheadeath
haha :( could you still pm me the script or should I get my post count up with thoughtful and contributing posts first? :P

Edit: Just realised you were just messing with me about the pm thing LOL. Fair enough though


No I wasn't actually joking :p

bestplox

2014-07-12 02:43:37

From: The Mayor
Well you've been a member her for 2 years, I'm sure you can narrow down the problem :p Enable the debug or something.


The problem is that debug shows nothing at all. Spams that it can't find tree and clicks near tree. Like it finds the tree but somehow it ends up by failing to click it for 60 times.

lorenzo1970

2014-07-30 14:26:36

Yew cutter.

Mr. Roboto

2014-08-09 05:09:12

I vaguely remember, before the new RS update, that there was a script that would allow training thieving at the Rogues Den. If you could make a script that opens the safes and either dropped the gems or banked them; that would be awesome.

I am aware of your other script for 70+ thieving, but my level is not 70.

I offer myself as an assistant, although I don’t know SRL scripting I am a CS major familiar with Java. Maybe I could do some grunt work if you guide me.

The Mayor

2014-08-09 07:07:35

From: KLight
I vaguely remember, before the new RS update, that there was a script that would allow training thieving at the Rogues Den. If you could make a script that opens the safes and either dropped the gems or banked them; that would be awesome.

I am aware of your other script for 70+ thieving, but my level is not 70.

I offer myself as an assistant, although I don’t know SRL scripting I am a CS major familiar with Java. Maybe I could do some grunt work if you guide me.


WT-Fakawi's script? I'm not taking requests atm :( Just look at the tutorials and post if you got any questions :)

Mr. Roboto

2014-08-09 19:24:53

From: The Mayor
WT-Fakawi's script?

I forgot the name, I have horrible memory :P


I'm not taking requests atm :(

Ok I understand.

Just look at the tutorials and post if you got any questions :)

I ended up creating the script right after you posted. It is not as good as other scripts on the forums but I wrote it quickly and plan to improve it.

Check it out if you can: https://villavu.com/forum/showthread.php?t=109817

TylerT

2014-08-09 19:40:50

hunt swamp lizards —> run to bank
or
hunt swamp lizards —> use magic notepaper

Pls based mayor :)

tulpiuka

2014-08-11 08:35:31

I got a few ideas. What about some gold jewelry crafter. Gold bars to necklaces or gold amulets. Or silver tiara maker. With a bank option. f2p or p2p. Edgeville.

KeepBotting

2014-08-11 09:50:48

From: tulpiuka
I got a few ideas. What about some gold jewelry crafter. Gold bars to necklaces or gold amulets. Or silver tiara maker. With a bank option. f2p or p2p. Edgeville.


I've made this, just need to update for RS3.

tulpiuka

2014-08-11 15:28:52

From: KeepBotting
I've made this, just need to update for RS3.


That would be nice. As gold bars are super cheap now.. even silver bars. And with tiaras you can gain 50k xp an hour. Very cheap

Ian

2014-08-11 16:11:22

From: tulpiuka
That would be nice. As gold bars are super cheap now.. even silver bars. And with tiaras you can gain 50k xp an hour. Very cheap


I have one that's almost ready for release that crafts in Lumbridge. I just need to add optional antiban and break taking.

Here are some pictures:

http://i.imgur.com/TZFPKFn.png
http://i.imgur.com/2FmklOw.png
http://i.imgur.com/IOmwXo9.png

The Mayor

2014-08-11 17:00:18

From: tulpiuka
I got a few ideas. What about some gold jewelry crafter. Gold bars to necklaces or gold amulets. Or silver tiara maker. With a bank option. f2p or p2p. Edgeville.


Just wait for BMW to release his, it's a beast script ;)

tulpiuka

2014-08-11 17:19:56

This is so good looking. I keep telling myself it's a coincidence. New scripts got released in the past week that i was sort of looking for. But it's the third time now. I should wear a tinfoil hat.

stein3

2014-08-11 17:23:50

From: BMWxi
I have one that's almost ready for release that crafts in Lumbridge. I just need to add optional antiban and break taking.

Here are some pictures:

http://i.imgur.com/TZFPKFn.png
http://i.imgur.com/2FmklOw.png
http://i.imgur.com/IOmwXo9.png


Nice. I was just thinking of making this once I finish a lumby smelter, but I guess I'll just stick to one skill for now.

Incurable

2014-08-11 20:55:54

Eh, no idea if it's something you'd be interested in, or even if it's something that could be realistically made with Simba (is it? I'd love to know!), but I'm planning to attempt to make a complete auto-character script for OSRS in the future after I've gotten a few beginner and intermediate script ideas out of the way. The idea is that it will create a character and level it to a less suspicious level while blending in with regular non-bot looks. To do this it will…

  1. Create an account with a given e-mail.
  2. Complete tutorial island with randomised character.
  3. Grab the training sword and shield + boot spawn in the cellar so as to not look as much like a bot (possibly walk to somewhere for a cape, if so, use the home teleport to get back to Lumbridge).
  4. Train on chickens until 10ish combat (possibly with specified skill level requirements, such as 10 att, 15 str) while looting feathers.
  5. Train on cows until 20-30 combat while looting/banking enough cowhides for the next step; possibly while looting meat and cooking it from a nearby choppd + lit tree for a free food source.
  6. Walk to each shop in the world for a full set of iron/steel/black/mithril armour and scimitar dependant on the def level you ended up with.
  7. Log out.

If that sounds like something you'd be interested in, great, have at it, I'd love to see how it would be done… if not, oh well, it's just an idea. :p

pleb2k3

2014-08-13 11:20:40

To be honest this is my first response on here since re registering (forgot password lol)

Anyways I would love to see a Fighting script for better NPC's like fire giants, DRS, Dragons which would fight -> eat -> abilities -> loot (above a certain value?) -> banking????? (obviously it would depend on where people are)

If that was not possible to have banking then just a fighting and eating script would be awesome.

I no there are 3 scripts on here for fighting but they all seem for low levels which kinda sucks.

The Mayor

2014-08-13 20:26:55

From: Incurable
Eh, no idea if it's something you'd be interested in, or even if it's something that could be realistically made with Simba (is it? I'd love to know!), but I'm planning to attempt to make a complete auto-character script for OSRS in the future after I've gotten a few beginner and intermediate script ideas out of the way. The idea is that it will create a character and level it to a less suspicious level while blending in with regular non-bot looks. To do this it will…

  1. Create an account with a given e-mail.
  2. Complete tutorial island with randomised character.
  3. Grab the training sword and shield + boot spawn in the cellar so as to not look as much like a bot (possibly walk to somewhere for a cape, if so, use the home teleport to get back to Lumbridge).
  4. Train on chickens until 10ish combat (possibly with specified skill level requirements, such as 10 att, 15 str) while looting feathers.
  5. Train on cows until 20-30 combat while looting/banking enough cowhides for the next step; possibly while looting meat and cooking it from a nearby choppd + lit tree for a free food source.
  6. Walk to each shop in the world for a full set of iron/steel/black/mithril armour and scimitar dependant on the def level you ended up with.
  7. Log out.

If that sounds like something you'd be interested in, great, have at it, I'd love to see how it would be done… if not, oh well, it's just an idea. :p


Um?

From: The Mayor
I was wondering if anybody wanted a specific RS3 script that hasn't already been released.

From: The Mayor
a specific RS3 script

From: The Mayor
RS3 script

From: The Mayor
RS3


But yes, your script is possible. Each part of your script has been made in the past.



From: pleb2k3
To be honest this is my first response on here since re registering (forgot password lol)

Anyways I would love to see a Fighting script for better NPC's like fire giants, DRS, Dragons which would fight -> eat -> abilities -> loot (above a certain value?) -> banking????? (obviously it would depend on where people are)

If that was not possible to have banking then just a fighting and eating script would be awesome.

I no there are 3 scripts on here for fighting but they all seem for low levels which kinda sucks.


First post requesting me to make something for you?

Incurable

2014-08-13 22:04:32

From: The Mayor
*snip*


Ouuuchhhh!

Sorry, I just assumed that you would consider it as an RS3 script, but as the saying goes, "to assume is to make an ass out of you and me" - all me in this case. :duh:

Thank you for the answer though, it's now on my list of scripts to attempt in the future.

Tuskyman

2014-08-15 07:05:36

Start at lumbridge bank chest —–> Clears inv ——> walks to cow field (make sure for gate support) ——> fills inv with cowhide ——-> goes back to lumbridge bank chest = Profit :D

Also if you could make an al kharid tanner script that would be useful! there is an old one on this forum but it doesn't work very well (mainly the walking back and forth and detecting Ellis the tanner) so you could update that. All it does is…

Start at al kharid bank ——> clear inv ——> fill inv with cowhide ——> walk to tanner ——> tan hides into leather ——-> walk back to bank = profit

I think these scripts go well with eachother

The Mayor

2014-08-15 18:27:56

From: Tuskyman
Start at lumbridge bank chest —–> Clears inv ——> walks to cow field (make sure for gate support) ——> fills inv with cowhide ——-> goes back to lumbridge bank chest = Profit :D

Also if you could make an al kharid tanner script that would be useful! there is an old one on this forum but it doesn't work very well (mainly the walking back and forth and detecting Ellis the tanner) so you could update that. All it does is…

Start at al kharid bank ——> clear inv ——> fill inv with cowhide ——> walk to tanner ——> tan hides into leather ——-> walk back to bank = profit

I think these scripts go well with eachother


What is the common factor between pleb2k3 and yourself?

everve

2014-08-15 19:00:01

I'd really love a solid RS3 thieving script. A runecrafting script for the runespan would be awesome also!

The Mayor

2014-08-15 19:04:43

From: everve
I'd really love a solid RS3 thieving script.


Already one in my sig.



Oh wait.

ElBambinoJoe

2014-08-15 22:07:32

Maybe a Port Sarim Yew Tree Cutter, with the option of banking at the Entrana ship, or bonfire the logs. Simple and from level 80 +, good EXP and a bit of gold!

The Mayor

2014-08-15 22:10:58

From: ElBambinoJoe
Maybe a Port Sarim Yew Tree Cutter, with the option of banking at the Entrana ship, or bonfire the logs. Simple and from level 80 +, good EXP and a bit of gold!


What is the common factor between Tuskyman, pleb2k3 and yourself?

pleb2k3

2014-08-16 13:33:18

From: The Mayor
What is the common factor between Tuskyman, pleb2k3 and yourself?


I never said make it for me, I just gave an idea for a new script nothing more.

Besides I play legit fighting DRS and Dragons for the record ;)

Only thing I bot is woodcutting to get logs for fletching so it would be irrelevant to myself.

Oh and the "common factor" as you put it would be 1 post but if you the first line of my first response what does that say?

Oh and another idea for you how about a questing script that would be funny I remember seeing one on PB a while ago.

Or how about a dungeoneering script seeing as it is empty in there these are just small things.

And before you say something about me asking for the script I have done 99% of the quests sooooo it would be irrelevant to me.

Just thinking of things that could help people.

Tuskyman

2014-08-16 20:40:19

From: The Mayor
What is the common factor between pleb2k3 and yourself?


No clue tbh

The Spark

2014-08-16 22:00:50

From: Tuskyman
No clue tbh


Let me make it crystal clear for you:

When making your post, all 3 of you had:


You need to contribute to the community first before asking for scripts.

If you ask for a script as your first post it implies that you are leeching.

Tuskyman

2014-08-17 08:25:16

From: sparkyownage
Let me make it crystal clear for you:

When making your post, all 3 of you had:


You need to contribute to the community first before asking for scripts.

If you ask for a script as your first post it implies that you are leeching.


I tried coding my own one it just didn't work at all :'( I don't know why but the running between places just spazzed out, I did it all right it just didn't work. So I asked for him to make me one so I could compare the codes and see what I should have done :P

Incurable

2014-08-17 09:31:09

From: Tuskyman
I tried coding my own one it just didn't work at all :'( I don't know why but the running between places just spazzed out, I did it all right it just didn't work. So I asked for him to make me one so I could compare the codes and see what I should have done :P


If that is true, then post in the help section and we'll do what we can to help. As it is, you appear to be a leecher, and no one here likes leeching. ;)

Ross

2014-08-17 11:55:12

From: Tuskyman
Start at lumbridge bank chest —–> Clears inv ——> walks to cow field (make sure for gate support) ——> fills inv with cowhide ——-> goes back to lumbridge bank chest = Profit :D

Also if you could make an al kharid tanner script that would be useful! there is an old one on this forum but it doesn't work very well (mainly the walking back and forth and detecting Ellis the tanner) so you could update that. All it does is…

Start at al kharid bank ——> clear inv ——> fill inv with cowhide ——> walk to tanner ——> tan hides into leather ——-> walk back to bank = profit

I think these scripts go well with eachother



I have a tanner that I've been working on and actively updating in the scripts section, but there are still some bugs. Unless you're talking about mine, in which case it's more work than you think and it's a very new script.

mitchell li

2014-08-19 17:42:46

From: Tuskyman
Start at lumbridge bank chest —–> Clears inv ——> walks to cow field (make sure for gate support) ——> fills inv with cowhide ——-> goes back to lumbridge bank chest = Profit :D

Also if you could make an al kharid tanner script that would be useful! there is an old one on this forum but it doesn't work very well (mainly the walking back and forth and detecting Ellis the tanner) so you could update that. All it does is…

Start at al kharid bank ——> clear inv ——> fill inv with cowhide ——> walk to tanner ——> tan hides into leather ——-> walk back to bank = profit

I think these scripts go well with eachother


If your tanning Leather you should use the leather tanning guy in Burthorpe because he doesn't move. Ellis in Al Karid walks around and makes the script fail.

Ian

2014-08-20 14:12:24

From: tulpiuka
I got a few ideas. What about some gold jewelry crafter. Gold bars to necklaces or gold amulets. Or silver tiara maker. With a bank option. f2p or p2p. Edgeville.


Script is ready https://villavu.com/forum/showthread.php?t=109947

regzastyle

2014-08-24 23:54:46

hi im new to this site. My question to the Mayor …
im already using your Gelatinous Abomination Obliterator . its realy good. but i want to change the destination and monster target.
where can i learn to make my own bot ? could you give me link or something to read .
sorry for my bad english.

tulpiuka

2014-08-25 08:46:45

From: BMWxi
Script is ready https://villavu.com/forum/showthread.php?t=109947
A late thanks is better than never. THANK YOU SO MUCH! :)

Samson420

2014-09-03 17:46:15

if you are still taking suggestions: this could be an intresting and difficult one ^^…

a F2P Runespan script

priority on Fleshy Growth > Fire Ball > Fire Storm > Vine > Rock Fragment > Waterpool > Body Esshound
it recognizes low Rune Essence -> siphons some body Esshounds
for Anti-ban a Location switch included …

i dont know if there is something like this alrdy here, but such a script was working on Powerbot and it was awesome ^^

TylerT

2014-09-03 18:04:28

From: Samson420
if you are still taking suggestions: this could be an intresting and difficult one ^^…

a F2P Runespan script

priority on Fleshy Growth > Fire Ball > Fire Storm > Vine > Rock Fragment > Waterpool > Body Esshound
it recognizes low Rune Essence -> siphons some body Esshounds
for Anti-ban a Location switch included …

i dont know if there is something like this alrdy here, but such a script was working on Powerbot and it was awesome ^^


I don't know if its finished but Ashaman made/is working on one. It seems like you can prioritize the nodes. Worth a shot?

Samson420

2014-09-06 21:20:58

From: TylerT
I don't know if its finished but Ashaman made/is working on one. It seems like you can prioritize the nodes. Worth a shot?


thx for the Link … i ran Ashamans script, but it is outdated and only siphoning nodes, no creatures. So a new one or an Update there could be usefull …

but probably there are better projects to invest time in ^^

cbrems

2014-09-08 09:12:40

I'd also really like to see a runespan one

Ashaman88

2014-09-09 08:22:31

From: Samson420
thx for the Link … i ran Ashamans script, but it is outdated and only siphoning nodes, no creatures. So a new one or an Update there could be usefull …

but probably there are better projects to invest time in ^^


You just gots to update colors for objects - all the framework is there

acezfate

2014-09-18 03:27:05

A red spider or Fruit bat (Spawn egg/Fruit fall) summoners script would be nice to see :)

The Mayor

2014-09-18 03:50:20

From: acezfate
A red spider or Fruit bat (Spawn egg/Fruit fall) summoners script would be nice to see :)


I get asked this once a week :p I'm working on some other things at the moment.

acezfate

2014-09-18 13:42:47

From: The Mayor
I get asked this once a week :p I'm working on some other things at the moment.

Sorry didn't realize :p
Its just such a simple tedious task.
Any hints to what these things are ;o

Trollcrank

2014-09-21 08:51:19

A bush patch farmer would be nice, I tried to make one but I can't think of a good one to locate the correct patch. More specifally I was attempting to make one that uses Barberry seeds.

Teleport to Varrock
Walk southeast
harvest, supercompost, and replant
Move to next location
After the 4 bush patches TerminateScript

If you could write the part that locates the correct patch(keep in mind that there is another patch near the misalliania one) I could probably figure something out for the walking and teleporting. I already have a jumbo map made but it's untested and might need more work.

Comodo

2014-09-21 20:35:06

A script for level 1 hunters.

The Mayor

2014-09-21 20:42:05

From: acezfate
Sorry didn't realize :p
Its just such a simple tedious task.
Any hints to what these things are ;o


A GF Jegex project.

From: Trollcrank
A bush patch farmer would be nice, I tried to make one but I can't think of a good one to locate the correct patch. More specifally I was attempting to make one that uses Barberry seeds.

Teleport to Varrock
Walk southeast
harvest, supercompost, and replant
Move to next location
After the 4 bush patches TerminateScript

If you could write the part that locates the correct patch(keep in mind that there is another patch near the misalliania one) I could probably figure something out for the walking and teleporting. I already have a jumbo map made but it's untested and might need more work.


Sorry that is gibberish to me, I don't know anything about p2p.

From: JesusGP
A script for level 1 hunters.


Just out of curiosity, why do you want this ?

Trollcrank

2014-09-21 21:51:48

From: The Mayor

Sorry that is gibberish to me, I don't know anything about p2p.



http://imgur.com/PHoQTF0

The bush patch is the one with the funky green plant with a pink flower on top. The black square was my guy, I don't want people to see what I look like. The rest of the patches are just ones added in as background but as you can see they are the same color as the patch with the bush in it.

I need a way to locate that bush only, the pink flower, and avoid the other patches. If you can provide that to me I'll try and combine it with what I've got to make a script for farming. If you need to get colors in a f2p world then use the one west of the Champions' Guild(located a little south west of the Varrock loadstone, use the name to find it on the world map). If don't/can't add the colors just tell me what colors to get. I tried using the bush colors but it was too closely related to the surrounding area(EX:trees or ground).

bonsai

2014-09-21 22:43:48

From: Trollcrank
http://imgur.com/PHoQTF0

The bush patch is the one with the funky green plant with a pink flower on top. The black square was my guy, I don't want people to see what I look like. The rest of the patches are just ones added in as background but as you can see they are the same color as the patch with the bush in it.

I need a way to locate that bush only, the pink flower, and avoid the other patches. If you can provide that to me I'll try and combine it with what I've got to make a script for farming. If you need to get colors in a f2p world then use the one west of the Champions' Guild(located a little south west of the Varrock loadstone, use the name to find it on the world map). If don't/can't add the colors just tell me what colors to get. I tried using the bush colors but it was too closely related to the surrounding area(EX:trees or ground).


Well, the pink flower is unique enough, I'm assuming you need help if it's empty?

Judging from the picture if you make a CTS2 color to match the patches and do your split() with something like distance 55-60 you should end up with one huge box with all the other patches and one small box with your patch. The you can filterbetween() to get rid of the big one.

Grumble

2014-09-22 12:35:42

From: The Mayor
A GF Jegex project.



Just out of curiosity, why do you want this ?



Hunting from level 1 is so boring.I support the idea of the level 1 hunter script.

Comodo

2014-09-22 12:51:25

Just out of curiosity, why do you want this ?


So we can go 1-99 hunting with bots :D

Sulferx

2014-09-22 14:04:51

If you're still looking for ideas, I have one.

The Elf City was released today and with it came seren stones. They are basically the mining version of ivy, except even easier. The rocks last longer and respawn instantly in the same spot; no movement is required at all. On top of that, the rocks occasionally give corrupted ore, which is stackable and can be smith for xp.

They require 89 mining and give over 100k xp/hr. Here's a picture of the area for reference.

Lipcot

2014-09-22 14:41:06

From: Sulferx
If you're still looking for ideas, I have one.

The Elf City was released today and with it came seren stones. They are basically the mining version of ivy, except even easier. The rocks last longer and respawn instantly in the same spot; no movement is required at all. On top of that, the rocks occasionally give corrupted ore, which is stackable and can be smith for xp.

They require 89 mining and give over 100k xp/hr. Here's a picture of the area for reference.


this one can be done by anyone heheh , why dont you try doing it yourself? (just a suggestion) . Besides, i think the mayor does not have an account that can go in there, you need the plagues end done

Trollcrank

2014-09-22 19:02:15

From: bonsai
Well, the pink flower is unique enough, I'm assuming you need help if it's empty?

Judging from the picture if you make a CTS2 color to match the patches and do your split() with something like distance 55-60 you should end up with one huge box with all the other patches and one small box with your patch. The you can filterbetween() to get rid of the big one.


http://imgur.com/Rx2XQcP
I can't get the box to separate like you said. Therefore, I couldn't get to the point where filtering would finish it. I've tried for over 30 minutes because I didn't want to ask for more help :p


procedure ClickPatch();
var
Attempts, x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then
exit;

//repeat //if failing try 3040108 6 .23 .79 patch soil colors
if FindColorsSpiralTolerance(x, y, TPA, 3172209, mainscreen.getbounds(), 4, colorsetting(2, 0.27, 1.15)) then
begin
ATPA := SplitTPAEx(TPA, 30, 40);
MouseBox(ATPA[0].getbounds, mouse_move);
//FilterTPAsBetween(ATPA, 0, 7);
FilterTPAsBetween(ATPA, 3000, 10000);
smartImage.debugTPA(TPA, false);

if ismouseovertext(['bush']) then
begin
wait(RandomRange(100,1000));
fastclick(mouse_left);
fastclick(mouse_right);
if chooseoption.select(['Pick-from']) then
Attempts := Attempts + 1;
end; {else
ANTIBAN();
wait(RandomRange(500,1500));
//MouseBox(ATPA[0].getbounds, mouse_move);
if chooseoption.select(['Pick-from']) then
Attempts := Attempts + 1; }
end;
//until (Attempts >= 1);
end;

bonsai

2014-09-22 19:21:29

From: Trollcrank
http://imgur.com/Rx2XQcP
I can't get the box to separate like you said. Therefore, I couldn't get to the point where filtering would finish it. I've tried for over 30 minutes because I didn't want to ask for more help :p


procedure ClickPatch();
var
Attempts, x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
begin
if not isLoggedIn() then
exit;

//repeat //if failing try 3040108 6 .23 .79 patch soil colors
if FindColorsSpiralTolerance(x, y, TPA, 2643557, mainscreen.getbounds(), 8, colorsetting(2, 0.22, 0.21)) then
begin
ATPA := SplitTPAEx(TPA, 30, 40);
MouseBox(ATPA[0].getbounds, mouse_move);
//FilterTPAsBetween(ATPA, 0, 7);
FilterTPAsBetween(ATPA, 3000, 10000);
smartImage.debugTPA(TPA, false);

if ismouseovertext(['bush']) then
begin
wait(RandomRange(100,1000));
fastclick(mouse_left);
fastclick(mouse_right);
if chooseoption.select(['Pick-from']) then
Attempts := Attempts + 1;
end; {else
ANTIBAN();
wait(RandomRange(500,1500));
//MouseBox(ATPA[0].getbounds, mouse_move);
if chooseoption.select(['Pick-from']) then
Attempts := Attempts + 1; }
end;
//until (Attempts >= 1);
end;


Try tpa.split(55) instead of SplitTPAEx(TPA, 30, 40);

That means to put any points within distance 55 of each other into the same sub-array

With the x,y style breakdown you're going to end up with a bunch of roughly 30x40 boxes.

Trollcrank

2014-09-22 20:11:36

From: bonsai
Try tpa.split(55) instead of SplitTPAEx(TPA, 30, 40);

That means to put any points within distance 55 of each other into the same sub-array

With the x,y style breakdown you're going to end up with a bunch of roughly 30x40 boxes.


You're the boss then. I'm going to do that now and edit this post with the outcome soon.

Edit: It didn't work. I messed around with the number and it still didn't work. It still looks like the original picture with the giant box. I'm thinking about reinstalling simba or something cuz I just can't imagine an expert being wrong

The Mayor

2014-09-22 21:36:50

From: Trollcrank
You're the boss then. I'm going to do that now and edit this post with the outcome soon.

Edit: It didn't work. I messed around with the number and it still didn't work. It still looks like the original picture with the giant box. I'm thinking about reinstalling simba or something cuz I just can't imagine an expert being wrong


Pick the dirt, ATPA := TPA.cluster(15) and sort the ATPA from the right side of the screen (sortFromMidPoint) so the patch on the right will be ATPA[0].

bonsai

2014-09-23 02:25:26

From: Trollcrank
You're the boss then. I'm going to do that now and edit this post with the outcome soon.

Edit: It didn't work. I messed around with the number and it still didn't work. It still looks like the original picture with the giant box.


Keep digging, you're getting there. Once you fight through a couple of these they get a lot easier.

Did you change the smartImage.debugTPA() to smartImage.debugATPA(atpa)? You are turning tpa (a large list of points) into atpa (an array of smaller lists of points). If you debug tpa you can't see how the split broke it into sub-objects, you want to debug the atpa.

Visually, the plot you want is more distant from the other patches than they are to each other. There should be some splitting distance that groups the other three patches together and leaves your patch in a separate object. The mayor's suggestion will work too as long as the view is fixed.

I'm thinking about reinstalling simba or something cuz I just can't imagine an expert being wrong


  1. Experts are wrong all the time. Question everything!
  2. Drinking poison is not a good way to fix a belly ache. Don't go deleting your simba and srl if everything seems to be working fine except your script code :)
  3. I'm not much of an expert at simba. Every day I'm finding things I hadn't discovered or understood. I'm just a learner at this like many of the daily posters. Trying to help with things like this is part of my learning process too.

Trollcrank

2014-09-24 16:59:16

From: bonsai
Did you change the smartImage.debugTPA() to smartImage.debugATPA(atpa)?

Visually, the plot you want is more distant from the other patches than they are to each other. There should be some splitting distance that groups the other three patches together and leaves your patch in a separate object. The mayor's suggestion will work too as long as the view is fixed.



  1. Experts are wrong all the time. Question everything!
  2. Drinking poison is not a good way to fix a belly ache. Don't go deleting your simba and srl if everything seems to be working fine except your script code :)
  3. I'm not much of an expert at simba. Every day I'm finding things I hadn't discovered or understood. I'm just a learner at this like many of the daily posters. Trying to help with things like this is part of my learning process too.


Sorry for the late reply, I was busy fixing some problems with a script I had already released yesterday :redface:

Great, it worked!!! However, I'm not sure how to decide which box to pick..The one I want is box 1 atm but I think I'll try doing what the mayor said.

When I mentioned deleting simba it was due to the skill checking not working either and I thought perhaps it was my download.

Edit: The mayor's idea of sorting from the midpoint worked. Both of you, thank you very much.

xSorrels

2014-09-25 20:31:19

NEW REQUEST

TheMayorsRCer

The Mayor! (:

Ive seen you around and feel youre super trust worthy making scripts.

Instead of lending you an account of mine, how about I just give you a Bond? (:

So, Ive noticed RS3 only has a few Runecrafting scripts, and to my goal/90 takes approx. 1k+ hours using them. -.-

Im okay with Buttdestroyrs Aircrafter, although, again, 1k+ hours.

If you could make something to maximize RC XP would be awesome! (:

My current RC lvl is 40, and I will continue to use this Aircrafter until suggested another option. Which crafts Air Runes in Varrock.

Lol, im lazy!

Maybe laws? Abyss? or lower Runespan Siphons? (Not too familiar with RC these days, so you suggest as well.) (:

Thanks Mayor! <3

EDIT:
Not Familiar with scripting what so ever. But know HTML if that helps. :P

Camel

2014-09-25 20:56:09

From: xsorrels
NEW REQUEST

TheMayorsRCer

The Mayor! (:

Ive seen you around and feel youre super trust worthy making scripts.

Instead of lending you an account of mine, how about I just give you a Bond? (:

So, Ive noticed RS3 only has a few Runecrafting scripts, and to my goal/90 takes approx. 1k+ hours using them. -.-

Im okay with Buttdestroyrs Aircrafter, although, again, 1k+ hours.

If you could make something to maximize RC XP would be awesome! (:

My current RC lvl is 40, and I will continue to use this Aircrafter until suggested another option. Which crafts Air Runes in Varrock.

Lol, im lazy!

Maybe laws? Abyss? or lower Runespan Siphons? (Not too familiar with RC these days, so you suggest as well.) (:

Thanks Mayor! <3

EDIT:
Not Familiar with scripting what so ever. But know HTML if that helps. :P


You have about 31 posts now, and your join date is in august (it takes 30 days). So you should "achieve" the rank of SRL Junior member very soon. There may or may not be a runespan script in the SRL Junior member's section.

Ross

2014-09-25 22:03:44

From: xsorrels
…


A runespan script would be very easy to do, you should try it out! Read Mayor's guides and start from there.

Sinix

2014-09-26 17:15:22

Any of the tasks found in clan citadels would be greatly appreciated.

Some tasks like mining or cooking are simply:
1. click when ready
2. repeat

It would make maxxing each week much easier.

Thank you :)

Ross

2014-09-26 17:58:30

From: Sinix
Any of the tasks found in clan citadels would be greatly appreciated.

Some tasks like mining or cooking are simply:
1. click when ready
2. repeat

It would make maxxing each week much easier.

Thank you :)


Sounds easy enough to do on your own! Read the tutorials and contribute :)
People around here would definitely appreciate your effort!

xCrazyGuyNL

2014-11-10 17:31:29

Al-Kharid Cowhide Tanner

The Mayor

2014-11-10 22:58:47

From: xCrazyGuyNL
Al-Kharid Cowhide Tanner


Plenty of tanners in junior+

victordono

2014-11-10 23:49:25

Theres that new crafting in elf city, you just click on the harp and retune it before it hits 100%, the warnings of how " out of tune " your harp is appears in the chat box

The Mayor

2014-11-11 02:43:14

From: victordono
Theres that new crafting in elf city, you just click on the harp and retune it before it hits 100%, the warnings of how " out of tune " your harp is appears in the chat box


If you're referring to the tanner request, no one tans for crafting xp ;)

victordono

2014-11-11 03:41:23

From: The Mayor
If you're referring to the tanner request, no one tans for crafting xp ;)


haha nope nope , but its okay since i noticed clarity made one :) the harps

xCrazyGuyNL

2014-11-11 19:14:51

From: The Mayor
Plenty of tanners in junior+


Alright, guess i have to wait then :D

tulpiuka

2014-11-12 06:20:38

Hmm, what about Body rune runecrafter? I sold all my body runes on g.e for about 200 each.. half a year ago they we're 5-10gp each now 200? What has caused such a rise in their price? Anyway demand is HUGE and supply is almost nonexistent.

I've did some calculations, 92 rc makes 600k-1m gp an hour. 46 rc makes 300k to 700k an hour. and 20 rc makes around 120k to 300k. Rune prices can be anywhere from 100gp to 200 or more. Anyway around 1m gp an hour in f2p is insane. even with 46 rc 700k is not too bad.

Incurable

2014-11-12 08:51:41

From: tulpiuka
Hmm, what about Body rune runecrafter? I sold all my body runes on g.e for about 200 each.. half a year ago they we're 5-10gp each now 200? What has caused such a rise in their price? Anyway demand is HUGE and supply is almost nonexistent.

I've did some calculations, 92 rc makes 600k-1m gp an hour. 46 rc makes 300k to 700k an hour. and 20 rc makes around 120k to 300k. Rune prices can be anywhere from 100gp to 200 or more. Anyway around 1m gp an hour in f2p is insane. even with 46 rc 700k is not too bad.


I doubt they're going to stay at that price for long, the average GE price is only 54gp.

tulpiuka

2014-11-13 04:18:32

Good luck buying them for 54gp. I've set it for a week and it didn't buy one rune. It's that vis vax thing. Runes are draining from the market, especially the ones like body runes that no one makes. Well now it's almost as profitable as making natures in p2p. Or soon will be.

3Garrett3

2014-11-13 14:25:17

From: tulpiuka
Good luck buying them for 54gp. I've set it for a week and it didn't buy one rune. It's that vis vax thing. Runes are draining from the market, especially the ones like body runes that no one makes. Well now it's almost as profitable as making natures in p2p. Or soon will be.


Regardless, the higher prices will soon drop the price as a lot of f2p players start diving after the >1M/hr money making. My merchanter script keeps telling me to buy them because they're in a pretty solid uptrend right now, but I keep telling it that I don't want to because I missed the start and they'll start dropping soon as people rush to squeeze money out. Maybe they'll regress to slightly higher than what they used to be, but the supply will soon catch up with the demand to bring them to a reasonable level.

Edit:

The key here is that there are still 3M body runes per day being traded and the price isn't dramatically rising. I've heard people saying that they sell for 100 or 200, but just because they'll sell a few hundred runes for that doesn't mean that they're that hard to buy. I'd say they're trading for just over market price which is why you couldn't buy them for market. They're trading above market but the daily average is only 3gp higher today than yesterday (the same rate as the last week basically) so the bulk of the 3M runes are selling for 3gp higher than market price. If you actually want to buy them, just set it 5gp above market and you should get as many as you need (note that you will probably need to be patient still, 15 minutes isn't unreasonable if you're not buying for instant-buy prices).

tulpiuka

2014-11-14 01:20:31

The maximum amount an item price can rise per day is 5%? of it's current price. 5% of 60 is 3. If body runes rise above 100 gp ill start botting them myself instead of buying lol. THey do not insta buy at 5 or 10 or 15% Nor in hours. Someone is always buying them for like 30-40% above mid price. And if u want to get any you gotta buy for 100ea at least.
That is not right, body runes shouldn't be higher than 50gp. Jagex need to fix this by increasing body rune multiplier from 3 at 92 to something like 6 at 92 because this is ridiculous.

Remember that even if runes sell insta at 100 and slower on 200, it's still great money. And if u do this on p2p with rune essence pouches, familiars.. this is better than running natures XD And i know natures don't sell instantly. Unless it's mid or below mid. While these sell anywhere from 100 insta to 300 slowly.

Ian

2014-11-14 03:00:42

From: tulpiuka

That is not right, body runes shouldn't be higher than 50gp. Jagex need to fix this by increasing body rune multiplier from 3 at 92 to something like 6 at 92 because this is ridiculous.

I disagree. If it's that profitable F2P will match the demand by crafting them. There's absolutely no reason for jagex to artificially drive the price down by changing the rate. The price will correct itself.

The Mayor

2014-11-14 03:14:30

Maybe I should release body rune crafter

TomTuff

2014-11-14 03:17:54

From: 3Garrett3
Regardless, the higher prices will soon drop the price as a lot of f2p players start diving after the >1M/hr money making. My merchanter script keeps telling me to buy them because they're in a pretty solid uptrend right now, but I keep telling it that I don't want to because I missed the start and they'll start dropping soon as people rush to squeeze money out. Maybe they'll regress to slightly higher than what they used to be, but the supply will soon catch up with the demand to bring them to a reasonable level.

Edit:

The key here is that there are still 3M body runes per day being traded and the price isn't dramatically rising. I've heard people saying that they sell for 100 or 200, but just because they'll sell a few hundred runes for that doesn't mean that they're that hard to buy. I'd say they're trading for just over market price which is why you couldn't buy them for market. They're trading above market but the daily average is only 3gp higher today than yesterday (the same rate as the last week basically) so the bulk of the 3M runes are selling for 3gp higher than market price. If you actually want to buy them, just set it 5gp above market and you should get as many as you need (note that you will probably need to be patient still, 15 minutes isn't unreasonable if you're not buying for instant-buy prices).


Release the damn merch script already!

Clarity

2014-11-14 03:31:32

From: TomTuff
Release the damn merch script already!

That's my bad, I've been slacking on getting out the GE include!

onilika

2014-11-14 03:51:53

I have a better idea.. A lumbrdige fisher, that cooks and banks :) It would fish both bait/lure, run to the bank/or chop a tree at the fishing place, and then bank it. Great exp
Would be great for my ironman!! And I would appreciate also.. I need no money, just exp!!

tulpiuka

2014-11-14 05:24:30

You ever did runecrafting legit? it's boring. U can do stuff like make clay wet for 400-800k an hour, or could before. My point is, there's afk methods that people prefer, the only ones that are going to bring body rune price down is US. And i say go for it, 100-200 per body rune is wrong.

tulpiuka

2014-11-14 05:27:29

From: The Mayor
Maybe I should release body rune crafter


Oh yes that would at least keep rune price in check.

3Garrett3

2014-11-14 22:47:36

From: TomTuff
Release the damn merch script already!


From: Clarity
That's my bad, I've been slacking on getting out the GE include!


Between one fatal Lape crash I discovered, the script is fully functional. It just needs the ability to work with the GE *cough* Clarity *cough*. Hopefully mid next week.