SRL Archive - Archive

Metho D - SRL Member Application Form


Method

2007-09-09 02:58:26

<!– BEGIN TEMPLATE: formanswers –>
Metho D - SRL Member Application Form
Metho D

What is the meaning to life?


Where you Referred to SRL? If yes, by whom?
no


Programming Knowledge
I have worked with PHP a tiny bit, but otherwise no.

Other Communitys
I've visited Sythe and Fagex, but haven't been too active on either. I visit bulletin boards outside the RuneScape category regularly, though.

How Long have You Played Runescape
I've had experience with RuneScape for about 4 years.

Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.

I'm relatively new to SCAR and SRL scripting, but ever since I found SCAR I've always wanted to learn how to make scripts. I stumbled onto this forum a little while ago and haven't looked back since. There's a ton of great tutorials to learn from and the members are very helpful. I like the atmosphere here and I hope to stick around for quite a bit. This script is hopefully the first of many I make during my stay here. Thanks for creating a great community and keep up the good work!

——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted

{          /--------------------------------------------------\
| Al Kharid Powerminer v1.0 |
| By Metho D |
| |
| Thanks To: |
| - WT-Fakawi |
| - pwnaz0r |
| Both of you have provided excellent |
| tutorials and help for me to script |
| to the best of my ability. |
\--------------------------------------------------/
}

program New;
{.include SRL/SRL.scar}
{.include SRl/SRL/Skill/Mining.scar}

var
Loads, OreDTM, OresMined, GasesFound, a, b, x, y: Integer;

const
NumLoads = 5; //How many loads to do before switching players.
IronColor1 = 2832988; //Set if current colors aren't working
IronColor2 = 1778490; //Set if current colors aren't working
IronColor3 = 2569557; //Set if current colors aren't working

procedure DeclarePlayers;
begin
HowManyPlayers := 3; //How many players are mining.
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0; //Which player you are starting with.

Players[0].Name := 'Username'
Players[0].Pass := 'Password';
Players[0].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[0].Active := True; //Player is going to be mining.
Players[0].Booleans[1] := false; //Pick equipped = true, in inventory = false

Players[1].Name := 'Username'
Players[1].Pass := 'Password';
Players[1].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[1].Active := True; //Player is going to be mining.
Players[1].Booleans[1] := True; //Pick equipped = true, in inventory = false

Players[2].Name := 'Username'
Players[2].Pass := 'Password';
Players[2].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[2].Active := True; //Player is going to be mining.
Players[2].Booleans[1] := True; //Pick equipped = true, in inventory = false

{Players[3].Name := 'Username'
Players[3].Pass := 'Password';
Players[3].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[3].Active := True; //Player is going to be mining.
Players[3].Booleans[1] := True; //Pick equipped = true, in inventory = false

Players[4].Name := 'Username'
Players[4].Pass := 'Password';
Players[4].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[4].Active := True; //Player is going to be mining.
Players[4].Booleans[1] := True; //Pick equipped = true, in inventory = false

Players[5].Name := 'Username'
Players[5].Pass := 'Password';
Players[5].Nick := 'erna'; //3-4 letters of name (not CAPS)
Players[5].Active := True; //Player is going to be mining.
Players[5].Booleans[1] := True; //Pick equipped = true, in inventory = false}

NicknameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, upchars);
Writeln('There are ' + IntToStr(HowManyPlayers) + ' character(s) mining.');
end;

function FindFastRandoms: Boolean; //by WT-Fakawi
var
i: Integer;
begin
for i := 1 to 9 do
begin
case I of
1: if FindDead then
Result := True;
2: if FindMod then
Result := True;
3: if FindMime then
Result := True;
4: if FindMaze then
Result := True;
5: if FindQuiz then
Result := True;
6: if FindDemon then
Result := True;
7: begin
if NoGameTab then
begin
Result := True;
Players[CurrentPlayer].loc := 'No GameTab';
Logout;
Exit;
end;
end;
8: begin
if InBlack then
begin
Result := True;
Players[CurrentPlayer].loc := 'InBlack';
Logout;
Exit;
end;
end;
9: RC;
end;
Wait(1);
end;
end;

procedure Randoms;
begin
if(not(LoggedIn)) then
Exit;
if(FindGas(a, b)) then
GasesFound := GasesFound + 1;
FindTalk;
FindFastRandoms;
FindNormalRandoms;
if (FindFight = True) then
begin
RunAwayDirection('S');
wait(1000 + random(5000));
RunBack;
end;
end;

procedure AntiBan;
begin
if(not(LoggedIn)) then
Exit;
case Random(20) of
2: HoverSkill('Mining', False);
4: HoverSkill('Smithing', False);
6: RandomRClick;
8: PickUpMouse;
10: AlmostLogout;
end;
end;


procedure LoadDTMs;
begin
OreDTM := DTMFromString('78DA634C636060686740015EBA8A0CFF81342' +
'310FF0702C63820632A031A604422817418909840404D38906822' +
'A0261148541150930924AA09A82902128D04D4E403893EFC6A002' +
'9A90CF9');
end;

