SRL Archive - Archive

sleziak - SRL Member Application


sleziak

2009-04-20 07:28:18

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


Are you affilated in anyway with Jagex LTD?
No.

Were you Referred to SRL?
/


What is your general programming knowledge?
Html, Pascal, Java and PhP


Are you a member of any other communities?
To many to name them


Tell us about yourself…
From: sleziak
Hello,
My name is Marcin Sleziak and i'm from Belgium
I'm 16 yrs old and i've been awhile here on SRL:)

I've played RuneScape for +- 4 years now
A few motnhs ago i decided to learn scripting so i gave it a go :)
Currently i have made 4 scripts (2 public and 2 private)



Please give show us one of your scripts.
This one alches Rings in zannaris:

program new;
{.Include SRL\SRL.SCAR}
{.include SRL/SRL/Skill/Magic.scar}
const
Username = ''; //Your Runescape username
Password = ''; //Your Runescape password
Nickname = ''; //Few letters from your name Example: Username = 'Zezima' then the nickname would be 'Zez'
ToDo = 1000; //How many rings do you want to alch
logo = false; //Log out after doing the desired ammount of alches/Using all your nature runes?



var
x,y,a,b,counter,exp : integer;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := Nickname;
Players[0].Active:= true;
end;

procedure FindIrksol;
var
TMT, Times: Integer;
begin
TMT := 0;
if not ShopScreen then
begin
wait(2000+random(3000))
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then
begin
writeln('Walking to gem stall');
flag;
Mouse(x + 12, y, 0, 0, true)
Flag;
end;
repeat
Times:=0;
TMT := TMT + 1
if FindObjCustom(x, y, ['Talk-to Irk'], [2965826, 2965826], 4) then
begin
Wait(50 + Random(20));
Mouse(X, Y, 1, 1, false);
Wait(50 + Random(20));
if ChooseOption('rade') then
begin
repeat
Times:= Times + 1
wait(100);
until (ShopScreen) or (Times > 20);
if shopscreen then
begin
writeln('Trading Irksol');
exit;
end;
end;
end;
until (TMT > 5);
if (not(ShopScreen)) then
begin
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 12, y, 0, 0, true)
Players[CurrentPlayer].loc := 'gem stall';
FindIrksol;
end;
end
else
Writeln('Could Not Find Irksol.');
end
else
Logout;
end;



Procedure BuyRings;
begin
FindIrksol;
begin
wait(random(2000));
MouseBox(74,101,85,111, 3)
if(IsUpText('Ruby'))then
begin
writeln('Buying rings');
getmousepos(x, y)
wait(100)
Mouse(x,y,0,0,false)
ChooseOption('Buy X')
Wait(1000)
case Random(8) of
0: SendKeys('28'+chr(13));
1: SendKeys('32'+chr(13));
2: SendKeys('54'+chr(13));
3: SendKeys('55'+chr(13));
4: SendKeys('65'+chr(13));
5: SendKeys('65'+chr(13));
6: SendKeys('98'+chr(13));
7: SendKeys('87'+chr(13));
end;
CloseWindow;
end
else
begin
MouseBox(50, 70, 116, 79, 1)
wait(random(600))
BuyRings;
end;
Wait(400)
end;
end;

