SRL Archive - RS3 Outdated / Broken Scripts

[SRL4]noidea VWM


noidea

2009-01-09 22:11:08

noidea VWM


Current Version
0.76b
Script status
Not Working

Whats included
[INDENT]Any ore in the mine can be mined.[/INDENT]
[INDENT]Multiplayer.[/INDENT]
[INDENT]This is fully auto coloured and not reflection![/INDENT]
[INDENT]Gas finding.[/INDENT]
[INDENT]SRL antirandoms.[/INDENT]
[INDENT]Ability to use SMART.[/INDENT]
[INDENT]Get new pick if the current one breaks.[/INDENT]
[INDENT]Great, awsome working auto responder by Masterkill![/INDENT]
[INDENT]Attempts to find the pickaxe head and attach.[/INDENT]
[INDENT]If lost, attemps to find its way back to bank.[/INDENT]

Whats not included
[INDENT]I can't think of anything.[/INDENT]

Setup
[INDENT]Please position your characters (Varrock West Bank, bank under GE) next to the first bank slot (Closest to the mine), and on the left hand side of the bank.[/INDENT]
[INDENT]Please fill out the constants, and DeclarePlayers.[/INDENT]
[INDENT]You need latest SRL for maximum results.[/INDENT]
[INDENT]Please have your computer set at 32 bit colour.[/INDENT]
[INDENT]Highest RS brightness.[/INDENT]
[INDENT]Please have ALL extra USABLE picks in the FIRST bank slot![/INDENT]
[indent]Please have pick weilded or in first inv spot.[/indent]

Mics. Info
[INDENT]SCAR 3.15(b)[/INDENT]
[INDENT]Latest SRL is needed. Currently rev 31[/INDENT]

Credits
[INDENT]munk, his findMMbank function.[/INDENT]
[INDENT]Masterkill, his auto responder.[/INDENT]
[INDENT]NaumanAklaQ, I took the responder from your script.[/INDENT]
[INDENT]SirLaughsALot, gave me the idea to use a DDTM, instead of a dtm, and its faster![/INDENT]
[indent]fixed inv problem found by marpis![/indent]

Bugs…
[INDENT]Can get lost.[/INDENT]
[INDENT]Please help me by finding them…[/INDENT]



Please post all bugs and progress reports.

Release history
VWM 0.04 - no SMART.scar (34.4 KB, 7 views)
VWM 0.04 - SMART.scar (34.6 KB, 6 views)
VWM 0.05 - no SMART.scar (34.3 KB, 1 views)
VWM 0.05 SMART.scar (34.5 KB, 3 views)
VWM 0.6 - no SMART.scar (39.1 KB, 4 views)
VWM 0.6 - SMART.scar (39.3 KB, 7 views)
VWM 0.7 - no SMART.scar (42.2 KB, 6 views)
VWM 0.7 - SMART.scar (42.4 KB, 9 views)
VWM 0.75 - no SMART.scar (42.2 KB, 2 views)
VWM 0.75 - SMART.scar (42.4 KB, 10 views)

noidea

2009-01-09 22:12:22

Best four progress reports…

#1)
noidea,
 _________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 8 Hours, 55 Minutes and 1 Seconds|
| Total mined : 2629 |
| Total gasses : 0 |
| Total loads : 101 |
| Total gems : 3 |
| Total Responds : 17 |
| Fights : 5 |
| NewPicksGotton : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 7 | 162 | 0 |
| 1 | F | 36 | 975 | 0 |
| 2 | F | 11 | 252 | 0 |
| 3 | F | 35 | 945 | 0 |
| 4 | F | 12 | 295 | 0 |
\_________________________________________________/
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 29 Randoms Report |
| <a href="http://www.srl-forums.com" target="_blank">www.srl-forums.com</a> |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 36 |
| Fights : 5 |
| Talks : 15 |
| Dwarfs : 1 |
| Ricks : 3 |
| Old Men : 4 |
| Sandwiches : 2 |
| Lamps Solved : 2 |
| Capn Hands : 2 |
| Certers Solved : 1 |
| Boxes Solved : 2 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

#2)
Thanks sharlene212!

/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Time Running : 2 Hours, 3 Minutes and 35 Seconds|
| Total mined : 485 |
| Total gasses : 0 |
| Total loads : 19 |
| Total gems : 1 |
| Fights : 1 |
| Relocated : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Player | Active | Loads | Mined | Gems |
| 0 | F | 8 | 188 | 0 |
| 1 | T | 6 | 162 | 0 |
| 2 | T | 5 | 135 | 0 |
\_________________________________________________ /

_________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Time Running : 3 Hours, 39 Minutes and 29 Seconds|
| Total mined : 734 |
| Total gasses : 0 |
| Total loads : 32 |
| Total gems : 1 |
| Fights : 8 |
| Relocated : 2 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| Player | Active | Loads | Mined | Gems |
| 0 | F | 6 | 83 | 1 |
| 1 | T | 12 | 302 | 1 |
| 2 | F | 14 | 349 | 1 |
\_________________________________________________ /

#3)
006786,
/                 noidea's VWM'er                 \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 1 Hours, 44 Minutes and 17 Seconds|
| Total mined : 336 |
| Total gasses : 0 |
| Total loads : 14 |
| Total Responds : 2 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 14 | 336 | 0 |
\_________________________________________________/

#4)
 _________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 40 Minutes and 5 Seconds |
| Total mined : 189 |
| Total gasses : 0 |
| Total loads : 8 |
| Total Responds : 1 |
| Fights : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | T | 8 | 189 | 0 |
\_________________________________________________/

NCDS

2009-01-09 22:20:39

Looks pretty good man!
Congrats on release.

Myabe give MasterKill a run for his money? ;)

noidea

2009-01-09 22:32:28

Varrock West Miner :)

NCDS

2009-01-09 22:42:31

ohhhh dang lol.
Well, either way. The code looks good :)

Simtoon

2009-01-09 23:12:59

Nice good for mining silver and clay someone should make a al kharid one

Cazax

2009-01-10 00:25:40

case Lowercase(s) of
'tin':
begin
CTMSX := 0.14;
CTMSY := 0.13;
Color := 8553100;
Tol := 11;
end;
'clay':
begin
CTMSX := 0.01;
CTMSY := 1.58;
Color := 5544639;
Tol := 11;
end;
'iron':
begin
CTMSX := 0.01;
CTMSY := 0.07;
Color := 2832734;
Tol := 15;
end;
'silver':
begin
CTMSX := 0.10;
CTMSY := 0.57;
Color := 9546935;
Tol := 5;
end;
end;
Use TIntegerArrays!

function FindGas(gx, gy: Integer): Boolean;
just include Mining.scar :)

Function FindVWB(Cords: Tpoint): Boolean;
Should be Var Cords : TPoint;

0: mouse(TehCords.x, TehCords.y, 0, 0, true);
1: begin
mouse(TehCords.x, TehCords.y, 0, 0, true);
chooseoption('ine');
end;
ChooseOption? use Mouse(TehCords.x, TehCords.y, 0, 0, false);

Procedure KillPlayer;
begin
if not loggedin then exit;
Logout;
Players[CurrentPlayer].Active := False;
Exit;
end;
No need for an Exit;

Still looking at the script.

senrath

2009-01-10 02:24:43

Near the end of your script, you have a Logout command right before a NextPlayer command. NextPlayer already calls Logout inside it.

Also, since each time you check the value of Strings[0] you put it inside a Lowercase function, the note in declarePlayers about the type of ore needing to be in lowercase isn't needed. Lowercase('clay'), Lowercase('Clay'), and Lowercase('ClAy') all return the same value.

Naum

2009-01-10 05:27:45

Good release, some pointers:

Function FindCross(var x, y: Integer) : Boolean;
begin
if not loggedin then exit;
result := FindColor(x, y, FindLadderColor, MMX1 + 60, MMY1 + 35, MMX2 - 30 , MMY2 - 30);
end;


Function FindLadderNearBank(var x, y: Integer): Boolean;
begin
if not loggedin then exit;
result := FindColor(x, y, FindLadderColor, mmx1 + 35, mmy1 + 75, mmx2- 35, mmy2- 15);
end;

You really dont need if not loggedin then exit; as it(I hope) would already be called in the procedure or function you use it in. Basically it wastes time..

Much more, but I couldn't help noticing - If you want to take stuff out of my script, try to make it less obvious ;). :)

noidea

2009-01-10 07:41:08

Thanks for the many helpfull responces! I shall make an update later today. Thanks for finding all those bugs Cazax :) and I copied the FindGas out of mining.scar so I didnt have to include it.

Senrath: The first is a failsafe, then second I didnt know :p Thanks.

Naum: Sorry, since you put //thanks Mk next to it, I though you just copied it from him, sorry. I did edit some responces :p and I'll credit you too. :)

