PDA

View Full Version : [Mining] Mocrosoft Guildminer



mocrosoft
04-18-2015, 12:19 PM
Script is up-to-date
What this script does:
This mines coal ore at the mining guild in falador.
Support Banking.
Support for multiple accounts.


Features:
100% Colour
Inventory management.
Sticks to mining guild only, does not dwell to any other places.
Human-like movements and actions.
Works for f2p and p2p.


Requirements:
Mining level of 61 is required to enter the mining guild.
I suggest a rune pickaxe in toolbelt, do not put your pickaxe in your inventory as the scripts uses the deposit all button.


How to setup this script:
Download all the maps I put in the extension and put them in your Simba\Includes\SPS\img\runescape_other
Make sure you download the script and put it in Simba\Scripts
Make sure interfaces default SRL style (Use openGL - low settings)
Have your players setup in the falador bank near the mining guild
Press play and enjoy your coal!

Attachements

guildminer.simba (https://villavu.com/forum/attachment.php?attachmentid=27248&d=1457985421)
MocrosoftGuildMinerMaps.rar (https://villavu.com/forum/attachment.php?attachmentid=27246&d=1457984174)

Spoils:

http://i.imgur.com/E0E5LDg.png

Any questions feel free to pm me



Credits:

The Mayor - Without this guy none of this would be possible
Anybody else that helped me with their posts

Proof working script:

Ln6RRWQ0BWE


been running for 2 days now Works well!

Thanks!

Hitac
04-18-2015, 01:22 PM
Nice release. Can't test because got my skiller banned and now i have a poor account to bot on :P. Wish you luck and the best on SRL Comunnity!

mocrosoft
04-18-2015, 04:34 PM
Nice release. Can't test because got my skiller banned and now i have a poor account to bot on :P. Wish you luck and the best on SRL Comunnity!

Thanks a lot man!

Turpinator
04-18-2015, 04:59 PM
Didnt test it or anything, but a few comments.

Why write your own bank opening function when a (no offense) presumably faster and better one exists in the srl include? (bankscreen.open(BANK_FALADOR) or bankscreen.open(BANK_NPC_GREY) - i think they are grey)
Why do you use global consts for the colors of things (such as ladder, bank, door), when you are really using CTS2? ideally this should all be in 1 location so if the color needs to be updated, the tolerance, as well as hue and sat modifiers can be updated easily?
Not that this one matters, but you use aantal instead of total/amount.
Why use 4 different SPS areas for only 2 maps? Perhaps you could call them 'falador' and 'mine' or something? or 'aboveground' and 'belowground'. or something to that effect.



But, overall. its nice. failsafes, etc are present. good job.

WYD
04-18-2015, 06:12 PM
SRL: Logfile = C:\Simba\Includes\SRL-6/logs/SRL log (19-04-15 at 04.11.46 AM).txt
-- setupSRL()
---- Setting up SRL...
---- attempting to spawn smart, attempt #: 1
---- initSmart():
------ Attempting to pair to a previously spawned client
------ smartPairToExistingClient():
-------- Found 1 free client(s), attempting to pair to one...
-------- Failed to pair to SMART[9276]
------ smartPairToExistingClient(): result = false
------ Attempting to spawn a new client..
------ smartCreateClient():
---------- smartGetParameters(): Succesfully grabbed paramters
-------- getJavaPath():
---------- Attempting to search for your Java path
---------- Found your java path @ C:\Program Files (x86)\Java\jre7\bin\java.exe
-------- getJavaPath()
-------- Using parameters [http://world15.runescape.com/, f7089101210165568868]
-------- Using plugins "OpenGL32.dll,d3d9.dll"
-------- Succesfully spawned a client, attempting to target
---------- smartSetAsTarget(): Succesfully set SMART[11600] as Simba's target
------ smartCreateClient(): result = true
------ Succesfully initialized via spawning a new client
---- initSmart()
------ smartSetupDrawing(): Succesfully setup SMART drawing
---- Waiting up to 5 minutes for RS to load...
------ __setInputBoxes(): Set username and password boxes
---- Client is ready.
---- Setup SRL in 25 Seconds
-- setupSRL(): True
-- TPlayer.login()
Error: Access violation at line 1039
Execution failed.
The following bitmaps were not freed: [Minimap Mask, SMART Debug Image]

It not login to RuneScape

mocrosoft
04-18-2015, 07:28 PM
SRL: Logfile = C:\Simba\Includes\SRL-6/logs/SRL log (19-04-15 at 04.11.46 AM).txt
-- setupSRL()
---- Setting up SRL...
---- attempting to spawn smart, attempt #: 1
---- initSmart():
------ Attempting to pair to a previously spawned client
------ smartPairToExistingClient():
-------- Found 1 free client(s), attempting to pair to one...
-------- Failed to pair to SMART[9276]
------ smartPairToExistingClient(): result = false
------ Attempting to spawn a new client..
------ smartCreateClient():
---------- smartGetParameters(): Succesfully grabbed paramters
-------- getJavaPath():
---------- Attempting to search for your Java path
---------- Found your java path @ C:\Program Files (x86)\Java\jre7\bin\java.exe
-------- getJavaPath()
-------- Using parameters [http://world15.runescape.com/, f7089101210165568868]
-------- Using plugins "OpenGL32.dll,d3d9.dll"
-------- Succesfully spawned a client, attempting to target
---------- smartSetAsTarget(): Succesfully set SMART[11600] as Simba's target
------ smartCreateClient(): result = true
------ Succesfully initialized via spawning a new client
---- initSmart()
------ smartSetupDrawing(): Succesfully setup SMART drawing
---- Waiting up to 5 minutes for RS to load...
------ __setInputBoxes(): Set username and password boxes
---- Client is ready.
---- Setup SRL in 25 Seconds
-- setupSRL(): True
-- TPlayer.login()
Error: Access violation at line 1039
Execution failed.
The following bitmaps were not freed: [Minimap Mask, SMART Debug Image]

It not login to RuneScape


Login manually first, go stand at falador bank near mining guild and then start your script.

Should work

mocrosoft
04-18-2015, 07:32 PM
Didnt test it or anything, but a few comments.

Why write your own bank opening function when a (no offense) presumably faster and better one exists in the srl include? (bankscreen.open(BANK_FALADOR) or bankscreen.open(BANK_NPC_GREY) - i think they are grey)
Why do you use global consts for the colors of things (such as ladder, bank, door), when you are really using CTS2? ideally this should all be in 1 location so if the color needs to be updated, the tolerance, as well as hue and sat modifiers can be updated easily?
Not that this one matters, but you use aantal instead of total/amount.
Why use 4 different SPS areas for only 2 maps? Perhaps you could call them 'falador' and 'mine' or something? or 'aboveground' and 'belowground'. or something to that effect.



But, overall. its nice. failsafes, etc are present. good job.

Hey man thanks for the feedback, I'm new here so yeah some parts might be not 100% the way it should be but,



about question number 1: The reason I wrote my own bankfunction is because I want the bot to choose random banks everytime he banks and I noticed with the bank function it took one bank over the other.

About question 2: I know I should have done that, but I just didn't want to waste more time on it, might update it later on.

Question 3: Yeah, just writing code pretty fast

Question 4: Yeah good point, but somehow it never got stuck when I used 4 of them. Not sure if it was something in my script, but Might look into that later.

Anyway, thanks again for the feedback.

WYD
04-24-2015, 09:50 AM
Hey man thanks for the feedback, I'm new here so yeah some parts might be not 100% the way it should be but,



about question number 1: The reason I wrote my own bankfunction is because I want the bot to choose random banks everytime he banks and I noticed with the bank function it took one bank over the other.

About question 2: I know I should have done that, but I just didn't want to waste more time on it, might update it later on.

Question 3: Yeah, just writing code pretty fast

Question 4: Yeah good point, but somehow it never got stuck when I used 4 of them. Not sure if it was something in my script, but Might look into that later.

Anyway, thanks again for the feedback.

---- Current mouse-over text: "Climb-up Ladder"
---- Found "limb-up" in mouse-over string: "Climb-up Ladder"
-- isMouseOverText(): Tr-- mining_guild.getPlayerPos(): result = {X = -1, Y = -1}, took 3703 ms

It login me out :-( it can't go out the Ladder

mocrosoft
04-25-2015, 01:55 PM
---- Current mouse-over text: "Climb-up Ladder"
---- Found "limb-up" in mouse-over string: "Climb-up Ladder"
-- isMouseOverText(): Tr-- mining_guild.getPlayerPos(): result = {X = -1, Y = -1}, took 3703 ms

It login me out :-( it can't go out the Ladder

Be sure that you're graphics settings are on lowest and OPENGL

WYD
04-25-2015, 02:02 PM
Be sure that you're graphics settings are on lowest and OPENGL

Yes It not doing it all the time just sometime's

mocrosoft
04-26-2015, 12:06 PM
Yes It not doing it all the time just sometime's

I'll look into it :)

WYD
04-30-2015, 04:22 AM
I'll look into it :)

No update's?

mocrosoft
04-30-2015, 07:08 PM
Almost done writing a new one, be patience please :)

WYD
05-03-2015, 05:11 AM
Almost done writing a new one, be patience please :)

I can't wait to use this :-)

mocrosoft
05-04-2015, 06:26 AM
I can't wait to use this :-)

I had a big testing moment yesterday and this script still works perfectly fine if you have the right settings. I mined about 2k coal in a few hours, no crashes or nothing.

WYD
05-04-2015, 10:29 AM
I had a big testing moment yesterday and this script still works perfectly fine if you have the right settings. I mined about 2k coal in a few hours, no crashes or nothing.
Can i plz help you test it?

The was you have atm get suck at doing Climb-up Ladder
One day it not get suck and one day it can lol

mocrosoft
05-05-2015, 07:03 PM
Can i plz help you test it?

The was you have atm get suck at doing Climb-up Ladder
One day it not get suck and one day it can lol

I already added you on skype

and if it happens again try to take a screenshot or try to replace line 350 with this :


if (Length(TPA) < 1) then
RandomCompass(0, 360, false);

WYD
05-06-2015, 10:18 AM
I already added you on skype

and if it happens again try to take a screenshot or try to replace line 350 with this :


if (Length(TPA) < 1) then
RandomCompass(0, 360, false);

like this?
http://i.imgur.com/8OE9hFD.png

WYD
05-07-2015, 04:47 AM
like this?
http://i.imgur.com/8OE9hFD.png

-- isMouseOverText(): False
-- isMouseOverText()
---- Current mouse-over text: "Climb-up Ladder"
---- Found "limb-up" in mouse-over string: "Climb-up Ladder"
-- isMouseOverText(): True

Same thing
:-(

mocrosoft
05-07-2015, 07:15 AM
-- isMouseOverText(): False
-- isMouseOverText()
---- Current mouse-over text: "Climb-up Ladder"
---- Found "limb-up" in mouse-over string: "Climb-up Ladder"
-- isMouseOverText(): True

Same thing
:-(

it says mouseovertext = true, So there is no problem

WYD
05-07-2015, 09:18 AM
it says mouseovertext = true, So there is no problem

And it stop like this.
http://i.imgur.com/EkmzdKs.png

mocrosoft
05-07-2015, 07:58 PM
And it stop like this.
http://i.imgur.com/EkmzdKs.png

Hmmm I see, I'll try adding more colors for the stairs detection, so it starts searching for multiple colors, maybe that will fix it.

WYD
05-07-2015, 11:45 PM
Hmmm I see, I'll try adding more colors for the stairs detection, so it starts searching for multiple colors, maybe that will fix it.

or add a failsafe?

mocrosoft
05-08-2015, 05:57 AM
or add a failsafe?

I Added the turning camera as a fail safe, but apparently that is not enough?

Fr3akNL
05-08-2015, 10:06 AM
I have the same thing as miningboy but it didnĀ“t rotate the camera ever. I dont know if u updated or something but ill check it out again later today

WYD
05-08-2015, 10:06 AM
I Added the turning camera as a fail safe, but apparently that is not enough?

I have no idea you have add that

karlkarlngng
05-14-2015, 04:53 PM
Some times it starts on another rock before last one is finished and is a bit slow on detecting new rocks.
Anyways it works and you put in some much appreciated time and effort, Thanks!

dodo
06-06-2015, 05:49 AM
been running for 2 days now Works well!

Thanks!

mocrosoft
06-06-2015, 09:24 AM
been running for 2 days now Works well!

Thanks!

Goodjob, have fun :)

Grimxxdeath223
06-24-2015, 12:48 PM
I had to log the script in to make it work but it is working! I may attempt to tweak it to have a timer and maybe a ores per hour counter or something. Cheers!

flakazoid
06-28-2015, 06:43 PM
Be sure that you're graphics settings are on lowest and OPENGL

Is there a particular reason for the latter half of this suggestion?

I've found that when run as suggested, the script often struggles to locate objects/rocks, as others in this thread have commented on. It functions, but often goes through several attempts and multiple camera rotations before detecting any rocks at all.

I found that upon changing settings to DirectX, the script runs much more smoothly for me.

I thank you very much for this contribution. Performs flawlessly for many hours.

mocrosoft
06-28-2015, 09:47 PM
Is there a particular reason for the latter half of this suggestion?

I've found that when run as suggested, the script often struggles to locate objects/rocks, as others in this thread have commented on. It functions, but often goes through several attempts and multiple camera rotations before detecting any rocks at all.

I found that upon changing settings to DirectX, the script runs much more smoothly for me.

I thank you very much for this contribution. Performs flawlessly for many hours.

Don't think I have it tested on directx, but it could be better as you stated, I ran it multiple hours on opengl, and didn't had any major problems, so yeah, what works best for you :) thanks for leaving a comment btw :)

geek borgel
06-29-2015, 01:06 AM
Opengl and DirectX have slightly different colors, so if this script uses colors you might want to go into ACA and change things around.

Swag Bag
06-29-2015, 01:12 AM
Make sure birghtness is all the way up I've had a problem with that before and had to rewrite all my scripts :x

WYD
11-15-2015, 04:36 AM
I have just update the color's :-)
http://i.imgur.com/5IK6vOD.png

davyfarra
11-20-2015, 09:22 PM
A couple things to note:
1. Running with DirectX does help the script find objects/ore easier.

2. The color changes suggested by miningboy11 (LADDER_DOWN_COLOR = 1068910 & BANK_BOOTH_COLOR = 7706818) helped the script when trying to locate the bank and ladder down.

With these changes in mind, the script was able to work properly with little fuss, for me at least.

WYD
11-21-2015, 02:28 PM
A couple things to note:
1. Running with DirectX does help the script find objects/ore easier.

2. The color changes suggested by miningboy11 (LADDER_DOWN_COLOR = 1068910 & BANK_BOOTH_COLOR = 7706818) helped the script when trying to locate the bank and ladder down.

With these changes in mind, the script was able to work properly with little fuss, for me at least.
I forgot to run my on DirectX lol's ahahha.

davyfarra
11-21-2015, 04:24 PM
Regardless, the script ran for a few hundred coal with these changes rather than not running at all :)

WYD
11-21-2015, 11:54 PM
Regardless, the script ran for a few hundred coal with these changes rather than not running at all :)
I think i fix it, I'm new to ACA.

| |
| 1. Have pickaxe in FIRST inventory slot or equipped |
| 2. Start near the ladders above the mining guild |
| 3. Have camera zoomed all the way out |
| 4. I recommend wearing no clothing |
\_________________________________________________ ____________________________}