procedure Progress;
begin
Cleardebug;
if (loggedin=false) or (Counter > ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
writeln('- You have gained ' + IntToStr(exp) + ' Exp!' );
Writeln('- Succesfully alched all requested rings ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
terminatescript;
end
else
begin
Cleardebug;
if(Counter < ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
Writeln('- You have gained ' + IntToStr(exp) + ' Exp! ');
Writeln('- Still running! ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
end
end
end;

procedure Checkrunes;
begin
if (FindBlackChatMessage('ature')) then
TerminateScript;
end;

Procedure Alch;
begin
repeat
if (not(LoggedIn)) then
LoginPlayer;
FindNonInventoryRandoms;
wait(400+random(100));
Cast('high level alchemy');
findcolortolerance(a,b,1749707,555,213,722,453,2);
mmouse(a+random(5),b+random(5),0,0)
wait(1600+random(100));
if not findcolortolerance(a,b,1749707,555,213,722,453,2) then
begin
buyrings;
end
else
mouse(a,b,0,0,true);
checkrunes;
exp:= exp + 65;
counter:= counter + 1;
progress;
until(false);
end;

Procedure ScriptTerminate;
Begin
progress;
WriteLn('Out of runes!');
if logo = true then logout
else
WriteLn('Finished script/Out of runes!');
end;

begin
SetUpSRL;
DeclarePlayers;
LogInPlayer;
Wait(2000);
repeat
SetAngle(True);
MakeCompass('N');
SetRun(True);
BuyRings
alch;
findnormalrandoms;
checkrunes;
progress;
wait(2000);
until(loggedin=false)
end.


and this one enchantes bolts (any of em)

program BoltenchanterV1;
{.Include SRL\SRL.SCAR}
{.include SRL/SRL/Skill/Magic.scar}
const
Username = ''; //Your Runescape username
Password = ''; //Your Runescape password
Nickname = ''; //Few letters from your name Example: Username = 'Zezima' then the nickname would be 'Zez'
Bolttype = ''; //Choice: opal, sapphire, jade, pearl, emerald, red topaz, ruby, diamond, dragonstone and onyx
ToDo = 3000; //how many bolts do you want to enchant?
logo = false; //Log out after doing the desired ammount of bolts or if you run out of bolts/runes?

var
TotCasted :integer;
x,y: Integer;
exp: integer;
counter: Integer;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := Username; //Youe Rs username
Players[0].Pass := Password; //Your RS password
Players[0].Nick := Nickname; //3-4 letters from name
Players[0].Active:= true;
end;


procedure setch;
begin
if not FindColor(x,y,16776960,139,496,144,499)
then
Mouse(150+random(10),489+random(10),1,1,false);
if not FindColor(x,y,16776960,139,496,144,499)
then
wait(400+random(50));
if not FindColor(x,y,16776960,139,496,144,499)
then
Mouse(129,478,1,1,true);
if not FindColor(x,y,16776960,139,496,144,499)
then
wait(50+random(100));
end;

procedure settab;
begin
Gametab(7);
end;


procedure diamond;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,229,194,240,200)
then
Mouse(250+random(13),250-random(13),1,1,true)
else
Terminatescript;
Inc(Counter);
exp:= exp + 67;
end;


procedure sapphire;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,137,66,142,73)
then
Mouse(154+random(13),117-random(13),1,1,true)
else
Terminatescript;
exp:= exp + 18;
Inc(Counter);
end;

procedure jade;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,246,67,252,72)
then
Mouse(255+random(13),120-random(13),1,1,true)
else
Terminatescript;
exp:= exp + 19;
Inc(Counter);
end;

procedure pearl;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,347,69,355,74)
then
Mouse(352+random(13),114-random(13),1,1,true)
else
terminatescript;
exp:= exp + 30;
Inc(Counter);
end;

procedure emerald;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,423,66,431,72)
then
Mouse(444+random(13),117-random(13),1,1,true)
else
terminatescript;
exp:= exp + 37;
Inc(Counter)
end;

procedure redtopaz;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,49,199,56,204)
then
Mouse(73+random(13),248-random(13),1,1,true)
else
terminatescript;
exp:= exp + 34;
Inc(Counter)
end;

procedure ruby;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,148,194,153,201)
then
Mouse(158+random(13),248-random(13),1,1,true)
else
terminatescript;
exp:= exp + 59;
Inc(Counter)
end;

procedure dragonstone;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,316,193,336,201)
then
Mouse(346+random(13),250-random(13),1,1,true)
else
terminatescript;
exp:= exp + 78;
Inc(Counter)
end;

procedure onyx;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,432,196,439,201)
then
Mouse(445+random(13),246-random(13),1,1,true)
else
terminatescript;
exp:= exp + 97;
Inc(Counter)
end;

procedure opal;
begin
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,48,69,55,76)
then
Mouse(62+random(13),118-random(13),1,1,true)
else
terminatescript;
exp:= exp + 67;
inc(Counter)
end;