Edit: Cazax, a TIntegerArray wouldnt work, because I have Extendeds, So I tried a TVariantArray, and it worked wonderfully. :) Thanks for the suggestion to get me thinking :)

Edit2: Updated script, thanks every one :)

bukowski

2009-01-10 20:06:48

expect a 10+ hour proggy :)

noidea

2009-01-11 17:38:57

Updated!

  • I fixed a few bugs.
  • Added a pickaxe head finder/attacher. Wroks very, very well might I add :)
  • Added PIN support.

Edit: crap, this one is'nt able to compile. Uploading a new one ;)

mynameisjoe

2009-01-11 20:47:42

/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 30 Minutes and 37 Seconds |
| Total mined : 107 |
| Total gasses : 0 |
| Total loads : 6 |
| Total Responds : 1 |
| Fights : 7 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 4 | 81 | 0 |
| 1 | F | 2 | 26 | 0 |
\_________________________________________________/
NextPlayer(Active: False);

Hey, pretty nice script. My character died for whatever reason… :P

noidea

2009-01-11 21:01:53

From: mynameisjoe
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 30 Minutes and 37 Seconds |
| Total mined : 107 |
| Total gasses : 0 |
| Total loads : 6 |
| Total Responds : 1 |
| Fights : 7 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 4 | 81 | 0 |
| 1 | F | 2 | 26 | 0 |
\_________________________________________________/
NextPlayer(Active: False);

Hey, pretty nice script. My character died for whatever reason… :P


The Mugger… :( I need to put in FindDead, crap I forgot. Did both of them die?

mynameisjoe

2009-01-11 23:09:25

They actually were the same characters haha. Yep that eeevill mugger.

jamesrex100

2009-01-12 07:00:55

ill give u a 5hr+ proggie if my comp doesn stuff up. stuffs up for some stupid reason:(

jamesrex100

2009-01-12 07:52:44

soz. every time it did 1 load it wood get lost… sorry .. ur last version was better this one stuffed up very bad:(


EDIT: / noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 26 Minutes and 19 Seconds |
| Total mined : 140 |
| Total gasses : 0 |
| Total loads : 6 |
| Total Responds : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 6 | 140 | 0 |
\_________________________________________________/
NextPlayer(Active: False);

i tryed it one more time. and it went up 2 here. and got lost near da mine area… on da way walkin down ther it went the one nxt 2 it and got lost:(

noidea

2009-01-12 22:08:40

 _________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 35 Minutes and 34 Seconds |
| Total mined : 188 |
| Total gasses : 0 |
| Total loads : 7 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | T | 7 | 188 | 0 |
\_________________________________________________/
It was still going, i had to stop because I have to go to bed.

NiCbaZ

2009-01-13 01:57:12

Not going to use this script, it looks really nice tho, gave some some ideas

thanks for this
Optionz: TVariantArray;


i never about Variant , thanks :)

noidea

2009-01-13 03:10:02

From: NiCbaZ
Not going to use this script, it looks really nice tho, gave some some ideas

thanks for this

i never about Variant , thanks :)


I saw it in one of RM's scripts and thought it was cool :)

cause

2009-01-13 13:17:12

This script does max one load. I logged on later and found my player on the wrong side of the wall (failed walking). Maybe use reflection?

noidea

2009-01-13 13:39:37

really? wow I get like 20 loads. i am going to add a relocater sometime

marpis

2009-01-13 16:59:38

It bugged on "Walking to mine" and my char never left the bank.
This used to work with me some time ago :-\

EDIT: OMG SORRY, rly sorry, i meant to comment some Rimmington miner! I test your script now.

jamesrex100

2009-01-13 21:25:43

yeah some here. b4 mine did it for ages. now it jus leaves da bank and says cannot find bank booth den finshes.. new update came for rs. mabye dats da prob??

noidea

2009-01-13 21:52:58

Make sure You have your characters on the bank slot closest to the gaurds (First bank booth on teh left hand side of the bank).


Also! An update! I added a relocate feature. If its lost, it wil try to find its way back the bank :)

sharlene212

2009-01-14 01:10:53

heres my progress report so far:
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 2 Hours, 3 Minutes and 35 Seconds|
| Total mined : 485 |
| Total gasses : 0 |
| Total loads : 19 |
| Total gems : 1 |
| Fights : 1 |
| Relocated : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 8 | 188 | 0 |
| 1 | T | 6 | 162 | 0 |
| 2 | T | 5 | 135 | 0 |
\_________________________________________________/
a good script, however the player who is currently false encoutered a random that teleported it somewhere, seems the few scripts I've used cant handle those teleporting randoms properly. any suggestoins?

noidea

2009-01-14 01:24:20

From: sharlene212
heres my progress report so far:
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 2 Hours, 3 Minutes and 35 Seconds|
| Total mined : 485 |
| Total gasses : 0 |
| Total loads : 19 |
| Total gems : 1 |
| Fights : 1 |
| Relocated : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 8 | 188 | 0 |
| 1 | T | 6 | 162 | 0 |
| 2 | T | 5 | 135 | 0 |
\_________________________________________________/
a good script, however the player who is currently false encoutered a random that teleported it somewhere, seems the few scripts I've used cant handle those teleporting randoms properly. any suggestoins?


Was that with the new version? Yes! The relocater works /hugs myself!
Thanks so much for this proggress report!

The teleporting random is prolly a talking one that your Anti randoms missed do to your nick name. If your Name wer 'Zezima' then the nick would be 'zim' or 'ima' :)

sharlene212

2009-01-14 01:59:04

From: noidea

The teleporting random is prolly a talking one that your Anti randoms missed do to your nick name. If your Name wer 'Zezima' then the nick would be 'zim' or 'ima' :)


Nope… i have set nicknames for each player, so the nicknames weren't the problem. im guessing the random was the sandwich lady and it failed to detect and respond, resulting in the character being teleported.:(

sharlene212

2009-01-14 06:39:08

Ran the script a second time got this proggy:
_________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 2 Hours, 1 Minutes and 53 Seconds|
| Total mined : 589 |
| Total gasses : 0 |
| Total loads : 25 |
| Total gems : 2 |
| Total Responds : 4 |
| Fights : 1 |
| NewPicksGotton : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 5 | 104 | 1 |
| 1 | F | 8 | 189 | 1 |
| 2 | F | 12 | 296 | 1 |
\_________________________________________________/
this time two of my characters couldnt find their way back to the bank with a full load, dont know what happened there. Another character was teleported somewhere again, probably my antirandoms not working (i have set nick name for each characters). i could be missing an include or file, any ideas?

noidea

2009-01-14 07:48:14

Hmmm, I might have not called randoms enough. I'll check it out.

the scar noob

2009-01-14 16:38:52

Some little things here and there, but overall very good ;D

-Tsn.

noidea

2009-01-14 17:47:24

Just wondering, does any one need/want sleeping in this? And how should it be, like every x ammount of minutes sleep xx ammounts of minutes (I shall put randomness in it)

jamesrex100

2009-01-14 23:44:59

i suggest round 10 mins. den another 1hr 30mins. den 15mins den 3 hrs den 30mins ect ect.

marpis

2009-01-15 00:38:17

Line 823: [Error] (17149:10): Duplicate identifier 'GETBLACKTEXT' in script D:\scar\SCAR 3.15\Scripts\VWM 0.7 - SMART.scar

same thing with non-smart. I tried non-smart, it logged in, went through every slot in my inventory and logged out

noidea

2009-01-15 23:31:01

From: marpis
same thing with non-smart. I tried non-smart, it logged in, went through every slot in my inventory and logged out


It compiles for me… And others. Try updating SRL?

Thanks for alerting me to the Inv problem!
Updated!
fixed inv problem found by marpis!

Edit: and marpis. Idk if it still works (my rimmington miner, but the problem you had there was you needed to update your hooks ;)

noidea

2009-01-17 08:40:54


_________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 8 Hours, 55 Minutes and 1 Seconds|
| Total mined : 2629 |
| Total gasses : 0 |
| Total loads : 101 |
| Total gems : 3 |
| Total Responds : 17 |
| Fights : 5 |
| NewPicksGotton : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 7 | 162 | 0 |
| 1 | F | 36 | 975 | 0 |
| 2 | F | 11 | 252 | 0 |
| 3 | F | 35 | 945 | 0 |
| 4 | F | 12 | 295 | 0 |
\_________________________________________________/
/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\
| SRL 29 Randoms Report |
| [url]www.srl-forums.com[/url] |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| SRL Logs : 36 |
| Fights : 5 |
| Talks : 15 |
| Dwarfs : 1 |
| Ricks : 3 |
| Old Men : 4 |
| Sandwiches : 2 |
| Lamps Solved : 2 |
| Capn Hands : 2 |
| Certers Solved : 1 |
| Boxes Solved : 2 |
\~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/

..?

Ultra

2009-01-18 08:56:49

