SRL Archive - Archive

Imanoobbot - SRL Member Application


Imanoobbot

2012-03-25 21:56:04

How Long have You Played Runescape?
6 Year(s)


Are you affilated in anyway with Jagex LTD?
No

Were you Referred to SRL?
No


What is your general programming knowledge?
Java, SQL and Pascal


Are you a member of any other communities?
RSCommunity, VIP EpicBot, VIP RsBuddy, Powerbot, Shadowscripting, Robotz in Disguise


Tell us about yourself…
From: Imanoobbot
I am Paul and im 16 years old. Im in grade 10 and going to get out of school in 2 years. I think i am going to study Informatic. My main Language is German and I am living in Berlin. My second language is English and my third is Spanisch. I am playing Piano since 11 years and playing guitar since 1 year from now. I am driving bmx like 5 days a week and like to party at the weekend to get out of school stress. In the last weeks I came to this Community and for me it is really atractive because I never saw in my live a Community beeing that helpful as these. I am learning Java atm and like to script every evening when I came home. I am checking this page every few hours. I am playing Runescape since late 2006. I am nearly Maxed. Having 1 account lvl 138 and 2347 total and 1 skiller account lvl 115 and 2077 total. I don´t really mind about Runescape exp and that I am the richest player anymore. Just making this here for a hobby not for Goldfarming or anything like this. Hope you can understand that I am not playing Runescape anymore that active because of all the updates and I don´t have the time anymore.



Please show us one (or multiple) of your scripts.
This is my first script which I made today. It is a simply IronPowerminer which is of course not perfect yet but will be updated every few hours and I will add some more things in the next days as faster dropping solving randoms and others.


[Simba]

{/////////////////////////////////////////
// -IronMiner by Imanoobbot- //
// //
// Version: 0.1 //
/////////////////////////////////////////}



program IronMiner;
{$DEFINE SMART}
{$i srl/srl.simba}




Procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;

end;


function IronColor: Integer;
var
arP: TPointArray;
arC: TIntegerArray;
tmpCTS, i, arL: Integer;
X, Y, Z: Extended;
begin
tmpCTS := GetColorToleranceSpeed;
ColorToleranceSpeed(2);
SetColorSpeed2Modifiers(0.06, 0.22);

FindColorsSpiralTolerance(MSCX, MSCY, arP, 3030376, MSX1, MSY1, MSX2, MSY2, 5);
if (Length(arP) = 0) then
begin
Writeln('Failed to find the color, no result.');
ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);
Exit;
end;

arC := GetColors(arP);
ClearSameIntegers(arC);
arL := High(arC);

for i := 0 to arL do
begin
ColorToXYZ(arC[i], X, Y, Z);

if (X >= 5.69) and (X <= 10.58) and (Y >= 4.71) and (Y <= 8.64) and (Z >= 2.51) and (Z <= 4.38) then
begin
Result := arC[i];
//Writeln('IronColor = ' + IntToStr(arC[i]));
Break;
end;
end;

ColorToleranceSpeed(tmpCTS);
SetColorSpeed2Modifiers(0.2, 0.2);

if (i = arL + 1) then
//Writeln('IronColor failed in finding the color.');
end;



procedure DropOre;

var
x, y, IronOre: Integer;

begin
repeat
IronOre := DTMFromString('mbQAAAHicY2VgYPjIxMDwH4o/APF3INZmZGBQYYTQ1kBsCsSGsqJA1UwoWIQBEzBiwWAAAEEdBlk=');

If FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, false);
WaitOption('Drop', randomrange(100, 200));
Wait(randomrange(100, 200));
end;



until(not(FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2)))
FreeDTM(IronOre);
end;


function FindIron: Boolean;

var
x, y: integer;

begin
FindObjCustom(x, y, ['ron', 'ore'], [Ironcolor], 11);
MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, True);
end;




procedure AntiBan;
begin
if(not(LoggedIn))then
Exit;
case Random(100) of
0:
begin
HoverSkill('Mining', false);
wait(2453+Random(432));
end;
1: PickUpMouse;
2:
begin
MakeCompass('N');
wait(100+random(133));
MakeCompass('S');
wait(50+random(133));
MakeCompass('N');
end;
end;
end;