procedure progress;
begin
Cleardebug;
if(Counter * 10>= ToDo) or (loggedin=false) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Bolt enchanter V1 ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Enchanted ' +IntToStr(Counter * 10)+ ' bolts ');
writeln('- You have gained ' + IntToStr(exp) + ' Exp!' );
Writeln('- Succesfully Enchanted all requested bolts ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
terminatescript;
end;
Cleardebug;
if(Counter < ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Bolt enchanter V1 ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Enchanted ' +IntToStr(Counter * 10)+ ' bolts ');
writeln('-You have gained ' + IntToStr(exp) + ' Exp! ');
Writeln('- Still running! ');
Writeln('-_____________________________________________');
Writeln('-----------------------------------------------');
end;
end;

procedure checkrunes;
begin
if (FindBlackChatMessage('have enough')) then
TerminateScript;
end;


Procedure ScriptTerminate;
Begin
progress;
WriteLn('Out of runes/bolts!');
if logo = true then logout
else
WriteLn('Out of runes/bolts!');
end;

procedure whatbolts;
begin
case(LowerCase(Bolttype))of
'diamond' : diamond;
'opal' : opal;
'sapphire' : sapphire;
'jade' : jade;
'pearl' : pearl;
'emerald' : emerald;
'red topaz' : redtopaz;
'ruby' : ruby;
'dragonstone' : dragonstone;
'onyx' : onyx;
end;
end;

procedure failsafe;
begin
repeat
wait(50+random(50));
until not (GetColor(78, 290)=1187725);
end;

begin
SetUpSRL;
DeclarePlayers;
LogInPlayer;
Wait(2000);
setch;
settab;
TotCasted:=0;
repeat
progress;
whatbolts;
failsafe;
checkrunes;
until(false)
end.

Greetz, Marcin Sleziak

mormonman

2009-04-20 07:40:14

no. Scripts are ok, but need some major work. TPA's should be used for finding the alching dude. The fact that you don't use DeclarePlayers correctly, shows that they aren't multiplayer(big part of SRL).
P.S. - Don't use sendkeys. Use TypeSend. Less bannable/detectable

Edit: Possible infinite loop in the Findalchingdude procedure.

Blumblebee

2009-04-20 10:36:00

Incredibly inefficient coding, the script could be 1/4 the length that you have it. Trying learning case statements. Ex:

Procedure Gem(Which: Integer);
var XpInc, A, B, C, D: Integer;
begin
case which of//They arent in Order I know.
0: {Diamond}
begin
A := 137;
B := 66;
C := 142;
D := 73;
XpInc := 67;
end;
1: {sapphire}
begin
A := 137;
B := 66;
C := 142;
D := 73;
XpInc := 18;
end;
2: {Jade}
begin
A := 246;
B := 67;
C := 252;
D := 72;
XpInc := 19;
end;
3: {Pearl}
begin
A := 347;
B := 69;
C := 355;
D := 74;
XpInc := 30;
end;
4: {Ruby}
begin
A := {And so on}
B := {and so forth}
C :=
D :=
XpInc := 59;
end;
5: {DragonStone}
begin
XpInc := 78;
end;
6: {Onyx}
begin
XpInc := 97;
end;
7: {Opal}
begin
XpInc := 67;
end;
8: {Emerald}
begin
XpInc := 37;
end;
9: {redtopaz}
begin
XpInc := 34;
end;
end;
Cast('bolt enchantment');
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224, A, B, C, D)
then
Mouse(154+random(13),117-random(13),1,1,true)
else
NextPlayer(False); // NOT TERMINATE SCRIPT
IncEx(exp, XPInc); // Is the same as Exp := Exp + integer its just faster (by like 1 ms)
Inc(Counter);
end;

(its 1 am, I'm tired and dont really wanna finish that thought, but thats what I kinda have done, I hope you get what I mean.

instead of your 15 procedure that are the exact same except for the increase of experience.

So Sorry, This time its a no.

Home

2009-04-20 11:14:35

I'm sorry it's no for now, come back later and like others did post, look in some great tuts and try learning to Script little bit more effiency (:

I hope that you will Re apply at some point!

Good luck in future!

~Home

Naike

2009-04-20 11:17:42

Sorry it's a no, I suggest doing a bigger project in the future, not just an enchanter..

It was close to a Yes, but for now, Sorry.

JAD

2009-04-20 18:54:31

Some things to look at/work on:


This one alches Rings in zannaris:

program new;
{.Include SRL\SRL.SCAR}
{.include SRL/SRL/Skill/Magic.scar}
const
Username = ''; //Your Runescape username
Password = ''; //Your Runescape password
Nickname = ''; //Few letters from your name Example: Username = 'Zezima' then the nickname would be 'Zez'
ToDo = 1000; //How many rings do you want to alch
logo = false; //Log out after doing the desired ammount of alches/Using all your nature runes?



var
x,y,a,b,counter,exp : integer;

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := Username;
Players[0].Pass := Password;
Players[0].Nick := Nickname;
Players[0].Active:= true;
end;

procedure FindIrksol;
var
TMT, Times: Integer;
begin
TMT := 0;
if not ShopScreen then
begin
wait(2000+random(3000))
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then //I think that you could just use FindSymbol?
begin
writeln('Walking to gem stall');
flag;
Mouse(x + 12, y, 0, 0, true) //Randomness would be a good thing. Also a check to make sure x + 12,y is on the MM.
Flag;
end;
repeat
Times:=0;
TMT := TMT + 1
if FindObjCustom(x, y, ['Talk-to Irk'], [2965826, 2965826], 4) then
begin
//Wait(50 + Random(20)); //unnecessary really
Mouse(X, Y, 1, 1, false);
Wait(50 + Random(20)); //unnecessary
if ChooseOption('rade') then //what if it didn't? Fail safe necessary
begin
repeat
Times:= Times + 1
wait(100);
until (ShopScreen) or (Times > 20);
if shopscreen then
begin
writeln('Trading Irksol');
exit;
end;
end;
end;
until (TMT > 5);
if (not(ShopScreen)) then
begin
if(FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)) then
begin
Mouse(x + 12, y, 0, 0, true)
Players[CurrentPlayer].loc := 'gem stall';
FindIrksol;
end;
end
else
Writeln('Could Not Find Irksol.');
end
else
Logout;
end;



Procedure BuyRings;
begin
FindIrksol;
begin
wait(random(2000));
MouseBox(74,101,85,111, 3)
if(IsUpText('Ruby'))then
begin
writeln('Buying rings');
getmousepos(x, y)
wait(100) //unnecessary
Mouse(x,y,0,0,false)
ChooseOption('Buy X')
Wait(1000) //randomness?
case Random(8) of //SendKeys??? Ban? And for logic though, why not just SendKeys(intToStr(28+random(70)));
0: SendKeys('28'+chr(13));
1: SendKeys('32'+chr(13));
2: SendKeys('54'+chr(13));
3: SendKeys('55'+chr(13));
4: SendKeys('65'+chr(13));
5: SendKeys('65'+chr(13));
6: SendKeys('98'+chr(13));
7: SendKeys('87'+chr(13));
end;
CloseWindow;
end
else
begin
MouseBox(50, 70, 116, 79, 1)
wait(random(600))
BuyRings;
end;
Wait(400)
end;
end;

procedure Progress;
begin
Cleardebug;
if (loggedin=false) or (Counter > ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
writeln('- You have gained ' + IntToStr(exp) + ' Exp!' );
Writeln('- Succesfully alched all requested rings ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
terminatescript;
end
else
begin
Cleardebug;
if(Counter < ToDo) then
begin
Writeln('----------------------------------------------');
Writeln(' _____________________________________________');
Writeln('- Sleziak''s Zanaris alcher ');
Writeln('- Ran for: ' + (TimeRunning) + ' ');
Writeln('- Alched ' +IntToStr(Counter)+ ' rings ');
Writeln('- You have gained ' + IntToStr(exp) + ' Exp! ');
Writeln('- Still running! ');
Writeln('- Post this proggy please ;) ');
Writeln('-_____________________________________________');
Writeln('----------------------------------------------');
end
end
end;

procedure Checkrunes;
begin
if (FindBlackChatMessage('ature')) then
TerminateScript;
end;

Procedure Alch;
begin
repeat
if (not(LoggedIn)) then
LoginPlayer;
FindNonInventoryRandoms;
wait(400+random(100));
Cast('high level alchemy');
findcolortolerance(a,b,1749707,555,213,722,453,2);
mmouse(a+random(5),b+random(5),0,0)
wait(1600+random(100));
if not findcolortolerance(a,b,1749707,555,213,722,453,2) then
begin
buyrings;
end
else
mouse(a,b,0,0,true);
checkrunes;
exp:= exp + 65;
counter:= counter + 1;
progress;
until(false);
end;

Procedure ScriptTerminate;
Begin
progress;
WriteLn('Out of runes!');
if logo = true then logout
else
WriteLn('Finished script/Out of runes!');
end;

begin
SetUpSRL;
DeclarePlayers;
LogInPlayer;
Wait(2000);
repeat
SetAngle(True);
MakeCompass('N');
SetRun(True);
BuyRings
alch;
findnormalrandoms;
checkrunes;
progress;
wait(2000);
until(loggedin=false)
end.

Good app, just not quite complicated enough yet. Try adding some more fail safes and try to find better ways of finding things than FindObj. Symbols can get covered and can be unreliable, so maybe try adding a DDTM as a fail safe? You have a lot of waits in there that are just unnecessary. Try to develop some form of standards to make your script a little easier on the eyes. You're on your way, good luck!

lordsaturn

2009-04-21 08:17:43

Standards need to be fixed, please check out a tutorial. It's much more difficult to read when nothing is formatted.
  end;
end;
end;

SendKeys is EXTREMELY bannable, do not use it! Use TypeSend instead.

A few of your procedures are a little unnecessary, as they are only one or two lines, and used sparsely throughout your script (CheckRunes). The procedure SetTab is just GameTab(7), why not just call the method GameTab(7)?

I'm not sure what setch does, but it looks like it could done using a for or while loop.

All of the different gem functions (the bulk of your script), could be combined into one procedure with a case statement for the gem type. Simply use a TBox for the search coords and x, y for the clicking.

Your only failsafe is TerminateScript?

By the way, the procedure failsafe isn't really that great of a failsafe. It's another potential infinite loop. Try adding a counter or a timer in there.

No. :(

sleziak

2009-04-23 21:48:35

IFail :p Thx for suggestions, Will get better soon and come back with amazing things :P

Torrent of Flame

2009-04-23 22:13:44

procedure CastEnchant;
begin
Cast('bolt enchantment');
case Lowercase(BoltType) of

'diamond': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,229,194,240,200)
then
Mouse(250+random(13),250-random(13),1,1,true)
else
Terminatescript;
Inc(Counter);
exp:= exp + 67;
end;

'sapphire' begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,137,66,142,73)
then
Mouse(154+random(13),117-random(13),1,1,true)
else
Terminatescript;
exp:= exp + 18;
Inc(Counter);
end;

'jade': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,246,67,252,72)
then
Mouse(255+random(13),120-random(13),1,1,true)
else
Terminatescript;
exp:= exp + 19;
Inc(Counter);
end;

'pearl': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,347,69,355,74)
then
Mouse(352+random(13),114-random(13),1,1,true)
else
terminatescript;
exp:= exp + 30;
Inc(Counter);
end;

'emerald': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,423,66,431,72)
then
Mouse(444+random(13),117-random(13),1,1,true)
else
terminatescript;
exp:= exp + 37;
Inc(Counter)
end;