Great script overall, but needs adjustments…

The gas detection does not work at all… Broke two picks…

The broken pick detection does not work eather, i think the dtm isnt working or something.

I changed FindBrokenPick into FindPick, so it will just check if the pickaxe dtm is in the inv or equipped.
Also fixed up some lil stuff. O ya i also changed the BrokenPick dtm so.. Yeah im gonna try my dtm, maybe it will work better.
So here…
(*
noidea's
VWM'er
Mines any ore there

Setup DeclarePlayers, and the constants

Please put all characters in the first slot on the
Left hand side of the bank (Varrock West Bank)

Please put all extra picks in first bank slot, and,
Make sure your character has the mining lvl to use
it

Note: This is not reflection, and does not require SMART

*)


program New;
{.include srl/srl.scar}

const
SRLStatsID = '';
SRLStatsPass = '';
dbug = true;
LoadsB4Switch = 5;
DropGems = False;



procedure declarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].active := True;
Players[0].Booleans[0] := True;//Pick weilded?
Players[0].Pin := '0000';//leave if not in use
Players[0].Strings[0] := 'iron';//must be lower case!!!!!!!!!!!!!!!!!!!!!!!!11!!!!!!!!!!!!!!!!!1111111111!!!!!!!!!111!!!11!
//tin, iron, clay, silver
{Players[1].Name := '';
Players[1].Pass := '';
Players[1].Nick := '';
Players[1].active := True;
Players[1].Booleans[0] := False;//Pick weilded?
Players[1].Pin := '0000';//leave if not in use
Players[1].Strings[0] := 'iron';//must be lower case!!!!!!!!!!!!!!!!!!!!!!!!11!!!!!!!!!!!!!!!!!1111111111!!!!!!!!!111!!!11!
//tin, iron, clay, silver }
end;










var
lol, Maxwait, Responds, Bank, BrokenPick, Gem, p, head, stick, Pick: Integer;
Rocks, NewPicks, Gasses, Gems, fightss, headsrepaired, relocates: Integer;
ThePick: String;


Function Bankstuff: Boolean; Forward;
Procedure ToBank; Forward;
function findMMbank:boolean; Forward;

{*****************************************************
function WalkAgainstWhiteWall(s: string; Left: Boolean): Boolean;
By: noidea
Description: Walks along any white wall, north or south,
on the left hand side or the right hand
side of the wall.
True is left, false is right
Use/Example: WalkAgainstWhiteWall('s', True);
if WalkAgainstWhiteWall('s', True) then ...
*****************************************************}
function WalkAgainstWhiteWall(s: string; Left: Boolean): Boolean;
Label rawr;
var
t, cts, x, y, h, w, m, I, f, p, pp : Integer;
TPA : TPointArray;
ATPA : Array of TPointArray;
kk : Boolean;
begin
if not loggedin then exit;
MakeCompass('360');
cts := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(7.28, 12.9);
Case LowerCase(s) Of
'n': t := -60;
's': t := 60;
end;
FindColorsSpiralTolerance(MMCX, MMCY + T, TPA, 15726570, mmcx-40, MMY1, mmcx+40, MMY2, 12);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 1, 1);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], x, y);
mmouse(x,y,0,0);
wait(200);
getmousepos(x,y);
p := Getcolor(x, y);
getmousepos(h,w);

for pp := 0 to 4 do
if (getcolor(x, y + pp) = 65536)then
begin
wait(1000+random(1000));
WalkAgainstWhiteWall(s, Left);
exit;
end;

for pp := 0 to 4 do
if (getcolor(x, y - pp) = 65536)then
begin
wait(1000+random(1000));
WalkAgainstWhiteWall(s, Left);
exit;
end;
wait(200);

if (getcolor(x, y) = p)then
begin
Goto Rawr
end;

if not (getcolor(x, y) = p)then
begin
for f := 0 to 4 do
begin
mmouse(h,w,0,0);
try
mmouse(x-f,y+f,0,0);
wait(200);
getmousepos(x,y);
if(getcolor(x, y) = p)then
begin
KK := True;
getmousepos(x,y);
break;
end;
except
begin
mmouse(x+f,y-f,0,0);
wait(200);
getmousepos(x,y);
if(getcolor(x, y) = p)then
begin
kk := True;
getmousepos(x,y);
break;
end;
end;
end;
end;
if (kk) then goto rawr;

rawr:
begin
getmousepos(x, y);
if (getcolor(x, y) = p)then
begin
Case Left of
True: m := -9;
False: m := 8
end;
mmouse(x + m, y, 0, 0);
getmousepos(x, y);
if not(getcolor(x, y) = p) then
begin
mff(x, y, 4, 3);
wait(randomRange(400, 500));
flag;
Result := True;
exit;
end;
end;
end;
end;
end;
end;


{*****************************************************
Function CountClay: Integer;
By: noidea
Description: Counts any ore except clay you can mine.
Use/Example: Ore := Ore + CountOre;
writeln(IntToStr(CountOre));
*****************************************************}
Function CountClay: Integer;
var
k, I: Integer;
p : TBox;
begin
if not loggedin then exit;
I := 1
While I < 29 do
begin
GetInvItemBounds(I, p);
if countcolor(65536, p.x1, p.y1, p.x1+34, p.y1+27) = 64 then
inc(k);
inc(I);
end;
Result := k;
end;


{*****************************************************
Function CountOre: Integer;
By: noidea
Description: Counts any ore except clay you can mine.
Use/Example: Ore := Ore + CountOre;
writeln(IntToStr(CountOre));
*****************************************************}
Function CountOre: Integer;
var
k, I: Integer;
p : TBox;
begin
if not loggedin then exit;
I := 1
While I < 29 do
begin
GetInvItemBounds(I, p);
if countcolor(65536, p.x1, p.y1, p.x1+34, p.y1+27) = 171 then
inc(k);
inc(I);
end;
Result := k;
end;


{*****************************************************
Function CountGems: Integer;
By: noidea
Description: Counts any ore except clay you can mine.
Use/Example: Ore := Ore + CountOre;
writeln(IntToStr(CountGems));
*****************************************************}
Function CountGems: Integer;
var
k, I: Integer;
p : TBox;
begin
if not loggedin then exit;
I := 1
While I < 29 do
begin
GetInvItemBounds(I, p);
if countcolor(65536, p.x1, p.y1, p.x1+34, p.y1+27) = 66 then
inc(k);
inc(I);
end;
Result := k;
end;


Procedure SafeFlag;
var
Mark: Integer;
begin
if not loggedin then exit;
MarkTime(Mark);
While FlagPresent do
begin
wait(70)
if (TimeFromMark(Mark) > 4000)then break;
end;
end;


Procedure KeepPlayer;
begin
Logout;
Players[CurrentPlayer].active := True;
end;

Procedure KillPlayer;
begin
Logout;
Players[CurrentPlayer].Active := False;
end;


Function FindCross(var x, y: Integer) : Boolean;
begin
result := FindColor(x, y, FindLadderColor, MMX1 + 60, MMY1 + 35, MMX2 - 30 , MMY2 - 30);
end;


Function FindLadderNearBank(var x, y: Integer): Boolean;
begin
result := FindColor(x, y, FindLadderColor, mmx1 + 35, mmy1 + 75, mmx2- 35, mmy2- 15);
end;


function SetDDTM: Integer;
var
dtmMainPoint: TDTMPointDef;
dtmSubPoints: Array [0..4] of TDTMPointDef;
TempTDTM: TDTM;
begin
if not loggedin then exit;
dtmMainPoint.x := 580;
dtmMainPoint.y := 116;
dtmMainPoint.AreaSize := 4;
dtmMainPoint.AreaShape := 0;
dtmMainPoint.Color := FindVarrockRoadColor;
dtmMainPoint.Tolerance := 0;

dtmSubPoints[0].x := 580;
dtmSubPoints[0].y := 116;
dtmSubPoints[0].AreaSize := 2;
dtmSubPoints[0].AreaShape := 0;
dtmSubPoints[0].Color := FindVarrockRoadColor;
dtmSubPoints[0].Tolerance := 0;

dtmSubPoints[1].x := 575;
dtmSubPoints[1].y := 71;
dtmSubPoints[1].AreaSize := 2;
dtmSubPoints[1].AreaShape := 0;
dtmSubPoints[1].Color := FindVarrockRoadColor;
dtmSubPoints[1].Tolerance := 0;

dtmSubPoints[2].x := 612;
dtmSubPoints[2].y := 121;
dtmSubPoints[2].AreaSize := 2;
dtmSubPoints[2].AreaShape := 0;
dtmSubPoints[2].Color := FindVarrockRoadColor;
dtmSubPoints[2].Tolerance := 0;

dtmSubPoints[3].x := 562;
dtmSubPoints[3].y := 121;
dtmSubPoints[3].AreaSize := 2;
dtmSubPoints[3].AreaShape := 0;
dtmSubPoints[3].Color := FindVarrockRoadColor;
dtmSubPoints[3].Tolerance := 0;

