SRL Archive - Archive

stuckman - SRL Member Application Form


stuckman

2007-04-13 12:24:40

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

What is the meaning to life?


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


Programming Knowledge
Scar, Srl and a little VB.Net

Other Communitys
Neofriends, IcyNeo, Neosiders, Moparisthebest

How Long have You Played Runescape
3 months

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

Hi,
I am stuckman (different names on other forums though).
I have been scripting scar for about 5 months now but only scripting for runescape for the past few weeks. I started off scripting for neopets and made about 20 different scripts for various games and other things.
By scripting, I found out about runescape and the more I looked at it, I thought why not play runescape a bit. I did and then decided to make a powerminer for it using my knowledge. So, I made one and it attatched here.
I will give some of the complex parts of my neopets scripts as the scar examples but bear in mind that some of them won't do much on their own but are nice bits of code and I'll include why i made them.
Many thanks,
Stuckman

p.s. if you think posting more example would help (because i have some), just tell me.

EDIT: it won't let me attach my srl script so i will post it at the bottom of the scar samples

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


program ScarOPR;

var
x,y,i,j,startTime,endTime:integer ;
found : boolean ;

procedure findneopet;
begin
starttime:=getsystemtime();
Writeln('Looking for neopet');
found:= false;
i:= 358 ;
while( i < 510 ) and ( not found) do
begin
j:= 700;
while ( j < 856 ) and ( not found) do
begin
if( GetColor(i,j) < 4500000) and (GetColor(i,j) > 1) then
begin
found := true;
end;
j:= j +3 ;

end;
i:= i + 3 ;

end;
x:= i ;
y := j ;
clickmouse(x,y,true);
endTime:= GetSystemTime();
Writeln(inttostr( endTime - startTime )+' <-- time taken to buy in ms since last refresh' );

begin
findneopet;
end.

program Example; 


begin
while(not IsKeyDown('q') )do
begin
if( IsKeyDown(' ') )then
begin
Writeln('You have pressed space!');
wait(15);
end;
end;
end.


{.Script Info:
# ScriptName = Stucky Power Miner
# Author = Stuckman
# Description = This Powermines Copper or Tin for you
# Version = 0.1
# Date = 12/4/07
# Comments = Please Post Reports and Bugs
# Comments = Make Sure Pick Is In Slot 1
/Script Info}
program Stucky_Power_Miner;
{.include SRL/SRL.scar}
var
rockcolor,i,l : integer;
const
loads=10; //number of loads you want it to do

procedure TinColor;
begin
repeat
if (FindObjMulti('ine',6184808,7895170,8421772,10)) then
GetMousePos(x,y);
MMouse(x-5,y+5,0,0);
until(IsUpText('ine'));
GetMousePos(x,y);
MMouse(x,y,4,4);
if (IsUpText('ine')) then
RockColor:=GetColor(x,y);
end;

procedure CopperColor;
begin
repeat
if (FindObjMulti('ine',4022404,3824510,4879263,5)) then
GetMousePos(x,y);
MMouse(x+5,y,0,0);
until(IsUpText('ine'));
GetMousePos(x,y);
MMouse(x,y,3,3);
if (IsUpText('ine')) then
RockColor:=GetColor(x,y);
end;

procedure GettingColors;
begin
TinColor;
CopperColor;
end;

procedure Chats;
begin
SetChat('Hide',1)
SetChat('Friends',2)
SetChat('Off',3)
end;

procedure LevelUp;
begin
if (FindText(x,y,'ere',UpChars,200,420,364,451)) then
begin
Mouse(x,y,4,4,true);
writeln('You just leveled up!');
l:=l+1
writeln('You have leveled up a total of '+inttostr(l)+' levels');
end;
end;

procedure MineWay1;
begin
if (InvFull) then
Exit;
else
if (FindObj(x,y,'ine',RockColor,0)) then
begin
Mouse(x,y,4,4,true);
Wait(4000+random(2000));
end;
end;


procedure MineWay2;
begin
if (InvFull) then
Exit;
else
if (FindObj(x,y,'ine',RockColor,0)) then
begin
Mouse(x,y,4,4,false);
PopUp('ine');
Wait(4000+random(2000));
end;
end;

Procedure dropal;
begin
dropto(2, 28);
end;


procedure Mine;
begin
repeat
Case Random(7) of
0: MineWay1;
1: MineWay2;
2: MineWay1;
3: MineWay1;
4: MineWay1;
5: MineWay1;
6: MineWay1;
end;
until(InvFull)
dropal;
end;

procedure Setup;
begin
SetupSRL;
FindRS;
ActivateClient;
HighestAngle;
Chats;
GettingColors;
Wait(1000);
end;

procedure ProgressReport;
begin
ClearDebug;
Writeln('You have been using stuckmans powerminer');
Writeln('Worked For ' + TimeRunning)
Writeln('You have mined '+ inttostr(i) + ' Loads');
Writeln('And have gained '+inttostr(l)+' Levels');
Writeln('////////////End Progress Report\\\\\\\\\\\\\');
end;

begin
Setup;
i:=0;
l:=0;
repeat
Mine;
i:= i + 1;
ProgressReport;
until(i=loads)
end.

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

JAD

2007-04-13 13:06:04

Scripts are way to simple. Need multiplayer/player switching, anti ban, anti randoms and fail safes. Sorry, no for now.

YoHoJo

2007-04-13 14:37:28

You have lots of crazy loops without failsaifes
No Multiplayer
No Antiban
No Antirandoms

You still have a lot to learn

Smartzkid

2007-04-13 15:53:33

The powerminer needs multiplayer and antirandoms.

You're off to a good start, but you really should take a while and read some tuts on scripting for rs. Also, you should practice handling various random events. It would be a good idea to learn to use failsafes, too.

stuckman

2007-04-14 02:32:31

ok thanks so far
can you explain what a failsafe is?
is it if it cannot find it then it logs out of something?

YoHoJo

2007-04-14 03:46:54

Example

repeat
if (FindObjMulti('ine',6184808,7895170,8421772,10)) then
GetMousePos(x,y);
MMouse(x-5,y+5,0,0);
until(IsUpText('ine'));

That keeps looking for a rock until isuptext'ine'
Well, what if your not standing near a rock!
or the character moved!
or all the rocks are covered!
Then it will spazz and you will get banned,
heres an example

repeat
Q:=Q+1
if (FindObjMulti('ine',6184808,7895170,8421772,10)) then
GetMousePos(x,y);
MMouse(x-5,y+5,0,0);
until (IsUpText('ine')) Or Q>30

That repeats it 30 times


MarkTime(MiningMark)
repeat
Q:=Q+1
if (FindObjMulti('ine',6184808,7895170,8421772,10)) then
GetMousePos(x,y);
MMouse(x-5,y+5,0,0);
until (IsUpText('ine')) Or TimeFromMark(MiningMark)>40000

That repeats for 40 seconds.

Also, mind wanna add anti randoms in the loop like this.


MarkTime(MiningMark)
repeat
Q:=Q+1
if (FindObjMulti('ine',6184808,7895170,8421772,10)) then
GetMousePos(x,y);
MMouse(x-5,y+5,0,0);
FindFastRandoms;
until (IsUpText('ine')) Or TimeFromMark(MiningMark)>40000

Hope this helped.

stuckman

2007-04-15 15:53:44

thanks, it did yohojo
i think i ll go learn some more srl and make the upgrades you say
watch this space

EDIT: can you link me to a tut for using multiplayer as i couldn't find one?
thanks