'redtopaz': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,49,199,56,204)
then
Mouse(73+random(13),248-random(13),1,1,true)
else
terminatescript;
exp:= exp + 34;
Inc(Counter)
end;

'ruby': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,148,194,153,201)
then
Mouse(158+random(13),248-random(13),1,1,true)
else
terminatescript;
exp:= exp + 59;
Inc(Counter)
end;

'dragonstone': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,316,193,336,201)
then
Mouse(346+random(13),250-random(13),1,1,true)
else
terminatescript;
exp:= exp + 78;
Inc(Counter)
end;

'onyx': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,432,196,439,201)
then
Mouse(445+random(13),246-random(13),1,1,true)
else
terminatescript;
exp:= exp + 97;
Inc(Counter)
end;

'opal': begin
repeat
wait(50+random(50));
until(GetColor(185, 37)=2070783);
if FindColor(x,y,52224,48,69,55,76)
then
Mouse(62+random(13),118-random(13),1,1,true)
else
terminatescript;
exp:= exp + 67;
inc(Counter)
end;
end;
end;

This is an easier and shorter way of doing it. It seems you have cut out the harder case and produced an easier case later on in the script.

You also do not use Declare Players, which is simpler than the way you have done it.

procedure DeclarePlayers;
begin
HowManyPlayers := 1;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer := 0;
Players[0].Name := '';
Players[0].Pass := '';
Players[0].Nick := '';
Players[0].Active:= true;
end;

If these people fill this in then with LoginPlayer then the script will still detect the information in there, and Log in the player, you do not need to declare them in the constants.

You seem to have a little knowledge of SRL, but not enough to get into members. I suggest you read up on a few tutorials and apply with a more advanced version of this script, or a new script all together.

Sir R. M8gic1an

2009-05-03 17:43:56

I am sorry, but i doesn't look like you'll make it in this time.
Don't give up, you're on the right way. You can re-apply in a month.

~RM