begin
SetupSRL;
ActivateClient;
DeclarePlayers;
LoginPlayer;
MouseSpeed := RandomRange(17, 22);

repeat
repeat
FindIron;
wait(750);
Antiban;
until(invFull);
DropOre;
until(not(loggedin));


end.

Sin

2012-03-25 22:03:33

What happens if FindObj doesn't succeed?
That's why you add if…then, begin..end statements.

DemiseScythe

2012-03-25 22:06:51

You left your information in the script, please remove it asap, and pm me, I will reply with your new password. Please be more careful in the future =)

^.^~

EDIT: I will just PM you to make it easy, check your control panel

EDIT: EDIT: Sent

Imanoobbot

2012-03-25 22:08:11

From: DemiseScythe
You left your information in the script, please remove it asap, and pm me, I will reply with your new password. Please be more careful in the future =)

^.^~



That happenes when you stay up like 2 days ;)

*Good that this is not EpicBot or something like that.

Raskolnikov

2012-03-25 22:33:06

Hi there! I like your script, how it flows nicely, but here are just a few minor things I noticed.

Standards:

Just a few minor spots…

procedure DropOre;

var
x, y, IronOre: Integer;

begin
repeat //2 spaces ahead
IronOre := DTMFromString('mbQAAAHicY2VgYPjIxMDwH4o/APF3INZmZGBQYYTQ1kBsCsSGsqJA1UwoWIQBEzBiwWAAAEEdBlk=');

If FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 2, 2); //this block should only be two lines ahead of begin
Mouse(x, y, 0, 0, false);
WaitOption('Drop', randomrange(100, 200));
Wait(randomrange(100, 200));
end;

{There's also just a lot of space right here. Might want to minimize it.}

until(not(FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2))) //2 spaces ahead
FreeDTM(IronOre); //on same level as repeat
end;

I'll show you what I mean:

procedure DropOre;

var
x, y, IronOre: Integer;

begin
repeat
IronOre := DTMFromString('mbQAAAHicY2VgYPjIxMDwH4o/APF3INZmZGBQYYTQ1kBsCsSGsqJA1UwoWIQBEzBiwWAAAEEdBlk=');

If FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, false);
WaitOption('Drop', randomrange(100, 200));
Wait(randomrange(100, 200));
end;

until(not(FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2)))
FreeDTM(IronOre);
end;

Standards come naturally though, so I'm not that worried about it.

Finding Methods

So you use this awesome Autocolor function…then use FindObjCustom. A bit disappointing. Look up some advanced TPA functions, and use those. That will make your script look 1000x better.

Additionally, I don't like how you call the Autocolor function in the first place. You shouldn't call it in the middle of the FindObjCustom, you should define a variable as the output and use that with FindObjCustom.

Also, just a nitpicky thing:

  MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, True);

It's kind of redundant to have randomness in MMouse when you're going straight for the x,y coordinate anyways in the Mouse function. This will make it do this glitchy mouse movement that impairs the human feel that Simba/SRL has.

Presentation

I think you should have a progress report, constants, just to make it presentable. Nothing big, just something to keep in mind.



I'm voting yes because you're a great member and you show lots of potential. Good luck, and see you around.

Imanoobbot

2012-03-25 22:37:12

From: Cut em2 it
Hi there! I like your script, how it flows nicely, but here are just a few minor things I noticed.

Standards:

Just a few minor spots…

procedure DropOre;

var
x, y, IronOre: Integer;

begin
repeat //2 spaces ahead
IronOre := DTMFromString('mbQAAAHicY2VgYPjIxMDwH4o/APF3INZmZGBQYYTQ1kBsCsSGsqJA1UwoWIQBEzBiwWAAAEEdBlk=');

If FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 2, 2); //this block should only be two lines ahead of begin
Mouse(x, y, 0, 0, false);
WaitOption('Drop', randomrange(100, 200));
Wait(randomrange(100, 200));
end;

{There's also just a lot of space right here. Might want to minimize it.}

until(not(FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2))) //2 spaces ahead
FreeDTM(IronOre); //on same level as repeat
end;

I'll show you what I mean:

procedure DropOre;

var
x, y, IronOre: Integer;

begin
repeat
IronOre := DTMFromString('mbQAAAHicY2VgYPjIxMDwH4o/APF3INZmZGBQYYTQ1kBsCsSGsqJA1UwoWIQBEzBiwWAAAEEdBlk=');

If FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2) then
begin
MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, false);
WaitOption('Drop', randomrange(100, 200));
Wait(randomrange(100, 200));
end;

until(not(FindDTM(IronOre, x, y, MIX1, MIY1, MIX2, MIY2)))
FreeDTM(IronOre);
end;

Standards come naturally though, so I'm not that worried about it.

Finding Methods

So you use this awesome Autocolor function…then use FindObjCustom. A bit disappointing. Look up some advanced TPA functions, and use those. That will make your script look 1000x better.

Additionally, I don't like how you call the Autocolor function in the first place. You shouldn't call it in the middle of the FindObjCustom, you should define a variable as the output and use that with FindObjCustom.

Also, just a nitpicky thing:

  MMouse(x, y, 2, 2);
Mouse(x, y, 0, 0, True);

It's kind of redundant to have randomness in MMouse when you're going straight for the x,y coordinate anyways in the Mouse function. This will make it do this glitchy mouse movement that impairs the human feel that Simba/SRL has.

Presentation

I think you should have a progress report, constants, just to make it presentable. Nothing big, just something to keep in mind.



I'm voting yes because you're a great member and you show lots of potential. Good luck, and see you around.


Thank you for your response! I will try to add this into the script. So I will give my best. Everything I know about scripting I learned in the last days beeing active on this Forum.

RISK

2012-03-25 22:51:02

In your dropping procedure, you declare the DTM each repeat for some reason. Why? You need to declare it only once and that should be outside of the repeat .. until.

Kyle Undefined

2012-03-25 22:54:37

Sorry, it's a No from me. It's not advanced enough and doesn't show full knowledge of the SRL Include.

Imanoobbot

2012-03-25 22:56:13

From: RISK
You declare the DTM each repeat for some reason. Why? You need to declare it only once and that should be outside of the repeat .. until.


Thank you for your response. While scripting I never saw it from this point of view. I am overwriting it at the moment again.

BobboHobbo

2012-03-25 23:09:25

I like how you understand the basic principals of scripting. I understand its a Power miner but you need some failsafes, so like What if the iron cannot be found, we perform this and that. And also have support for other ores, A simple string in declare players would work wonders for this.

Also I would like to see a function that knows when the ore your mining has been mined other then just going by time. All these extra things, which may not increase the script functionability that much in this case but it shows your scripting skills and that your striving to make the best possible script for the task your intending to do.

Im voting no for now, but you seem like a learner and I hope you learn from this application on what you can improve on. I must say, very nice first script, my first scripts were a joke haha.

Geo

2012-03-25 23:27:37

I'll be voting no. But from what I've read you're learning fast and I'm more than certain you'll learn the material to create a more advanced script soon.

The reasons I voted no are that you have no end result in your FindIron function meaning the script will still move the mouse even though no Iron was actually found. Check out the tutorial below and I'm sure you'll understand in no time.

functions tutorial: http://villavu.com/forum/showthread.php?t=47134

I'd also like to see a type of walking used in your script, whether it be SPS or radialwalk that is for you too decide.

SPS walking: http://villavu.com/forum/showthread.php?t=71461
Radial walking: http://villavu.com/forum/showthread.php?t=11584

Another big one is the use of FindObj. Now I'm not saying it wrong to use it as it's in SRL and if it's in there then why not use it. But to show more skill I'd recommend looking into TPAs/ATPAs

TPA tutorial I used: http://villavu.com/forum/showthread.php?t=35504

I wish you the best of luck on your app, and keep up the good work. :)

Imanoobbot

2012-03-26 00:11:58

From: Geo
I'll be voting no. But from what I've read you're learning fast and I'm more than certain you'll learn the material to create a more advanced script soon.

The reasons I voted no are that you have no end result in your FindIron function meaning the script will still move the mouse even though no Iron was actually found. Check out the tutorial below and I'm sure you'll understand in no time.

functions tutorial: http://villavu.com/forum/showthread.php?t=47134

I'd also like to see a type of walking used in your script, whether it be SPS or radialwalk that is for you too decide.

SPS walking: http://villavu.com/forum/showthread.php?t=71461
Radial walking: http://villavu.com/forum/showthread.php?t=11584