{================================================= =============================\
| Features |
|================================================= =============================|
| |
| * Unlimited players * Antiban |
| * Custom script * Supports ANY pickaxe |
| * Detailed progress report * Efficient rock finding/banking |
| * Supports Coal * Plus many more! |
\_________________________________________________ ____________________________}

{================================================= =============================|
| Credits |
|================================================= =============================|
| |
| * The Mayor -> for everything |
| * Everyone who helped me on the forums/IRC |
| * Everyone who has posted progress reports and/or bugs |
\_________________________________________________ ____________________________}
program guildMiner;

{$DEFINE SMART} // Always have this to load smart
{$I SRL-6/SRL.simba} // To load the SRL include files
{$I SPS/lib/SPS-RS3.Simba} // To load the SPS include files


const
SCRIPT_VERSION = '1';
const
COAL_ORE_COLOR = 2303783;
LADDER_DOWN_COLOR = 2382973;
LADDER_UP_COLOR = 4346199;
IRON_DOOR_COLOR = 3887956; // So the bot does not go out the bounderies of the mining guild
BANK_BOOTH_COLOR = 4873073;


var
mining_guild, mining_dungeon, ladder, bankz: TSPSArea;
exp_gained : integer;
total_coal_ore : integer;
currentSlot : integer; //to count how many items mined in bagpack