dtmSubPoints[4].x := 558;
dtmSubPoints[4].y := 98;
dtmSubPoints[4].AreaSize := 2;
dtmSubPoints[4].AreaShape := 0;
dtmSubPoints[4].Color := FindVarrockRoadColor;
dtmSubPoints[4].Tolerance := 0;

TempTDTM.MainPoint := dtmMainPoint;
TempTDTM.SubPoints := dtmSubPoints;
Result := AddDTM(TempTDTM);
end;


Procedure LoadDTMs;
begin
Bank := DTMFromString('78DA63F4656260A86400036608C5505556C8F' +
'01F483302F17F20607402AA0984C83121A9E187AA0101C66CA04C' +
'210135F6409966026AAC803259F8D50000D3F50FD7');
BrokenPick := DTMFromString('78DA63DCC1C4C0D0C7C8800CF4155819FE036' +
'990E87F2060DC0E54D382AA06220B2381F45EA09A26026A8E03D5' +
'741150B31FA8A68D809A0D403573F0AB01008EF90D15');
{BrokenPick := DTMFromString('78DA634C67626078CA8002F415D818FE03694' +
'620FE0F048C494035B718D000231209A4AB816AEE135093075473' +
'8D809A12A09ABB04D42403D57CC2AF060098D10D3A');}
Gem := DTMFromString('78DA63346766604860644006B3A64E65F80FA' +
'441A2FF8180D10AA8261C550D44164602697DA09A0C026A1C806A' +
'3209A8D103AA8920A04617A82691801A47C26A003CD10B0E');
head := DTMFromString('78DA637465626078C280022CBD4318FE03694' +
'620FE0F048C164035CF19D000231209A4BD816A6E1150E349A439' +
'0F09A87125AC060093D70CE0');
Stick := DTMFromString('78DA63B465626078CA8002F415D818FE03694' +
'620FE0F048CF64035F718D000231209A46D806ADE1050630154F3' +
'89801A67A09A9B04D4B800D5DCC2AF060022960C39');
Pick := DTMFromString('78DA63B463626078C28002F415D818FE03694' +
'620FE0F048C264035B719D000231209A4FD816A1E1150630954F3' +
'89801A67A09A6BF8D500006B430B0F');
end;


Procedure FreeDTMS;
begin
FreeDTM(Bank);
FreeDTM(BrokenPick);
FreeDTM(Gem);
FreeDTM(Head);
FreeDTM(Stick);
FreeDTM(Pick);
end;


Procedure nDbug(s: String);
begin
if dbug then writeln(s);
end;


Function Relocate( p : Integer ): Boolean;
var
x, y: Integer;
Label Cook;
begin
case p of
1:
begin
ndbug('Crap, we are lost while walking');
ndbug('Attempting to relocate. (In Mine)');
If FindSymbol(x, y, 'Quest')then
begin
MFF(x, y - 10, 5 , 5);
Flag;
end;
If FindSymbol(x, y, 'mining spot')then
begin
mff(x + 6, y, 2, 2);
flag;
ToBank;
if BankStuff then
begin
result := True;
inc(Relocates);
KeepPlayer;
Writeln('Succesessfully Relocated!');
exit;
end;
Writeln('Failed at Relocating!');
Writeln('Player lost!');
end;
end;

2:
begin
Cook:
begin
if FindSymbol(x, y, 'cook')then
begin
mff(x + 62, y - 20, 4, 4);
flag;
if FindCross(x,y)then
begin
mouse(x , y - 20, 3, 3, true);
flag;
end else radialRoadWalk(FindVarrockRoadColor, 5, 10, 50, 1, -1);
flag;
if findMMbank then
begin
ndbug('Walked into bank');
if BankStuff then
begin
KeepPlayer;
inc(Relocates);
exit;
end;
end else
begin
if DTMRotated(Bank, x, y, MMX1, MMY1, MMX2, MMY2)then
begin
mouse(x, y + 5, 2, 2, true);
flag;
nDbug('Used fail safe');
end else
begin
KillPlayer;
exit;
end;
end;
end;
end;
if FindColor(x, y, FindRockColor, MMX1, MMY1, MMX2, MMY2)then
begin
mff(x, y, 4, 4);
flag;
goto Cook;
end;
If FindSymbol(x, y, 'anvil')or FindSymbol(x, y, 'guide')then
begin
mff(x, y, 4, 4);
flag;
if FindMMbank then
begin
writeln('Made way back to bank!');
if BankStuff then
begin
result := true;
inc(Relocates);
KeepPlayer;
exit;
end;
end;
Writeln('Failed at relocating!');
end;
end;
end;
Writeln('Fudge Player is lost');
end;





function findMMbank:boolean;
var
i,x2,bankers, x, y:integer;
begin
if not loggedin then exit;
bankers:=DTMFromString('78DA635CCDC4C0B096010C182114C39F3F4C7' +
'0FE7F206004A9598A5B0D9806A9D98A5F0D0073770E02');
for i:=1 to 8 do
begin
x2:=mmx1+round((mmx2-mmx1)*(i/8));
if DTMrotated(bankers,x,y,mmx1,mmy1,x2,mmy2) then
begin
if mfnf(x+7,y,2,1) then
begin
fflag(0);
result:=true;
break;
end;
end;
end;
freeDTM(bankers);
end;


Procedure ToMine;
var
TheX, TheY,x, y, k: Integer;
gh: Boolean;
begin
if not loggedin then exit;
lol := SetDDTM;
if DTMRotated(lol, x, y, MMX1, MMY1 + 60, mmx2- 60, MMY2)then
begin
mouse(x+ 6, y+ 6, 3, 3, true);
flag;
nDbug('Found DTM');
end else RadialRoadWalk(FindVarrockRoadColor, 225, 220, 50, 1, 1);
flag;
FreeDTM(LOL);
If FindLadderNearBank(x, y) then
begin
mouse(x - 15, y , 4, 4, true);
wait(200);
flag;
end else
begin
If not relocate(2) then
begin
killPlayer;
end;
end;
Flag;
For k := 0 to 1 do
WalkAgainstWhiteWall('s', True);

if FindCross( x, y ) then
begin
writeln('found');
gh := True;
mouse( x, y + 40, 2, 2, true );
wait(200);
flag;
end else
begin
writeln('didnt find ladder first time');
if not WalkAgainstWhiteWall('s', True) then
if not relocate(2) then
begin
KillPlayer;
exit;
end;
end;
K := 0;
repeat
if(FindColor(x, y, FindStoneColor, MMX1, MMY1 {+ 70}, MMX2, MMY2))then
begin
mouse(x, y - 1, 3, 3, true);
wait(200);
Flag;
gh := True;
end else
begin
WalkAgainstWhiteWall('s', True);
gh := False;
inc(K);
end;
until gh or (k > 4);
if( k > 4 )then
begin
if not relocate(2) then
begin
ndbug('Lost');
KillPlayer;
exit;
end;
end;

case LowerCase(Players[CurrentPlayer].strings[0]) of
'tin':
begin
TheX := -30;
TheY := 17;
end;
'clay':
begin
TheX := -30;
TheY := 30;
end;
'iron':
begin
TheX := -30;
They := 50;
end;
'silver':
begin
TheX := -30;
They := 50;
end;
end;
If not FindSymbol(x, y, 'mining site')then
begin
if(FindColor(x, y, FindStoneColor, MMX1, MMY1 {+ 70}, MMX2, MMY2))then
begin
mouse(x, y, 3, 3, true);
wait(200);
Flag;
end else
begin
if not relocate(2) then
KillPlayer;
end;
end;
ndbug('Found Mining symbol, continuing');
if findColor(x, y, FindStoneColor, MMCX + TheX, MMCY + TheY, MMX2, MMY2)then
begin
mouse(x,y ,3, 3, true)
flag;
end else
if not relocate(1) then
begin
KillPlayer;
exit;
end;
end;


Procedure ToBank;
var
x, y, i: Integer;
begin
if not loggedin then exit;
SetRun(False);
if FindColor(x, y, FindStoneColor, MMX1, MMY1, MMX2, MMY2)then
begin
mouse(x, y, 0, 0, true);
flag;
end else
begin
ndbug('didnt find the stone');
if not WalkAgainstWhiteWall('n', True)then
if not relocate(1) then
begin
killPlayer;
end;
end;
WalkAgainstWhiteWall('n', True);
If FindCross(x, y)then
begin
mouse(x - 25, y, 0, 0, true);
flag;
end else
begin
ndbug('Couldnt find ladder');
if not WalkAgainstWhiteWall('n', True) then
if not relocate(1) then
begin
KillPlayer;
exit;
end;
end;
WalkAgainstWhiteWall('n', True);
if FindCross(x,y)then
begin
mouse(x , y - 20, 3, 3, true);
flag;
end else radialRoadWalk(FindVarrockRoadColor, 5, 10, 50, 1, -1);
flag;
if findMMbank then
begin
ndbug('Walked into bank');
exit;
end else
begin
if DTMRotated(Bank, x, y, MMX1, MMY1, MMX2, MMY2)then
begin
mouse(x, y + 5, 2, 2, true);
flag;
nDbug('Used fail safe');
end else
begin
KillPlayer;
exit;
end;
end;
end;