procedure DropOres;
begin
if(not(LoggedIn)) then
Exit;
LoadDTMs;
if(not(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)) or (not(InvFull))) then Exit;
repeat
if(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 3, 3, false);
ChooseOption('rop');
Randoms;
Wait(700+Random(500))
end;
until(not(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)));
if(Players[CurrentPlayer].Booleans[1]) then
OresMined := OresMined + 28;
Loads := Loads + 1;
if(Players[CurrentPlayer].Booleans[1] = False) then
OresMined := OresMined + 27;
Loads := Loads + 1;
FreeDTM(OreDTM);
AntiBan;
end;

procedure IsInvFull;
begin
if(not(LoggedIn)) then
Exit;
if(InvFull) then
Writeln('Inventory is full, dropping ores');
wait(100 + random(100));
Randoms;
DropOres;
end;

procedure MineThoseOres;
begin
if(not(LoggedIn)) then
Exit;
IsInvFull;
if(FindColorTolerance(a, b, IronColor1, MSX1, MSY1, MSX2, MSY2, 6) and
FindColorTolerance(a, b, IronColor2, (a - 10), (b - 10), (a + 10), (b + 10), 6) or
FindColorTolerance(a, b, IronColor3, (a - 10), (b - 10), (a + 10), (b + 10), 6)) then
begin
MMouse(a, b, 2, 2)
if(IsUpText('ine')) then
begin
Status('We''re Mining');
Mouse(a, b, 2, 2, true);
Flag;
wait(2500 + random(2000))
Randoms;
end;
end;
end;

procedure FixMiningVars;
begin
OreColor := 0;
OreColor1 := 0;
OreColor2 := 0;
OreColor3 := 0;
end;

procedure FixCompassAndChats;
begin
SetChat('on', 1);
SetChat('friends', 2);
SetChat('friends', 3);
SetChat('on', 4);
MakeCompass('N');
HighestAngle;
end;

procedure SetUpScript;
begin
SetUpSRL;
ClearDebug;
DeclarePlayers;
ActivateClient;
end;

procedure ProgressReport;
begin
SRLRandomsReport;
Writeln(' __________________________________________________ ');
Writeln(' | | ');
Writeln(' | Al Kharid Powerminer Version 1 | ');
Writeln(' | By Metho D | ');
Writeln(' |__________________________________________________| ');
Writeln(' Loads done : ' + IntToStr(Loads) + ' ');
Writeln(' Ores mined : ' + IntToStr(OresMined) + ' ');
Writeln(' # of gas avoided : ' + IntToStr(GasesFound) + ' ');
Writeln(' Thanks for running my powerminer, I hope you liked it. ');
end;

begin
SetUpScript;
repeat
if(not(LoggedIn)) then
LoginPlayer;
FixCompassAndChats;
repeat
MineThoseOres;
until(Loads = NumLoads);
NextPlayer(False);
ProgressReport;
until(not(Players[CurrentPlayer].Active));
Writeln('All players false, script is done.');
end.

——————————————————
<!– END TEMPLATE: formanswers –>

HyperSecret

2007-09-09 03:32:00

sry man but its a no, the script is to simple for a autominer, especially since its a powerminer, for a miner you need walking and banking especially to even have a chance so just keep working on it

Santa_Clause

2007-09-09 03:39:18

Sorry. Too simple. No from me.

Has anyone realised that if we were judging scripts the same way we were judging 2 days ago, we probably would have given him a yes?

elementalelf

2007-09-09 04:01:24

i wouldve voted yes because of this:
procedure MineThoseOres;
begin
if(not(LoggedIn)) then
Exit;
IsInvFull;
if(FindColorTolerance(a, b, IronColor1, MSX1, MSY1, MSX2, MSY2, 6) and
[B] FindColorTolerance(a, b, IronColor2, (a - 10), (b - 10), (a + 10), (b + 10), 6) or
FindColorTolerance(a, b, IronColor3, (a - 10), (b - 10), (a + 10), (b + 10), 6)) then[/B]
because, to be honest, that is exactly the sort of thinking we need here, this guy is literally thinking outside the box.
but then i saw this

begin
Status('We''re Mining');
Mouse(a, b, 2, 2, true);
Flag;
[B] wait(2500 + random(2000))[/B]
Randoms;
end;

you could have done SO much better, that much is obvious by the rest of the script, but just that little bit of laziness when (not) making an "ore gone" detection system let you down.

this is exactly the sort of thing i was talking about in this thread we need 3 options("almost yes" as the third option):
http://www.villavu.com/forum/showthread.php?t=17041
edit: as a result, i with-hold my vote

Method

2007-09-09 11:55:09

Thanks for the comments so far guys. I'll look into incorporating walking to the bank as well as some better procedures in there. If the next few votes aren't yes, I'll make sure this will be better for next time I apply.

R0b0t1

2007-09-09 12:02:26