procedure declarePlayers();
begin
setLength(players, 1);
with players[0] do
begin
loginName := 'zezima';
password := 'iloveyou';
isActive := true;
isMember := true;
end
currentPlayer := 0;
end;

procedure informationScreen();
begin
smartImage.clear;
smartImage.drawText('Total coal ore mined : ' + ToStr(total_coal_ore),point(0, 0), 'UpCharsEx', true, clWhite);
smartImage.drawText('Experience gained : ' + ToStr(exp_gained),point(0, 30), 'UpCharsEx', true, clWhite);
end;


procedure runToGuild();
var
pathToMine: TPointArray;
begin
if not isLoggedIn() then
exit;

pathToMine := [Point(240, 222), Point(255 + random(7), 280 + random(9))];

if mining_guild.walkPath(pathToMine) then
minimap.waitPlayerMoving()
else
writeLn('We failed to walk to the mine');

end;

procedure useLadderDown();
var
x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
clicked : boolean;
clockTimer : TTimeMarker;
begin

if not isLoggedIn() then
exit;

begin
clockTimer.start();
repeat
clicked := false;
findColorsSpiralTolerance(x, y, TPA, LADDER_DOWN_COLOR, mainScreen.getBounds(), 5, colorSetting(2, 0.07, 1.47));

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