Function FindVWB(var Cords: Tpoint): Boolean; Forward;


Procedure NewPick;
var
i,x, y, a: Integer;
k: Tpoint;
begin
if not loggedin then exit;
if Players[CurrentPlayer].booleans[0]then
begin
Gametab(5);
mmouse(583, 299, 10, 10);
wait(100+random(100));
if isuptext('oken')then
begin
Getmousepos(x, y);
mouse(x, y, 0, 0, true);
gametab(4);
end else ndbug('Was not pick weiled!');
end;
For i := 1 to 28 do
begin
mmouseItem(i);
wait(100+random(100));
if isuptext('oken')then
begin
Getmousepos(x, y);
holdmouse(x, y, true);
wait(100+random(100));
mmouseitem(1);
wait(100+random(100));
getmousepos(x, y);
releasemouse(x, y, true);
break;
end;
end;
flag;
wait(200);
if FindVWB(k) then
begin
nDbug('Using noidea''s openbank!');
if pinscreen then
inpin(Players[CurrentPlayer].pin);
if bankscreen then
begin
depositall;
MouseBox(39, 93, 66, 121, 3);
wait(100+random(100));
if isuptext('ickax')then
begin
getmousepos(x, y);
mouse(x, y, 0, 0 ,true);
end else
begin
ndbug('No more picks for the player, it''s false now');
closebank;
KillPlayer;
exit;
end;
closebank;
if Players[CurrentPlayer].booleans[0] then
begin
MMouseItem(1);
wait(100+random(100));
if isuptext('ickax')then
begin
getmousepos(x, y);
mouse(x, y, 0 , 0, true);
end else
begin
ndbug('Pick wasnt in first inv spot, i give up');
ndbug('Next Player');
killplayer;
exit;
end;
end;
end;
end;
end;