You could use autocoloring… Yessss…sss….. I would love that….!


But fairly good, for an application script.

MasterKill

2007-09-09 16:34:30

sorry but i have to say no. a lil to simple for me

but keep it up and come back when you got a very good script

Special Ed

2007-09-09 17:04:47

Very Simple, but its a good start, I'd hang around a little longer and check out some TUT's on walking, and other things. You need some failsafes in there as well, to make sure nothing goes wrong, or at least to do something when something does go wrong. But all in all its very simple, I'm going to have to give you a no but keep learning and keep trying.

Make sure you wait 30 days to re-apply.

@ ElementalElf - Thats not something to vote yes because of, thats not that advanced of a technique and a lot of people do things like that, also if it didn't find that solution of colors the first time it would quit looking, you need some fail safes for that too.

Derek-

2007-09-10 01:03:44

Sorry man but I'm also going to have to give it a 'no'.

Like everyone has said, it's a bit 'simple':(

the scar noob

2007-09-10 15:42:31

Small script
Doesn't shows enough of your abilities if you ask me
No failsafes
Will not solve the gass, it will detect it<< correct me if I'm wrong
Ore finding/mining isn't that great
New member whichi isn't really that active around the forums

So, sorry, I'll also have to vote no

Method

2007-09-10 22:56:41

From: Special Ed
Very Simple, but its a good start, I'd hang around a little longer and check out some TUT's on walking, and other things. You need some failsafes in there as well, to make sure nothing goes wrong, or at least to do something when something does go wrong. But all in all its very simple, I'm going to have to give you a no but keep learning and keep trying.

Make sure you wait 30 days to re-apply.

@ ElementalElf - Thats not something to vote yes because of, thats not that advanced of a technique and a lot of people do things like that, also if it didn't find that solution of colors the first time it would quit looking, you need some fail safes for that too.


Walking was something mentioned before - I'll definitely work on that. As for failsafes, does't if(not(LoggedIn)) then Exit; constitute as a failsafe? I realize I could do some more like if the rocks are not found, but those basic ones are in there.

Are there any tutorials hiding around here on finding AND solving gas? If I had to I guess I could use other gas detection methods as a base, but I'd like to create something (almost) entirely my own, if possible.

Thanks for the comments guys, I'll work on things and hopefully be accepted my next time around. :)

elementalelf

2007-09-10 23:39:57

From: Metho D
Walking was something mentioned before - I'll definitely work on that. As for failsafes, does't if(not(LoggedIn)) then Exit; constitute as a failsafe? I realize I could do some more like if the rocks are not found, but those basic ones are in there.

Are there any tutorials hiding around here on finding AND solving gas? If I had to I guess I could use other gas detection methods as a base, but I'd like to create something (almost) entirely my own, if possible.

Thanks for the comments guys, I'll work on things and hopefully be accepted my next time around. :)


if(not(loggedin)) is only a failsafe if your character isnt logged in.

repeat
if(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 3, 3, false);
ChooseOption('rop');
Randoms;
Wait(700+Random(500))
end;
until(not(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)));
what he means is failsafe's for potentially endless loops, i.e. EVERY repeat/while/for should have a failsafe.
the easiest way is just have a private(non global, i.e. you declare it in the procedure) variable called "countr" as an integer
then in the loop, put countr:=countr+1;
so that every time it loops, countr = 1 more then it did last time.
then put an until() AND ()
for example, for the script above, its probably best to instead use:


repeat
if(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2)) then
begin
Mouse(x, y, 3, 3, false);
ChooseOption('rop');
Randoms;
Wait(700+Random(500))
end else countr:=countr+1;
until(not(FindDTM(OreDTM, x, y, MIX1, MIY1, MIX2, MIY2))) or (countr = 10);
also, its probably a good idea to put a terminatescript; if its something really important, probably not in this instance, but for example, if its trying to find something on the minimap for walking, and it completely misses it, put a:

repeat
stuffhere;
countr:=countr+1;
until(stuffhere) or (countr=10);
if(countr=10) then terminatescript;

Method

2007-09-10 23:48:23

Yeah, that's what I was thinking. Thanks for clearing that up.

Negaal

2007-09-12 01:21:19

This one is 100% no, but i'll reserve my vote, i'll be waiting for upgrading….

BobboHobbo

2007-09-12 07:02:15

From: negaal
This one is 100% no, but i'll reserve my vote, i'll be waiting for upgrading….


Dont me so mean 'This one is 100% no', thats kinda slack. It isnt soooo bad that you cant look at it, is it?

n3ss3s

2007-09-12 08:14:58

I think it is a very good attempt, but its pretty short'n simple, Ill vote no for this time, but I will likely definetly vote yes when you apply next time after a month.

LordGregGreg

2007-09-13 14:02:13

dont be too discoraged. u know what your doing

you understand how to work with stuff

you will be in , in no time :D

after a month, but thats cool.

Hugolord

2007-09-13 14:23:46

it is really easy to add a better 'mined ore' function =/

no