ATPA := TPA.toATPA(30, 30);
ATPA.filterBetween(0, 10); //I added this line
ATPA.sortFromMidPoint(mainscreen.playerPoint);
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if (clockTimer.getTime() > 5000) then
exit;
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);
if isMouseOverText(['limb-down'], 500 + random(250)) then
begin
fastClick(MOUSE_LEFT);
smartImage.clear;
informationScreen();
clicked := true;
break;
end;
end;
wait(5000 + random(1000));
until clicked = true;
end;
end;

procedure runToRock();
var
pathToMine: TPointArray;
begin
if not isLoggedIn() then
exit;

pathToMine := [Point(215, 229), Point(250, 230), Point(273, 225 + random(6)), Point(285 + random(7), 233)];

if mining_dungeon.walkPath(pathToMine) then
minimap.waitPlayerMoving()
else
runToGuild();
//writeLn('We failed to walk to the mine');

end;


procedure Load_Antiban;
begin
case Random(100) of
10: RandomRClickItem();
20: MouseOffClient(Random(5));
30: RandomCompass(0, 180, false);
40: RandomCompass(0, 0, false);
50: MouseOffClient(Random(5));
60: MouseMovingObject();
70: SleepAndMoveMouse(200 + Random(50));
90: PickUpMouse();
95: gameTabs.openTab(TAB_EQUIPMENT);
100: gameTabs.openTab(TAB_STATS);
end;
end;