{-------------------------------}
{ MasterKill's Responder- Start }
{-------------------------------}
var
HowManyResponds: Integer;
TheQuestion, TheRespond: array of array of String;

Procedure SetupResponds;
begin
HowManyResponds := 2;
SetArrayLength(TheQuestion, HowManyResponds); SetArrayLength(TheRespond, HowManyResponds);
TheQuestion[0] := ['noob'];
TheRespond[0] := ['Im not a noob!', 'your the noob', 'look in the mirror', 'noob noob', 'no way noob', 'your more noob', 'whoes noob?'];

TheQuestion[1] := ['respond'];
TheRespond[1] := ['what to say?', 'i dont have anything to say', 'no im bussy'];
end;


{*******************************************************************************
function GetBlackText(ChatLine: Integer): string;
By: ZephyrsFury based on the works of Wizzup?
Description: Gets the black message text on ChatLine (1 to 8).
*******************************************************************************}

function GetBlackText(ChatLine: Integer): string;
var
TP: TPoint;
begin
TP := TextCoords(ChatLine);
Result := Trim(GetTextAtEx(TP.x - 2, TP.y - 2, 0, SmallChars, False, False, 0,
1, 0, 80, False, tr_AllChars));
end;

Function AutoRespond : Boolean; //Ty MK for the Responder
var
Text, Name, MakeRespond, LastRespond : String;
x, y, I, II, Rand, CurTime, SetTime : Integer;
Awnser : TStringArray;
TextP : TPoint;

begin
if not loggedin then exit;
CurTime := GetSystemTime;
If (CurTime - SetTime < 20000) Then Exit;
For I := 8 DownTo 4 Do
Begin
TextP := TextCoords(I);
If findcolor(x, y, 16711680, TextP.x, TextP.y, TextP.x + 200, TextP.y + 14) Then
Begin
Text := LowerCase(Trim(GetTextAtEx(x - 3, textp.y - 2, 0, SmallChars, False, False, -1, 1, 16711680, 60, False, tr_allChars)));
If (Text = LastRespond) Then
Exit;
LastRespond := Text;
Name := GetBlackText(I);
If (Pos(Players[CurrentPlayer].nick, Name) <> 0) then Exit;
Break;
End;
If (I = 4) Then Exit;
End;
If (Pos(Players[CurrentPlayer].Nick, Text) <> 0) Then
Begin
If (Pos('nice', Text) <> 0) Or (Pos('cool', Text) <> 0) Then
Begin
Awnser := ['thanks', ':)', 'tnx', 'ur cool to'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
If (Pos('friends', Text) <> 0) Then
Begin
Awnser := ['no', 'no way', 'sorry my list is full', 'no sorry'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
If (Pos('macro', Text) <> 0) Or (Pos('bot', Text) <> 0) Or (Pos('auto', Text) <> 0) Then
Begin
Awnser := ['lol im not!', 'why?', 'no way', 'not me', 'dream on', 'nah'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
Begin
Awnser := ['no, im bussy', 'go away plz', 'leave me alone', 'im bussy'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End;
WriteLn('Respond:');
WriteLn('/ ' + Name + ' ' + Text);
TypeSend(MakeRespond);
WriteLn('/ ' + Players[CurrentPlayer].Name + ': ' + MakeRespond);
Responds := Responds + 1;
Result := True;
SetTime := GetSystemTime;
exit;
End;
If (Pos('mining', Text) <> 0) Then
Begin
If (Pos('my mining level is', Text) <> 0) Or (Pos('m mining ore', Text) <> 0) Then
Begin
Awnser := ['gratz', ':)', 'kewl', 'cool'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
If (Pos('what is your level in mining', Text) <> 0) Then
Begin
Awnser := [IntToStr(GetSkillLevel('mining')), 'me ' + IntToStr(GetSkillLevel('mining')), 'My Mining level is '+ IntToStr(Players[CurrentPlayer].integers[1]) + '.'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
If (Pos('what ore are you mining', Text) <> 0) Then
Begin
Awnser := [Players[CurrentPlayer].Strings[0]];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
If (Pos('s a good place for me', Text) <> 0) Then
Begin
Awnser := ['here', 'what about here', 'here i guess', 'here?'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End Else
Begin
Awnser := [IntToStr(GetSkillLevel('mining')), 'me ' + IntToStr(GetSkillLevel('mining')), 'My Mining level is '+ IntToStr(GetSkillLevel('mining')) + '.'];
I := random(High(Awnser));
MakeRespond := Awnser[I];
End;
WriteLn('Respond:');
WriteLn('/ ' + Name + ' ' + Text);
TypeSend(MakeRespond);
WriteLn('/ ' + Players[CurrentPlayer].Name + ': ' + MakeRespond);
Responds := Responds + 1;
Result := True;
SetTime := GetSystemTime;
exit;
End;
For I := 0 To HowManyResponds - 1 Do
begin
For II := 0 To High(TheQuestion[I]) Do
Begin
If (Pos(TheQuestion[I][II], Text) <> 0) then
begin
WriteLn('Respond:');
WriteLn('/ ' + Name + ' ' + Text);
Rand := Random(High(TheRespond[I]));
TypeSend(TheRespond[I][Rand]);
WriteLn('/ ' + Players[CurrentPlayer].Name + ': ' + TheRespond[I][Rand]);
Result := True;
SetTime := GetSystemTime;
exit;
end;
end;
end;
end;

{--------------------------------------------------------------------}


{*******************************************************************************
function FindGas(gx, gy: Integer): Boolean;
By: Nielsie95 and Sumilion
Description: gx, gy are the coordinates of the found ore color
*******************************************************************************}
function FindGas(gx, gy: Integer): Boolean;
var
arP: TPointArray;
c: TIntegerArray;
i, l, t, m, r, g, b, x, y: Integer;
Bounds: TBox;
P: TPoint;
begin
if not loggedin then exit;
if not InRange(gx, MSX1, MSX2) or not InRange(gy, MSY1, MSY2) then
Exit;

ColorToleranceSpeed(2);
t := 0;
m := 0;
SetColorspeed2Modifiers(0.13, 0.77);
if not FindColorTolerance(x, y, 10070706, gx - 30, gy - 30, gx + 30, gy + 30, 9) then
begin
ColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
Exit;
end;

FindColorsTolerance(arP, 5335923, 3, 3, 515, 336, 6);
while True do
begin
if (Length(arP) < 3) then Break;
Bounds := GetTPABounds(arP);
SetColorspeed2Modifiers(0.1, 0.4);
FindColorsTolerance(arP, 7244690, Max(Bounds.x1 - 15, 0), Max(Bounds.y1 - 15, 0), Min(Bounds.x2 + 15, 515), Min(Bounds.y2 + 35, 336), 20);
if (Length(arP) < 65) then Break;
c := GetColors(arP);
l := High(c);
for i := 0 to l do
begin
ColorToRGB(c[i], r, g, b);
m := m + r + g + b;
end;
m := (m / (l + 1)) / 3;
for i := 0 to l do
begin
ColorToRGB(c[i], r, g, b);
r := iAbs(m - (r + b + g) / 3);
if (r < 15) then
Inc(t);
end;
Result := ((t / l * 1.0) < 0.85) and (Extended(t / l * 1.0) > 0.15);
if Result then
begin
P := MiddleTPA(arP);
Result := (Distance(P.x, P.y, MSCX, MSCY) < 80);
end;
Break;
end;

ColorToleranceSpeed(1);
SetColorspeed2Modifiers(0.2, 0.2);
end;


function GasFinder(GX, GY : Integer): Boolean; //Thanks Wizzup!
Var
x1, y1, x2, y2, I, time, c: Integer;
R, G, B: Integer;
H, S, L: ExtEnded;
X, Y, Z: ExtEnded;
Gas, Gas2: TPointArray;
Colors, C2: TIntegerArray;
begin
if not loggedin then exit;
Try
x1 := gx - 35;
If x1 < 0 Then
x1 := 0;
y1 := gy - 35;
If y1 < 0 Then
y1 := 0;
x2 := gx + 35;
If x2 > 515 Then
x2 := 515;
y2 := gy + 35;
If y2 > 336 Then
y2 := 336;
Time := GetSystemTime;
Result := False;
c := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2ModIfiers(0.2, 0.2);
FindColorsTolerance(Gas, 8886170, x1, y1, x2, y2, 20);
ColorToleranceSpeed(c);
If length(Gas) < 10 Then
Exit;
Colors := GetColors(Gas);
C2 := Colors;
ClearSameIntegers(C2);
// writeln('Colors Length: ' + inttostr(length(colors)));
// writeln('C2 Length: ' + inttostr(length(C2)));
If Length(C2) < 40 Then
Exit;
For I := 0 To High(Gas) Do
Begin
ColorToRGB(Colors[I], R, G, B);
If Abs(R - G) <= 10.0 Then
Begin
ColorToHSL(Colors[I], H, S, L);
If (H > 11.5) And (H < 16.0) And (S < 12.0) Then
Begin
ColorToXYZ(Colors[I], X, Y, Z);
If (Abs(X - Y) < 5.0) And (Abs(X - Z) < 5.0) And (Abs(Y - Z) < 5.0) Then
Begin
SetLength(Gas2, Length(Gas2) + 1);
Gas2[High(Gas2)] := Gas[I];
End;
End;
End;
End;
//WriteLn('time: ' + IntToStr(GetSystemTime - Time));
//WriteLn('gas2 length: ' + IntToStr(Length(Gas2)));
Result := (Length(Gas2) > 30); // The only number you might want to tweak.
//debugtpa(Gas2, '');
if result then
begin
SaveScreenshot(ScriptPath + 'Found WIZZUP gas ' + TimeRunning + '.bmp')
Exit;
end;
//debugtpa(gas2, '');
Except WriteLn('No window selected'); end;
End;

{----------------------------}
{ Find Gas Procedure! }
{----------------------------}


Procedure DetectGas;
var
x, y: Integer;
Begin
if not loggedin then exit;
If GasFinder(x, y) or FindGas(x, y) then
begin
inc(gasses);
MouseFlag(MMCX + 5, MMCY+5, 5, 5, 0);
SleepAndMoveMouse(7000 + Random(300));
end;
end;


Function FindPick: Boolean;
var
x, y: Integer;

begin
if not loggedin then exit;
GameTab(4);
Wait(100+Random(200));
if not FindDTM(Pick, x, y, mix1, miy1, mix2, miy2) then
begin
GameTab(5);
Wait(100+random(300));
if not FindDTM(Pick, x, y, mix1, miy1, mix2, miy2) then
begin
Result:=False;
Exit;
end else
begin
Result:=True;
Exit;
end;
end else
Result:=True;
end;


Function FindRock(s: String; var Cord: TPoint): Boolean;
Var
CTS, I: Integer;
TheTPA: TPointArray;
ATPA: Array of TPointArray;
Options: TVariantArray;
begin
if not loggedin then exit;
case Lowercase(s) of
'tin': Options := ([ 0.14, 0.13, 8553100, 11 ]);
'clay': Options := ([ 0.01, 1.58, 5544639, 11 ]);
'iron': Options := ([ 0.01, 0.07, 2832734, 15 ]);
'silver': Options := ([ 0.10, 0.57, 9546935, 5 ]);
end;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Options[0], Options[1]);
FindColorsSpiralTolerance(MSCX, MSCY, TheTPA, Options[2] , MSX1, MSY1, MSX2, MSY2, Options[3]);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TheTPA, 8, 8);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], Cord.x, Cord.y);
if (Distance(mscx, mscy, Cord.x, Cord.y) > 229) then exit;
MMouse(Cord.x, Cord.y, 3, 3);
wait(100+random(100));
FindNormalRandoms;
DetectGas;
If(IsUpTextMultiCustom(['Mine', 'Min', 'ine', 'Rock', 'ock'])) then
begin
Result := True;
GetMousePos(Cord.x, Cord.y);
DetectGas;
Break;
end;
end;
end;


Procedure Randoms;
begin
DetectGas;
FindNormalRandoms;
if findFight then
begin
runaway('e',true,1,5000+random(5000));
inc(fightss);
exit;
end;
DetectGas;
AutoRespond;
end;


Function FindHead(var head: Tpoint): Boolean;
Var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
Optionz: TVariantArray;
begin //8286806 //7826257
case Lowercase(ThePick) of
'steel': Optionz := ([ 0.25, 0.05, 5855840, 9 ]);
'bronz': Optionz := ([ 0.05, 0.01, 2110788, 9 ]);
'iron': Optionz := ([ 0.12, 0.04, 5263445, 17 ]);
'mith': Optionz := ([ 0.10, 0.02, 5979710, 11 ]);
'rune': Optionz := ([ 0.00, 0.05, 8812891, 13 ]);
'addy': Optionz := ([ 0.10, 0.03, 5136717, 9 ]);
end;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(Optionz[0], Optionz[1]);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, Optionz[2] , MSX1, MSY1, MSX2, MSY2, Optionz[3]);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 2, 2);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], head.x, head.y);
MMouse(head.x, head.y, 2, 2);
wait(100+random(100));
If(IsUpTextMultiCustom(['ake', 'ick', 'ead'])) then
begin
Result := True;
GetMousePos(head.x, head.y);
Break;
end;
end;
end;


Function LostHead: Boolean;
var
x, y, ct: Integer;
begin
ct := GetCurrentTab;
case Players[CurrentPlayer].Booleans[0] of
True: Gametab(5);
False: Gametab(4);
end;
Result := FindDTM(Stick, x, y, MIX1, MIY1, MIX2, MIY2);
If result then
if GetCurrentTab = 5 then mouse(x, y, 3, 3, true);
Gametab(ct);
end;


Procedure WhileWacking;
var
LastChat1, LastChat0: String;
l: Integer;
head1: Tpoint;
x, y: Integer;
label This;
begin
if not loggedin then exit;
LastChat1 := 'no ore';
LastChat0 := 'anag';
SafeFlag;
SleepAndMoveMouse(1000);
makeCompass('N')
MarkTime(l);
repeat
Randoms;
sleepandMoveMouse(100 * 2);
until (invFull)or FindBlackChatMessage(LastChat0)or FindBlackChatMessage(LastChat1)or(TimeFromMark(l) > MaxWait + Random(2000));
if FindNPCChatText('do not have a', ClickLeft)then
begin
if LostHead then
begin
if FindHead(head1)then
begin
mouse(head1.x, head1.y, 0, 0, false);
Chooseoption('ake');
SafeFlag;
wait(500+random(300));
if Players[CurrentPlayer].Booleans[0]=True then//If the pickaxe
begin //was weilded, then
GameTab(5); //un-equip the stick.
if FindDTM(Stick, x, y, mix1, miy1, mix2, miy2)then
Mouse(X, Y, 2, 2, True);
Wait(500+Random(200));
end;
if FindDTM(Head, x, y, mix1, miy1, mix2, miy2)then
begin
mouse(x, y, 3, 3, true);
if FindDTM(Stick, x, y, MIX1, MIY1, MIX2, MIY2)then
begin
mouse(x, y, 3, 3, true);
inc(headsrepaired);
If Players[CurrentPlayer].Booleans[0] then//Weild the pick.
if FindDTM(Pick, x,y, MIX1, MIY1,MIX2, MIY2)then
mouse(x, y, 4, 4, true);
exit;
end else
begin
FindDTM(Head, x, y, MIX1, MIY1, MIX2, MIY2)
mouse(x, y, 3, 3, true);
end;
end else
begin
ndbug('Didnt find pick head');
goto This;
end;
end else
begin
ndbug('Error: Didn''t find pick head on ground!');
Goto This;
end;
end else Goto This;