Another big one is the use of FindObj. Now I'm not saying it wrong to use it as it's in SRL and if it's in there then why not use it. But to show more skill I'd recommend looking into TPAs/ATPAs

TPA tutorial I used: http://villavu.com/forum/showthread.php?t=35504

I wish you the best of luck on your app, and keep up the good work. :)


Thank you for your response but I got no skill yet ;)

But the script is getting better and better! Now it waits until the Rock is mined and then it clicks the next Rock.

Frement

2012-03-26 08:31:53

No from me too, mainly because the usage of SRL include is limited and the script is not advanced enough.

Now I must remind you that while you will most likely get rejected, don't give up. Add walking, failsafes and multiple ore choices. That should get you going. When you try to see how you could do something, check for it in the include, there is something that will help you make it or something that already does it.

BobboHobbo

2012-03-26 08:52:08

I have been helping Imanoobbot with things to improve his script, over the past hours he drastically has changed his script. Still needs some work, I pointed all aspects which need to be added. His a good learner and a great listener ! Hopefully next time we can see a very nice script :).

Imanoobbot

2012-03-26 10:12:45

From: BobboHobbo
I have been helping Imanoobbot with things to improve his script, over the past hours he drastically has changed his script. Still needs some work, I pointed all aspects which need to be added. His a good learner and a great listener ! Hopefully next time we can see a very nice script :).


I have gained now on 1 account from level 15 to 56 now today. Seems to get better. The new mainloop makes it very flawless. It just mines in the specific area now and is not clicking the portal in Al Kharid mine, Copper or Scorpions anymore. Still got problems with adding the Random Solver.

Imanoobbot

2012-03-26 10:24:05

From: Frement
No from me too, mainly because the usage of SRL include is limited and the script is not advanced enough.

Now I must remind you that while you will most likely get rejected, don't give up. Add walking, failsafes and multiple ore choices. That should get you going. When you try to see how you could do something, check for it in the include, there is something that will help you make it or something that already does it.


Maybe I could add a litle SPS walk to kick an Al Kharids guard ass and walk back to the mine. But I don´t see a useful way to add a walking support. Maybe banking support?

Frement

2012-03-26 11:44:20

From: Imanoobbot
Maybe I could add a litle SPS walk to kick an Al Kharids guard ass and walk back to the mine. But I don´t see a useful way to add a walking support. Maybe banking support?


Yeah, banking was what I meant with walking. Also the random solver should be easy, somewhere in your loop just check for them, I'm sure there is some tutorial out there.

Kyle Undefined

2012-03-26 11:46:42

I look for randoms in the beginning of most of my functions/procedures, and also in the beginning of each loop of my mining.

P1nky

2012-03-26 11:56:52

Sorry no, try adding more complex functions/procs, also Fail-safes!

-Cheers

Imanoobbot

2012-03-26 12:15:32

From: P1nky
Sorry no, try adding more complex functions/procs, also Fail-safes!

-Cheers


Don´t think about the script posted there. Nothing you see there is in my script nowadays, except the autocolor function. It is quite flawless now. Trying to add an Antirandom but don´t really now how.

Tryed it with this:

 procedure FoundARandom;
begin
Writeln('Found a random!');
PlaySound(ScriptPath+'evilaugh.wav');
Wait(RandomRange(10000, 20000));
end;

RISK

2012-03-26 18:40:30

FindNormalRandoms();

It actually returns a boolean.

Imanoobbot

2012-03-26 20:07:18

From: RISK
FindNormalRandoms();

It actually returns a boolean.


That script does not exist anymore ;) Everything is overwrited. Lots of features edited etc.

Imanoobbot

2012-03-26 21:56:39

If I delete this thread I could make an new in some days if my script is finished?

Sin

2012-03-26 22:00:50

Poll will have to be closed first, in two weeks.

'Toxin

2012-03-30 20:21:41

Personally, from new-commers… I'm looking for something outstanding and very advanced in a script. Your script doesn't seem to be very advanced, as previously stated. So from me, it's a no. Sorry.

Markus

2012-04-10 06:12:39

Hey, I'm sorry but it looks like you aren't getting in this time. I'm going to close this so you can reapply in 2 weeks with a bit more complex script. Good luck!