procedure checkForCoalOre();
begin
if (tabBackpack.isItemInSlot(currentSlot+1)) then
begin
total_coal_ore := total_coal_ore + 1;
exp_gained := exp_gained + 50;
writeLn('COAL ORE FOUND! ', currentSlot);
currentSlot := currentSlot + 1;
end else
writeLn('COAL ORE NOT FOUND!', currentSlot);
end;

procedure mineRocks();
var
x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
expGainz : integer;
tries : boolean;
aantal : integer;
currentRock : TPoint;
PBox: TBox;
colors: TIntegerArray = [
1250581,
1316117];
begin
if not isLoggedIn() then
exit;
expGainz := -1;
aantal := 0;
tries := true;
PBox := IntToBox(270, 150, 302, 230); //player position
smartImage.drawBox(PBox);
repeat

//writeLn('exp gainzz : ', expGainz, ' xp : ', chatbox.getXP());
//if (((expGainz <> chatbox.getXP()) and (tries >= 2 + random(2))) or tries >= 8) then
writeLn('trying...', mainscreen.isPlayerAnimating(), ' currentrock : ', currentRock);
mouse(currentRock, MOUSE_MOVE, MOUSE_HUMAN);
if ((not mainscreen.isPlayerAnimating()) or tries = true) then
begin
if (not gameTabs.isTabActive(TAB_BACKPACK)) then
gameTabs.openTab(TAB_BACKPACK);
tries := false;
//expGainz := chatbox.getXP();
if (findColorsSpiralTolerance(x, y, TPA, IRON_DOOR_COLOR, PBox, 9, colorSetting(2, 0.08, 0.55))) then
begin
runToRock();
writeLn('got bar');
end;
if (aantal >= 4) then
begin
RandomCompass(0, 360, false);
wait(RandomRange(1000, 2000));
end;