This:
if FindPick then
begin
ToBank;
BankStuff;
inc(NewPicks);
NewPick;
Logout;
Players[CurrentPlayer].Active := True;
exit;
end else ndbug('False alarm, no broken picks!');
DwarfItem;
end;
end;


Function FindVWB(var Cords: Tpoint): Boolean;
Var
CTS, I: Integer;
TPA: TPointArray;
ATPA: Array of TPointArray;
begin
if not loggedin then exit;
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.04, 1.43);
FindColorsSpiralTolerance(MSCX, MSCY, TPA, 2180433 , MSX1, MSY1, MSX2, MSY2, 7);
ColorToleranceSpeed(CTS);
ATPA := TPAToATPAEx(TPA, 15, 15);
For I := 0 to High(ATPA) do
begin
MiddleTPAEx(ATPA[i], Cords.x, Cords.y);
MMouse(Cords.x, Cords.y, 2, 2);
wait(100+random(100));
If(IsUpTextMultiCustom(['Bank', 'ank', 'Boot', 'ooth' ])) then
begin
GetMousePos(Cords.x, Cords.y);
mouse(Cords.x, Cords.y, 0, 0, false);
wait(100);
if not Chooseoption('uickly')then
begin
mouse(Cords.x, Cords.y, 0, 0, false);
wait(100);
ChooseOption('ank');
end;
wait(100);
Flag;
wait(400+random(200));
Result := BankScreen or Pinscreen;
Break;
end;
end;
end;


Function FindGem(var x:Tpoint):boolean;
begin
if not loggedin then exit;
Result := finddtm(Gem,x.x,x.y,MIX1,MIY1,MIX2,MIY2);
end;


Function Bankstuff: Boolean;
var
k: TPoint;
begin
if not loggedin then exit;
flag;
wait(200);
if FindVWB(k) then
begin
nDbug('Using noidea''s openbank!');
if pinscreen then
inpin(Players[CurrentPlayer].pin);
if bankscreen then
begin
ReportVars[0] := ReportVars[0] + CountOre;
ReportVars[0] := ReportVars[0] + CountClay;
ReportVars[1] := ReportVars[1] + CountGems;
Rocks := Rocks + CountOre;
Rocks := Rocks + Countclay;
Gems := Gems + CountGems;
Players[CurrentPlayer].integers[2] := Players[CurrentPlayer].integers[2] + CountGems;
Players[CurrentPlayer].integers[0] := Players[CurrentPlayer].integers[0] + CountOre;
Players[CurrentPlayer].integers[0] := Players[CurrentPlayer].integers[0] + CountClay;
if Players[CurrentPlayer].Booleans[0] then
depositAll else deposit(2, 28, true);
closebank;
Result := True;
end;
end else
begin
if OpenBankFast('vwb')then
begin
If pinscreen then
inpin(Players[CurrentPlayer].pin);
if BankScreen then
begin
ReportVars[0] := ReportVars[0] + CountOre;
ReportVars[0] := ReportVars[0] + CountClay;
ReportVars[1] := ReportVars[1] + CountGems;
Rocks := Rocks + CountOre;
Rocks := Rocks + Countclay;
Players[CurrentPlayer].integers[0] := Players[CurrentPlayer].integers[0] + CountOre;
Players[CurrentPlayer].integers[0] := Players[CurrentPlayer].integers[0] + CountClay;
if Players[CurrentPlayer].Booleans[0] then
depositAll else deposit(2, 28, true);
CloseBank;
Result := True;
end;
end else
begin
ndbug('Couldnt Openbank');
KillPlayer;
Result := False;
exit;
end;
end;
end;


Procedure MineRocks;
var
TehCords, gem: Tpoint;
i: Integer;
begin
if not loggedin then exit;
repeat
if not loggedin then exit;
if FindRock(Lowercase(Players[CurrentPlayer].strings[0]), TehCords)then
begin
DetectGas;
FindNormalRandoms;
Case random(2)of
0: mouse(TehCords.x, TehCords.y, 0, 0, true);
1: begin
mouse(TehCords.x, TehCords.y, 0, 0, false);
chooseoption('ine');
end;
end;
WhileWacking;
if DropGems then
begin
if FindGem(Gem)then
begin
mouse(gem.x, gem.y, 4, 4, false);
Chooseoption('rop');
end;
end;

i := 0;
end else
begin
inc(i);
SleepAndMoveMouse(2000);
if ( i > 60+random(10) )then
if not relocate(1)then
begin
nDbug('Couldnt Find The Rocks, KillingPlayer!');
KillPlayer;
exit;
end;
end;
DetectGas;
FindNormalRandoms;
Until InvFull;
end;


Function CheckPick: Boolean;
var
gx, gy: Integer;
begin
if not loggedin then exit;
GameTab(4);
Case Players[CurrentPlayer].Booleans[0] of
True:
begin
GameTab(5);
wait(100);
If findDTM(Pick, gx, gy, MIX1, MIY1, MIX2, MIY2)then
begin
Ndbug('Pick was weilded');
Result := True;
exit;
end else
begin
nDbug('Pick was not weilded!!!');
nDbug('Please give your players picks!');
KillPlayer;
exit;
end;
end;

False:
begin
GameTab(4);
wait(100);
If findDTM(Pick, gx, gy, MIX1, MIY1, MIX2, MIY2)then
begin
Ndbug('Pick was in the Inventory');
Result := True;
exit;
end else
begin
nDbug('Pick was not in the Inventory!!!');
nDbug('Please give your players picks!');
KillPlayer;
exit;
end;
end;
end;
end;