setLength(TPA, 0);
findColorsSpiralTolerance(x, y, TPA, COAL_ORE_COLOR, mainScreen.getBounds(), 3, colorSetting(2, 0.00, 0.49)); // 2303526


writeLn('test: ', aantal);

if (Length(TPA) < 1) then
begin
RandomCompass(0, random(360), false);
exit;
end;

ATPA := TPA.toATPA(30, 30);
ATPA.filterBetween(0, 10); //I added this line
ATPA.sortFromMidPoint(mainscreen.playerPoint);
smartImage.debugATPA(ATPA);


for i := 0 to high(ATPA) do
begin
mouseSpeed = 20 + random(30);
case Random(4) of
0: mouse(middleTPA(ATPA[i]), MOUSE_MOVE, MOUSE_BREAK);
1: mouse(middleTPA(ATPA[i]), MOUSE_MOVE, MOUSE_ACCURATE);
2: mouse(middleTPA(ATPA[i]), MOUSE_MOVE, MOUSE_HUMAN);
3: missMouse(middleTPA(ATPA[i]));
end;

if isMouseOverText(['ine Coal'], 500 + random(250)) then
begin

//fastClick(MOUSE_LEFT);
multiClick(middleTPA(ATPA[i]), 50, 2);
currentRock := middleTPA(ATPA[i]);
smartImage.clear;
informationScreen();
wait(100 + random(500));
Load_Antiban;
aantal := 0;
break;
end;
end;
end;
aantal := aantal + 1;
wait(5000 + random(500));
checkForCoalOre();
if (RandomRange(1, 10) = 5) then
begin
MouseOffClient(Random(5));
wait(RandomRange(5000, 10000));
end;
until (not isLoggedIn()) or (tabBackpack.isFull());
end;

procedure runToLadderUp();
var
pathToMine: TPointArray;
begin
if not isLoggedIn() then
exit;
minimap.clickCompass();
pathToMine := [Point(300, 233), Point(268, 236), Point(235, 230)] ;

if ladder.walkPath(pathToMine) then
minimap.waitPlayerMoving()
else
writeLn('We failed to walk to the mine');
end;


procedure runToBank();
var
pathToMine: TPointArray;
p : TPoint;
clockTimer : TTimeMarker;
begin
clockTimer.start();
repeat
if not isLoggedIn() then
exit;
if (minimap.findSymbol(p, MM_SYMBOL_BANK, minimap.getBounds())) then
begin
pathToMine := [Point(259, 293), Point(277, 247), Point(235, 224)];

if bankz.walkPath(pathToMine) then
minimap.waitPlayerMoving()
else
writeLn('We failed to walk to the mine');
end;
wait(2000);
until clockTimer.getTime() > 10000;
end;

procedure useLadderUp();
var
x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
clicked : boolean;
clockTimer : TTimeMarker;
begin

if not isLoggedIn() then
exit;

begin
clockTimer.start();
repeat
clicked := false;
findColorsSpiralTolerance(x, y, TPA, LADDER_UP_COLOR, mainScreen.getBounds(), 5, colorSetting(2, 0.23, 0.08));

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

ATPA := TPA.toATPA(30, 30);
ATPA.filterBetween(0, 10); //I added this line
ATPA.sortFromMidPoint(mainscreen.playerPoint);
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if (clockTimer.getTime() > 5000) then
exit;
mouse(middleTPA(ATPA[i]), MOUSE_MOVE);
if isMouseOverText(['limb-up'], 500 + random(250)) then
begin
fastClick(MOUSE_LEFT);
smartImage.clear;
informationScreen();
clicked := true;
break;
end;
end;
wait(3000 + random(1000));
until clicked = true;
end;
end;





procedure useBank();
var
x, y, i: integer;
TPA: TPointArray;
ATPA: T2DPointArray;
clicked : boolean;
clockTimer : TTimeMarker;
begin

if not isLoggedIn() then
exit;