Procedure Report;
var I : Integer;
begin
Writeln(' _________________________________________________');
Writeln('/ noidea''s VWM''er \');
Writeln('|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| ');
writeln(Padr('| Time Running : ' + TimeRunning,50) + '|');
Writeln(padr('| Total mined : ' + Inttostr(Rocks), 50)+ '|');
Writeln(padr('| Total gasses : ' + IntToStr(Gasses), 50)+ '|');
Writeln(padr('| Total loads : ' + inttostr(p), 50)+ '|');
If Gems > 0 then
Writeln(padr('| Total gems : ' + inttostr(Gems),50)+ '|');
if Responds > 0 then
Writeln(padr('| Total Responds : ' + inttostr(Responds), 50)+ '|');
if fightss > 0 then
Writeln(padr('| Fights : ' + inttostr(fightss),50)+ '|');
if NewPicks > 0 then
Writeln(Padr('| NewPicksGotton : ' + inttostr(NewPicks), 50)+ '|');
if headsrepaired > 0 then
Writeln(padr('| Picks repaired : ' + inttostr(headsrepaired), 50) + '|');
if Relocates > 0 then
writeln(Padr('| Relocated : ' + inttostr(relocates), 50) + '|');
Writeln('|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|');
Writeln('| Player | Active | Loads | Mined | Gems |');
for I := 0 to (HowManyPlayers - 1) do
begin
Writeln(Padr(padr('| ' +inttostr(i) , 11)+ '| ' + Left(BoolToStr(Players[I].Active), 1) + ' | ' + padr((inttostr(Players[I].Integers[1])), 6) + '| ' + Padr((inttostr(Players[I].integers[0])), 6) + '| ' + padr(inttostr(Players[CurrentPlayer].integers[2]),5) + '', 50)+'|');
end;
Writeln('\_________________________________________________/');
end;

Procedure PickColours;
var
x, y: Integer;
begin
if FindColorTolerance(x, y, 4474186, 584, 216, 598, 229, 5) then
ThePick := 'iron';
if FindColorTolerance(x, y, 3951676, 584, 216, 598, 229, 5) then
ThePick := 'addy';
if FindColorTolerance(x, y, 6645357, 584, 216, 598, 229, 5) then
ThePick := 'steel';
if FindColorTolerance(x, y, 5519673, 584, 216, 598, 229, 5) then
ThePick := 'mith';
if FindColorTolerance(x, y, 6116415, 584, 216, 598, 229, 5) then
ThePick := 'rune';
if FindColorTolerance(x, y, 1913151, 584, 216, 598, 229, 5) then
ThePick := 'bronz';
ndbug('Using ' + (ThePick) + ' pick.');
end;



Procedure DoTheCheck;
var
x, y, i: Integer;
begin
if not Players[currentplayer].booleans[0] then
begin
if not FindDTM(Pick, x, y, 553, 210, 599, 249)then
For i := 1 to 28 do
begin
mmouseItem(i);
wait(100+random(100));
if isuptext('ick')then
begin
GetmousePos(x, y)
holdmouse(x, y, true);
wait(70+random(70));
mmouseItem(1);
getmousepos(x, y);
wait(100+random(50));
releasemouse(x, y, true);
writeln('Please keep unweilded, in-use picks, in first inv slot');
break;
end;
end;
end;
end;

Procedure SetupPlayer;
begin
if not loggedin then LoginPlayer;
MaxWait := 0;
case Lowercase(Players[CurrentPLayer].strings[0])of
'tin': MaxWait := 6500;
'clay': Maxwait := 7000;
'iron': MaxWait := RandomRange(4000, 5000);
'silver': MaxWait := 11000;
end;
DoTheCheck;
if CheckPick then
PickColours;
makeCompass('n');
setangle(true);
end;






var
h: Integer;
begin
setupsrl;
ScriptID := '1142';
SRLID := SRLStatsID;
SRLPassword := SRLStatsPass;
LoadDTMs;
DeclarePlayers;
ActivateClient;
MouseSpeed := 19;
SymbolAccuracy := 0.45;
repeat
h := 0;
If not Loggedin then LoginPlayer;
SetupPlayer;
repeat
SetRun(True);
ToMine;
flag;
wait(300+random(200));
MineRocks;
ToBank;
Bankstuff;
inc(h);
inc(p);
Inc(Players[CurrentPlayer].integers[1]);
ReportVars[2] := ReportVars[2] + 1;
SRLRandomsReport;
report;
Disguise('Player ' +inttostr(CurrentPlayer) + ' mined '+ inttostr(Players[CurrentPlayer].integers[0]) + ' ores');
until not loggedin or(h >= Loadsb4switch);
Logout;
if HowManyPlayers = 1 then wait(60000*2+random(60000));
NextPlayer(Players[CurrentPlayer].Active);
If not loggedin then loginplayer;
until allplayersinactive
FreeDTMs;
end.

/
/

Thanks to Masterkill for his auto responder, its great!
Thanks to NaumanAklaQ, I took the responder out of his script.
Thanks to munk for his findMMbank function.
Thanks to the SRL team.
Thanks to WT-Fakawi for his recent donation to keep SRL up!

Long live SRL.
We shall be the last generation of RS2 cheating...

But fixing the gas finding is up to you!

noidea

2009-01-19 01:53:34

Updated!

I made so vital ujustmants (Dont know how to spell that :p), the little tiny things that I never noticed, after giving this a long hard look.

Fixed the pick DTM, sorry, there isnt anything I can do about the gas. SRL needs an updated finder… :p

mike1994r

2009-01-19 16:29:25

i get this error
Line 581: [Error] (16893:28): Invalid number of parameters in script

noidea

2009-01-19 16:34:44

From: mike1994r
i get this error
Line 581: [Error] (16893:28): Invalid number of parameters in script


Thanks!
Please redownload.

Updated to 0.76b!

mike1994r

2009-01-19 16:37:49

wow that was fast

noidea

2009-01-19 16:38:23

:p
Be sure to tell me how it works please :)

mike1994r

2009-01-19 16:40:36

i get this
Line 696: [Hint] (17008:1): Variable 'I' never used in script
Line 760: [Hint] (17072:1): Variable 'A' never used in script

noidea

2009-01-19 16:42:59

Thats fine. IT should still load SMART and continue on with the script.

mike1994r

2009-01-19 16:43:33

ok ill try it now



i got this now
[Runtime Error] : Exception: Access violation at address 006165B1 in module 'scar.exe'. Read of address 00000000 in line 355 in script


its working now i restarted my computer and it works perfectly

sorry for all the edits but it goes to the mining area and just sits there with no errors

noidea

2009-01-19 16:57:00

Make sure you have the exact name filled out of the ore you want to mine. And please make sure its lowercase

mike1994r

2009-01-19 16:57:24

this is the best it did

/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 56 Seconds |
| Total mined : 0 |
| Total gasses : 0 |
| Total loads : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | T | 1 | 0 | 0 |
| 1 | T | 0 | 0 | 0 |
| 2 | T | 0 | 0 | 0 |
| 3 | T | 0 | 0 | 0 |
| 4 | T | 0 | 0 | 0 |
| 5 | T | 0 | 0 | 0 |
\_________________________________________________/

noidea

2009-01-19 17:01:54

Are the exact ores filled out like
'tin' or 'clay' or 'iron' or 'silver' ?
It works for me.

mike1994r

2009-01-19 18:48:55

yea it kinda works but sometimes it doesnt logg in and then ill have to restart the scripts

sharlene212

2009-01-21 21:56:19

_________________________________________________
/ noidea's VWM'er 0.76b \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 2 Hours, 48 Minutes and 52 Seconds|
| Total mined : 392 |
| Total gasses : 0 |
| Total loads : 19 |
| Fights : 16 |
| Relocated : 5 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | T | 11 | 239 | 0 |
| 1 | F | 8 | 153 | 0 |
\_________________________________________________/
i cant get the script to last more than 3 hours, my characters always get lost. it might be just a guess.. but since i have slow internet(64kbs) . im guessing the game cant keep up with the script, it tries to do one procedure, but when the game doesnt respond in time the script just continues, btw this was the walking procedures.

noidea

2009-01-21 22:03:23

Yea, I noticed that aswell
I dont think this script can handle lag.
Im going to revamp this once I finish my current project.

006786

2009-01-21 23:50:03

EXCELLLENT script.

I'm getting a proggy now (lvl 1 mining :\)

On the responder though..

/ Guy1: lie to thee runescape news and say u mined a frozen body wh
/ Me: go away plz
Respond:
/ Guy2: yes, everyone on runescape is right now at a mental institu
/ Me: no, im bussy


Works, but doesn't make any sense at times.

sharlene212

2009-01-22 02:51:01

i thought about my problem and decided to change your
wait(100);
to
wait(500+random(100))
where ever i saw it and i finally was able to get this proggy:
_________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 3 Hours, 39 Minutes and 29 Seconds|
| Total mined : 734 |
| Total gasses : 0 |
| Total loads : 32 |
| Total gems : 1 |
| Fights : 8 |
| Relocated : 2 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 6 | 83 | 1 |
| 1 | T | 12 | 302 | 1 |
| 2 | F | 14 | 349 | 1 |
\_________________________________________________/
don't know if it was just luck or what i did actually worked ;)

006786

2009-01-22 15:25:57

/                 noidea's VWM'er                 \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 1 Hours, 44 Minutes and 17 Seconds|
| Total mined : 336 |
| Total gasses : 0 |
| Total loads : 14 |
| Total Responds : 2 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | F | 14 | 336 | 0 |
\_________________________________________________/

Baked0420

2009-01-22 16:36:52

I think you should add an option to powermine, then I'd use this. It'd be a nice feature to have to your script.

Would you care if I added it for me to use?

noidea

2009-01-22 19:11:25

Sorry guys my mum took my comp cable, just got it back.
This script doesnt deal with lagg at all. I was watching it while my comp lagged and it was freaking out. But when it didnt lagg at all, it was wonderfull. (8 hour proggie :p)

Baked: Edit it how you want :)

Baked0420

2009-01-24 21:07:03

ok thanks, I need a iron powerminer and don't feel like making one, just wanted to edit a script that mines iron since I can only find iron banking scripts, can't find an up-to-date powerminer.

infested999

2009-01-28 19:35:55

Alright mine is working perfectly right now :)

I cant post long progress reports because i only have one account.

EDIT:
 _________________________________________________
/ noidea's VWM'er \
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Time Running : 47 Minutes and 8 Seconds |
| Total mined : 189 |
| Total gasses : 0 |
| Total loads : 7 |
| Fights : 1 |
|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
| Player | Active | Loads | Mined | Gems |
| 0 | T | 7 | 189 | 0 |
\_________________________________________________/

jurrien

2009-02-01 12:47:40

Line 651: [Hint] (16963:1): Variable 'I' never used in script
Line 715: [Hint] (17027:1): Variable 'A' never used in script
Edit:the auto works now

noidea

2009-02-01 13:56:30

From: jurrien
Line 651: [Hint] (16963:1): Variable 'I' never used in script
Line 715: [Hint] (17027:1): Variable 'A' never used in script

And if i logged in look it for clay, and than click it rune.


Please explain more. I do not understand your problem.

Smarter Child

2009-02-06 21:35:46

Awww, i just saw da script and it looks sooooo long. 1685 lines of code for a miner! You evil programmer :p when i have time i will try to use this.!

marpis

2009-02-22 13:43:33

Awesome and working, but that autotalker will get someone banned! It comments like every line that appears in the chatbox :S that's no good. one answer per one minute would be safe. And instead of ":)" it says "9"

Z3r0Grav

2009-02-22 14:35:02

when i used it it made me walk all the way to th eguild jsut north sout hof varrock and cant fidn anything