begin
clockTimer.start();
repeat
clicked := false;
findColorsSpiralTolerance(x,y,TPA, BANK_BOOTH_COLOR, mainscreen.getBounds(),14,colorSetting(2, 0.05,0.51));
if (Length(TPA) < 1) then
runToBank();
ATPA := TPA.toATPA(30, 30);
ATPA.filterBetween(0, 10); //I added this line
ATPA.sortFromMidPoint(mainscreen.playerPoint);
smartImage.debugATPA(ATPA);

for i := 0 to high(ATPA) do
begin
if (clockTimer.getTime() > 5000) then
exit;
mouse(middleTPA(ATPA[random(high(ATPA))]), MOUSE_MOVE);
if isMouseOverText(['ank'], 500 + random(250)) then
begin
fastClick(MOUSE_LEFT);
smartImage.clear;
informationScreen();
clicked := true;
currentSlot := 0;
break;
end;
end;
wait(3000 + random(1000));
until clicked = true;
end;
end;



procedure storeItemsInBank();
var
bankTimer: TTimeMarker;

begin
if not isLoggedIn() then
exit;
begin
bankTimer.start();
repeat
wait(1000);
if (bankScreen.quickDeposit(QUICK_DEPOSIT_INVENTORY)) then
begin
writeLn('banked');
end else
begin
useBank();
end;
wait(2000 + random(2000));
until(bankScreen.isPackEmpty) or (not isLoggedIn()) or (bankTimer.getTime() > 15000);
bankScreen.close();
end;
end;




// main loop
begin
clearDebug(); // Clear the debug box
smartEnableDrawing := true; // So we can draw on SMART
setupSRL(); // Load the SRL include files
//declarePlayers(); // Set up your username/pass

if not isLoggedIn() then // If player isn't logged in then
begin
players[currentPlayer].login(); // Log them in
exitTreasure(); // Exit treasure hunter
minimap.setAngle(MM_DIRECTION_NORTH); // Make compass north and angle high
mainScreen.setAngle(MS_ANGLE_HIGH);
end;
mining_dungeon.setup('MINING_DUNGEON_MAP', RUNESCAPE_OTHER); // Setup our map
mining_guild.setup('MINING_GUILD_MAP', RUNESCAPE_OTHER); // Setup our map
ladder.setup('MINING_DUNGEON_MAP', RUNESCAPE_OTHER); // Setup our map
bankz.setup('MINING_GUILD_MAP', RUNESCAPE_OTHER); // Setup our map
repeat
runToGuild();
useLadderDown();
runToRock();
mineRocks();
runToLadderUp();
useLadderUp();
runToBank();
useBank();
storeItemsInBank();
wait(2000);
until false;
end.]

Trash
12-17-2015, 07:51 PM
Anyone know how muhch xp/h or gp/h this is? Are there any progress pics or did anyone do any calculations? if you did that'd be great!

Ayrician
01-10-2016, 10:40 AM
why wont mine bank or deposit? :((

WYD
01-10-2016, 11:07 AM
why wont mine bank or deposit? :((

Did you use the uupdate of my code?

Ayrician
01-10-2016, 11:36 AM
where is it??

Ayrician
01-10-2016, 11:37 AM
Did you use the uupdate of my code?

where is it??

WYD
01-10-2016, 11:47 AM
where is it??

On here in the post's

Ayrician
01-10-2016, 11:55 AM
On here in the post's

ive got it, now it banks but wont mine?

WYD
01-11-2016, 03:54 PM
ive got it, now it banks but wont mine?

Old the old Coal color code?

mocrosoft
03-14-2016, 07:23 PM
Script has been updated, banking works again.

Any more questions? feel free to pm me.

PSP_Cloud
03-18-2016, 06:45 PM
Only script I have used is this for around an hour on main account. Perma-banned. What gives? Any other more senior scripters know why? What methods is this guy using that's so detectable?
No offence intended this seemed a good script and I'm using probably the same tutorial to try and make my own, there are failsafes and good logic for finding ores and banking.
Before anyone calls BS either I have genuinely only used this for around an hour one night. I can only see 4 scenarios. 1. Settings for simba to work correctly are a dead giveaway, especially switching graphics then botting. 2. Some sort of procedure is detectable like SRS walking. 3. SMART is detected or 4. Ive been wrongfully banned (I spent 6 hours doing a repetitive task the other night whilst watching films).

mocrosoft
03-18-2016, 09:30 PM
Only script I have used is this for around an hour on main account. Perma-banned. What gives? Any other more senior scripters know why? What methods is this guy using that's so detectable?
No offence intended this seemed a good script and I'm using probably the same tutorial to try and make my own, there are failsafes and good logic for finding ores and banking.
Before anyone calls BS either I have genuinely only used this for around an hour one night. I can only see 4 scenarios. 1. Settings for simba to work correctly are a dead giveaway, especially switching graphics then botting. 2. Some sort of procedure is detectable like SRS walking. 3. SMART is detected or 4. Ive been wrongfully banned (I spent 6 hours doing a repetitive task the other night whilst watching films).

That sounds unlikely, Have you ever used any other bot on your account?

PSP_Cloud
03-23-2016, 02:33 PM
Sadly no, the account got permanently muted and banned previously for gold selling, managed to get it quashed due to it being hacked.
Just a thought, you left the login procedure broken due to line 470:
//declarePlayers(); // Set up your username/pass
If anyone wants to use the client to login you simply need to remove the // at the start of the line.
I'm wondering if this was intentional? Is the login script detectable?
Sadly I no longer have an account high enough to use this script, however as I stated I got a good hour from it whilst watching, no errors whatsoever. People have mentioned it being slow detecting rocks, however I'm learning from the same tutorial as you and ATPAs are one confusing topic so kudos for that. The banking procedure is pretty good too, it did fail to bank once or twice however its more reliable than the inbuilt functions. Its a nice script and looking forward too see where you go from here, back in the SCAR days a lot of scripts had a random break function for antiban, perhaps you could look into that?
A question also, the consts like COAL_ORE_COLOR, did you use Auto Color Aid and will inputting our own colors break this?
To be fair I genuinely think I have been wrongfully banned, I know I'm constantly reported whilst playing naturally and I think this has something to do with it, the worst part is I can do absolutely nothing about it, apologies for bringing it up.

mocrosoft
03-23-2016, 03:35 PM
Sadly no, the account got permanently muted and banned previously for gold selling, managed to get it quashed due to it being hacked.
Just a thought, you left the login procedure broken due to line 470:
//declarePlayers(); // Set up your username/pass
If anyone wants to use the client to login you simply need to remove the // at the start of the line.
I'm wondering if this was intentional? Is the login script detectable?
Sadly I no longer have an account high enough to use this script, however as I stated I got a good hour from it whilst watching, no errors whatsoever. People have mentioned it being slow detecting rocks, however I'm learning from the same tutorial as you and ATPAs are one confusing topic so kudos for that. The banking procedure is pretty good too, it did fail to bank once or twice however its more reliable than the inbuilt functions. Its a nice script and looking forward too see where you go from here, back in the SCAR days a lot of scripts had a random break function for antiban, perhaps you could look into that?
A question also, the consts like COAL_ORE_COLOR, did you use Auto Color Aid and will inputting our own colors break this?
To be fair I genuinely think I have been wrongfully banned, I know I'm constantly reported whilst playing naturally and I think this has something to do with it, the worst part is I can do absolutely nothing about it, apologies for bringing it up.

Thanks for the post PSP_CLOUD, The reason why I left declarePlayers out is because I never really used it. I always logged in manually and then started the script(I also don't like writing my password just in plain text in the file). You can adjust that the way you want to.

I wrote this script a while ago and trying to maintain it by updating the colors from time to time and yeah ATPAs are pretty confusing at the start, but you'll get used to it. I'm not really into rs3 scripting anymore so I'm not sure if I'll write extra code to improve this script. I'm scripting alot for oldschool now.

For the COAL_ORE_COLOR question, you better not change it, because that's the value I use t detect the rocks in the mining guild, so changing it might break the bot.

Sad to hear you're banned :/

jakrz
12-28-2016, 09:49 PM
Tried it. Just walked till minning guild stairs and stuck with: "Waiting while the player is moving ..."

Tempelele
01-03-2017, 02:10 PM
Tried it. Just walked till minning guild stairs and stuck with: "Waiting while the player is moving ..."

I'm having the same issue here. Just sits at the top of the ladder and does nothing.