SRL Archive - Archive

tico2 - SRL Member Application


tico2

2009-09-13 20:54:46

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


Are you affilated in anyway with Jagex LTD?
No.

Were you Referred to SRL?



What is your general programming knowledge?
HTML, pascal.


Are you a member of any other communities?
No.


Tell us about yourself…
From: tico2
Well I've stayed here for a long time. I wrote a script, released it (got 99 mage with it :p) and I was planing on anoather one to apply with it. I got perm banned today so I don't see much point in scripting atm (mabie later) so I have nothing to lose with this application. Other than this, I'm almoast 16 years old, joined this comunity in november 2007, quited for some time, got back and stayed active quite for some time. My friend Whocares357 offerd me scripting lessons and I started learning (wich I tought I never would). After this, it started getting fun and I enjoyed it very much :). In my personal life: I used to be in the scholl "top", now at the second year in gymnasium I'm somewhere in the midle :p. My other acctivites… well I started playing quitar in the first grade, played it for like 6-7 years, meanwhille started basse quitar and at the end baritone. I was playing in many bands (Slovenian "rural" music) now I got offer and started rock :D.

This is kinda it. Sorry for grammar mistakes, and pleasse vote :), I will be happy anyway you chose to vote.

Thanks!



Please show us one (or multiple) of your scripts.
//
// _____ __ __ __
// / _ \ | | ____ | |__ |__| ____ ____
// / /_\ \| | _/ ___\| | \| |/ \ / ___\
// / | \ |_\ \___| Y \ | | \/ /_/ >
// \____|__ /____/\___ >___| /__|___| /\___ /
// \/ \/ \/ \//_____/
// _____ .__ .__
// / \ _____ ____ | |__ |__| ____ ____
// / \ / \\__ \ _/ ___\| | \| |/ \_/ __ \
// / Y \/ __ \\ \___| \ | | \ ___/
// \____|__ (____ /\___ >___| /__|___| /\___ >
// \/ \/ \/ \/ \/ \/
//
{=========================================================================]
[ Alching Machine 0.2 ]
[ ]
[ NAME : Alching Machine 0.2 ]
[ WRITER : Tico2 ]
[ CATEGORY : Magic ]
[ DESCRIPTION : See below. ]
[ USAGE : High-Alch any noted item and Zanaris alch ]
[=========================================================================]
[ Description: ]
[ 1. Normal alch: Make sure you have items noted in the 19th solt, ]
[ you must also have some coins in your inventory. ]
[ Zanris: Nature runes must be in the 28th solt, coins in the 27th ]
[ 2. Click play and fill out the form. ]
[ Enjoy! ]
[=========================================================================}

program AlchingMachine;
{.include SRL/SRL.scar}
{.include srl/srl/misc/Users.scar}

var
x, y, RubyRing, NatureRune, FireStaff, LavaStaff,
alches, xp, BreakFor, LoadsToDo, coins, LoadNumber,
Rests, Note, a, MagicLevel, AntiBans : integer;

Version, Ver, News : string;

e, b : boolean;

/////////////////
//Version Check//
/////////////////

procedure VersionCheck;
begin //I learned this from R1ch, thanks!
Ver:= '0.2'; //change only if you want to have an outdated version
Version := GetPage('http://tico2.webs.com/version.txt');
if Version <> Ver then
begin
ClearDebug;
WriteLn('');
WriteLn('Your version is not the latest. Get the latest version from:');
WriteLn('http://www.villavu.com/forum/showthread.php?t=49634&highlight=alching+machine');
WriteLn('');
TerminateScript;
end else
begin
WriteLn('You are up to date!');
Wait(2500);
ClearDebug;
end;
end;

////////////
//Get News//
////////////

procedure GetNews; //Again something i learned from R1ch.
begin
News:= GetPage('http://tico2.webs.com/news.txt');
WriteLn(News);
Wait(5000);
ClearDebug;
end;

/////////
//Intro//
/////////

procedure Intro;
begin
WriteLn ('');
WriteLn ('Tico2 proudly presents the:');
Wait (2000);
WriteLn (' ______ ___ __ ');
WriteLn ('/\ _ \ /\_ \ /\ \ __ ');
WriteLn ('\ \ \ \ \ \/ \ \ ___\ \ \___ /\_\ ___ __ ');
WriteLn (' \ \ __ \ \ \ \ / ___\ \ _ \/\ \ / _ \ / _ \ ');
WriteLn (' \ \ \/\ \ \_\ \_/\ \__/\ \ \ \ \ \ \/\ \/\ \/\ \ \ \ ');
WriteLn (' \ \_\ \_\ /\____\ \____\\ \_\ \_\ \_\ \_\ \_\ \____ \ ');
WriteLn (' \/_/\/_/ \/____/\/____/ \/_/\/_/\/_/\/_/\/_/\/___ \ \');
WriteLn (' /\____/');
WriteLn (' \_/__/ ');
Wait (1200);
WriteLn (' __ __ ');
WriteLn (' / \_/ \ /\ \ __ /\ \ ');
WriteLn ('/\ \ __ ___\ \ \___ /\_\ ___ __\ \ \ ');
WriteLn ('\ \ \__\ \ / __ \ / ___\ \ _ \/\ \ / _ \ / __ \ \ \ ');
WriteLn (' \ \ \_/\ \/\ \ \ \_/\ \__/\ \ \ \ \ \ \/\ \/\ \/\ __/\ \_\ ');
WriteLn (' \ \_\\ \_\ \__/ \_\ \____\\ \_\ \_\ \_\ \_\ \_\ \____\\/\_\');
WriteLn (' \/_/ \/_/\/__/\/_/\/____/ \/_/\/_/\/_/\/_/\/_/\/____/ \/_/');
WriteLn ('');
WriteLn ('');
end;

//////////
//Log In//
//////////

procedure LogIn;
begin
if not LoggedIn then
LogInPlayer;
MakeCompass('n');
SetAngle(true);
SetRun(true);
end;

///////////
//Proggie//
///////////

procedure Proggie;
begin
WriteLn('')
WriteLn('-----------Alching machines progres report!------------')
WriteLn ('Script ran for ' + TimeRunning);
Writeln ('We alched ' + IntToStr(alches) + ' items.');
WriteLn ('We gained ' + IntToStr(xp) + ' xp.');
WriteLn ('We made ' + IntToStr(rests) + ' breaks');
WriteLn('We performed ' + IntToStr(AntiBans) + ' antibans.');
WriteLn ('-----------------Thanks for using it!------------------')
WriteLn('')
end;

////////////////
//On Terminate//
////////////////

procedure OnTerminate;
begin
LogOut;
Proggie;
Players[CurrentPlayer].Active := False;
end;

////////////////
//Anti Randoms//
////////////////

function AntiRandoms: boolean;
begin
if not LoggedIn then Exit;
FindLamp('summoning');
Result := FindNormalRandoms;
if (Result = true) then
UseRewardBox;
end;

///////////////
//Finds Level//
//////////////

procedure FindLvl;
begin
GameTab(tab_Stats);
Disguise('checking lvl');
MagicLevel := GetSkillInfo('magic', false);
WriteLn('Your magic level is ' + IntToStr(MagicLevel) + '.');
end;


////////////////
//Auto Respond//
////////////////

{procedure AutoRespond;// This procedure is from ZephyrsFury, just with edited things, thanks!
var
RandomNum: Integer;
LastLineText: string;
begin
LastLineText := Lowercase(GetChatBoxText(8, clBlue));
if (Pos('hi', LastLineText) > 0) or (Pos('hello', LastLineText) > 0) or (Pos('hey', LastLineText) > 0) or (Pos('yo', LastLineText) > 0) then
begin
WriteLn('Found autoresponder text.');
RandomNum := Random(4);
case RandomNum of //Step 3
0: TypeSend('hello');
1: TypeSend('hi');
2: TypeSend('hey');
3: TypeSend('yo');
end;
Exit;
end;
if (Pos('mage lvl', LastLineText) > 0) or (Pos('magic level', LastLineText) > 0) or (Pos('mage lvls', LastLineText) > 0) then
begin
WriteLn('Found autoresponder text.');
RandomNum := Random(3);
case RandomNum of
0: TypeSend(IntToStr(MagicLevel));
1: TypeSend('i got ' + IntToStr(MagicLevel) + ' mage');
2: TypeSend('my magic level is ' + IntToStr(MagicLevel));
3: TypeSend(Chr(13) + 'X' + '2');
end;
Exit;
end;
if (Pos('lol', LastLineText) > 0) or (Pos('haha', LastLineText) > 0) or (Pos('omg', LastLineText) > 0) then
begin
WriteLn('Found autoresponder text.');
RandomNum := Random(5);
case RandomNum of
0: TypeSend('lol');
1: TypeSend('haha');
2: TypeSend('wtf');
3: TypeSend('...');
4: TypeSend('lolz');
end;
Exit;
end;
end; } //This didnt work very well becouse of to many people and it responded back to many times, so i removed it from the script.

////////////
//Anti Ban//
////////////

procedure AntiBan;
begin
if(not(LoggedIn))then
Exit;
case random(10) of
0:
begin
GameTab(tab_stats);// * by Dankness extended by Cheesehunk and fixed by Ron
HoverSkill('magic', false);
Wait(983 + random (325));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
1:
begin
BoredHuman;// * by WT-Fakawi
Wait(746 + random (345));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
2:
begin
ExamineInv;// * by R1ch
Wait(483 + random (125));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
3:
begin
MakeCompass('S');
MakeCompass('N');
Wait(200+random(30));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
4:
begin
MakeCompass('E');
MakeCompass('N');
Wait(350+random(56));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
5:
begin
MakeCompass('E');
MakeCompass('S');
MakeCompass('W');
MakeCompass('N');
Wait(521+random(46));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
6:
begin
MakeCompass('W');
MakeCompass('S');
MakeCompass('E');
MakeCompass('N');
Wait(941+random(376));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
7:
begin
GameTab(tab_stats);// * by Dankness extended by Cheesehunk and fixed by Ron
HoverSkill('random', false);
Wait(983 + random (325));
Antibans := AntiBans + 1;
Disguise('anti ban');
end;
end;
AntiRandoms;
end;

/////////////
//Find Note//
/////////////

function FindNote: boolean;
begin
Note := BitmapFromString(7, 4, 'beNrbM3nXqro9qxuObmk7uaPnzJ' +
'7JZ/dOBSJcgvvWNsIFIQioDF0QAF/SOLg=');

GameTab(tab_Inv);
AntiRandoms;
Disguise('finding notes');
Result := FindBitmapToleranceIn(Note, x, y, 641, 353, 679, 387, 10);
if Result = true then
begin
WriteLn('You have some items to alch.')
end else
begin
WriteLn('You have no noted items in the 19th spot.');
OnTerminate;
end;
end;

////////////////////
//Find Normal Nats//
////////////////////

function FindNormalNats : boolean;
begin
NatureRune := BitmapFromString(14, 12, 'beNptz90KgkAUBOBX6K' +
'bH7EfETDOTzTRNTDM1KyKLbnvGBgZOksFc7OI3Z49KXbL9IB728zz' +
'Vr3Mj13fbdr+idc3zW1Eg9/L4qKq/Q8pdXCdJk6YIK2z15SEMiyhC' +
'WGELlf56qb9GsmCDCluoIAL8hc1D7HlIohQ9K8LwhLIswduVS0wvj' +
'PM90wSmD5YOwvk/+wA7uu4ahngZTi/LANuaRkxPycmyDPF8OiGm7/' +
'4mfBfPxiNg8ZSyxhd/ALDO0pE=');

GameTab(tab_Inv);
AntiRandoms;
Disguise('finding nats');
Result := FindBitmapToleranceIn(NatureRune, x, y, MIX1, MIY1, MIX2, MIY2, 10);
FreeBitmap(NatureRune);
if Result = true then
begin
WriteLn('You have some nature runes in your inventory.');
end else
begin
WriteLn('You dont have any nature runes!');
OnTerminate;
end;
end;

/////////////
//Find Nats//
/////////////

function FindNats : boolean;
begin
NatureRune := BitmapFromString(14, 12, 'beNptz90KgkAUBOBX6K' +
'bH7EfETDOTzTRNTDM1KyKLbnvGBgZOksFc7OI3Z49KXbL9IB728zz' +
'Vr3Mj13fbdr+idc3zW1Eg9/L4qKq/Q8pdXCdJk6YIK2z15SEMiyhC' +
'WGELlf56qb9GsmCDCluoIAL8hc1D7HlIohQ9K8LwhLIswduVS0wvj' +
'PM90wSmD5YOwvk/+wA7uu4ahngZTi/LANuaRkxPycmyDPF8OiGm7/' +
'4mfBfPxiNg8ZSyxhd/ALDO0pE=');

GameTab(tab_Inv);
AntiRandoms;
Disguise('finding nats');
Result := FindBitmapToleranceIn(NatureRune, x, y, 685, 423, 726, 469, 50);
FreeBitmap(NatureRune);
if Result = true then
begin
WriteLn ('You have nature runes in the right place.');
end else
begin
WriteLn ('You dont have nature runes or they are in the wrong inventory solt.');
LogOut;
OnTerminate;
end;
end;

//////////////
//Find Staff//
/////////////

function FindStaff : boolean;
begin
FireStaff := BitmapFromString(9, 10, 'beNoL8g0NDYyLj2JgYFyi' +
'JLJfQ/yGrhSQHRjkCxQEkkB2vjjvPEXho5oS9/Wlf5vIAUUiIkOAC' +
'MiIF+aeLi90XEviiYHMZ2O5H2BZiC5vfs4JcoJntSUf6Uu/M5IFom' +
'/Gcp6erkApax72tPj4vpZmoNRLQxkIAhro4uIIlJ1eKDS5sxMoBTT' +
'zgrYkUMTX1xPkjGBeoBSQAUcGCgoQLb2ZghApoAgcAbnJXjwLK4Th' +
'4kCHAY0CWjQhR7AtRQAuDjTE0cYUKBUIAAI1QX0=');

LavaStaff := BitmapFromString(5, 6, 'beNpbYc3AwJgTID+jwAiIg' +
'GwPFd6aGOUJAdIdGnwTPKR8LCRyAhR3NBgB0Y8d3j4WYjEmAhEaAj' +
'sK1F5kqHoo8PDx8GQnJNzI0PixwByoXU2SsSQj/cYC1x8As2EcXg=' +
'=');

GameTab(tab_Equip);
Wait(100+random(200));
Disguise('finding staff')
Result := FindBitmapToleranceIn(FireStaff, x, y, 575, 292, 602, 321, 50)
or FindBitmapToleranceIn(LavaStaff, x, y, 575, 292, 602, 321, 50)
FreeBitmap(FireStaff);
FreeBitmap(LavaStaff);
if Result = true then
begin
WriteLn ('We have a staff.');
end else
begin
WriteLn ('You dont have a staff');
LogOut;
OnTerminate;
end;
end;

/////////////
//Buy Rings//
/////////////

function BuyRings: Boolean; //This Procedure has coords and some pieces of WhoCares357's Ample Alcher
begin
Disguise('buying rings')
SymbolAccuracy := 0.5;
if FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2) then
begin
SymbolAccuracy := 0.8;
WriteLn ('Found gem stall.');
if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
begin
SymbolAccuracy := 0.5;
FindSymbolIn(x, y, 'gem stall', MMX1, MMY1, MMX2, MMY2)
Mouse(x + 12, y, 5, 10, true);
SymbolAccuracy := 0.8;
FFlag(0);
if (FindObjCustom(x, y, ['Talk-to Irk'], [2965826], 4) = false) then
begin
WriteLn ('Couldnt find Irksol...');
LogOut;
TerminateScript;
end;
end else
begin
WriteLn ('Found Irksol.');
Wait(50 + random(10));
Mouse(x, y, 2, 2, false);
Wait(100 + random(50));
if (ChooseOption('rade') = true) then
begin
WriteLn ('In the shop menu.');
Wait (1000 + random (500));
MouseBox(73, 100, 84, 112, 3);
Wait (1000 + random (500));
if (IsUpText('uby')) then
begin
GetMousePos(x, y);
Mouse(x, y, 0, 0, false);
Wait (500 + random (100));
if (ChooseOption('Buy X')) then
begin
Wait(1100 + random(500));
TypeSend(IntToStr(RandomRange(26, 785)));
Wait(900 + random(500));
CloseWindow;
WriteLn ('Rings bought!');
Result:= true
end else
WriteLn ('We couldnt buy the rings!');
end;
end;
end;
end else
WriteLn ('Couldnt find the gem stall.');
end;

//////////////
//Find Rings//
//////////////

function FindRings: boolean;
begin
GameTab(tab_Inv);
AntiRandoms;
Disguise('finding rings')
Result := FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10);
if Result = True then
begin
WriteLn ('You have some rings.');
end else
begin
WriteLn ('You have no rings, lets try to buy some.');
BuyRings;
end;
end;

//////////////
//First Alch//
//////////////

procedure FirstAlch;
begin
Wait(300 + random(400));
GameTab(tab_Magic)
if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 5, 5, true);
Wait(200 + Random(75));
GameTab(tab_Inv)
if (FindBitmapToleranceIn(RubyRing, x, y, 641, 353, 679, 387, 10) = true) then
repeat
e := false;
Mouse(x, y, 10, 10, true);
Wait(1600 + Random(432));
GameTab(tab_Magic);
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 5, 5, true);
Wait(200 + Random(75));
GameTab(tab_Inv);
AntiRandoms;
if (FindBitmapToleranceIn(RubyRing, x, y, 641, 353, 679, 387, 10) = true) then
e := true;
alches := alches + 1;
xp:= xp + 65;
end else
OnTerminate;
until not (e);
end else
OnTerminate;
end;

///////////////
//Second Alch//
///////////////

procedure SecondAlch;
begin
if FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) then
repeat
GameTab(tab_Inv)
AntiRandoms;
FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10);
Mouse(x, y, 10, 10, true);
alches := alches + 1;
xp := xp + 65;
Wait(1600 + Random(435));
GameTab(tab_Magic)
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 5, 5, true);
Wait(200 + Random(75));
GameTab(tab_Inv);
end else
OnTerminate;
until (FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) = false);
Mouse(381, 388, 10, 10, true);
end;

///////////////
//Normal Alch//
///////////////

procedure NormalAlch;
begin
begin
GameTab(tab_Magic)
if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 10, 12, true);
end;
for a := 0 to 28 do
begin
Disguise('alching')
GameTab(tab_Magic)
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 2, 2, true);
Wait(200 + Random(75));
GameTab(tab_Inv)
AntiRandoms;
if FindBitmapToleranceIn(Note, x, y, 641, 353, 679, 387, 10) then
begin
Mouse(x, y, 12, 10, true);
alches := alches + 1;
xp:= xp + 65;
Wait(1700 + Random(434));
end else
OnTerminate;
end else
OnTerminate;
end;
end;

/////////
//Break//
/////////

procedure Rest;
begin
LogOut;
BreakFor := Players[CurrentPlayer].Integers[2] * 60000 + RandomRange(60000, 300000);
ClearDebug;
Disguise('resting')
WriteLn ('We are currently taking a break. Script will be back runing after ' + (IntToStr(BreakFor / 60000)) + ' minutes.' );
Wait(BreakFor);
end;

/////////////
//Main Loop//
/////////////

begin
SetupSRL;
ClearDebug;
MouseSpeed := 11;
VersionCheck;
GetNews;
SRLPlayerForm(True, ['Normal Alch?'], ['Loads to do', 'Loads before a break', 'Break for x minutes'], [], []);
repeat
Intro;
LogIn;
MakeCompass('n');
SetAngle(true);
SetRun(true);
if (FindCoins(x, y, 'inventory') = true) then
WriteLn ('You have some coins.')
else
begin
WriteLn ('You dont have any coins.');
LogOut;
Players[CurrentPlayer].Active := False;
end;
FindStaff;
FindLvl;
if (Players[CurrentPlayer].Booleans[0] = false) then
begin
for LoadsToDo:= 0 to Players[CurrentPlayer].Integers[0] do
begin
LogIn;
MakeCompass('n');
SetAngle(true);
SetRun(true);
GameTab(tab_inv);
AntiRandoms;
FindNats;
RubyRing := BitmapFromString(1, 9, 'beNpL5G2TEdigKgpEQAYQHd' +
'IQ36wqxsDAmA8AZbIGuA==');
FindRings;
FirstAlch;
SecondAlch;
FreeBitmap(RubyRing);
Inc(LoadNumber);
AntiRandoms;
AntiBan;
Proggie;
if LoadNumber <> 0 then
if LoadNumber mod Players[CurrentPlayer].Integers[1] = 0 then
begin
Rest;
Inc(Rests);
end;
end;
end else
begin
for LoadsToDo:= 0 to Players[CurrentPlayer].Integers[0] do
begin
LogIn;
MakeCompass('n');
SetAngle(true);
SetRun(true);
AntiRandoms;
FindNormalNats;
FindNote;
NormalAlch;
FreeBitmap(Note);
Inc(LoadNumber);
AntiBan;
Proggie;
if LoadNumber <> 0 then
if LoadNumber mod Players[CurrentPlayer].Integers[1] = 0 then
begin
Rest;
Inc(Rests);
end;
end;
end;
LogOut;
Players[CurrentPlayer].Active := False;
until False;
begin
OnTerminate;
end;
end.

Main

2009-09-13 21:09:36

Tico2:
Your script compiles and looks great. Unfortunately it does not show us that you have enough scripting skills to become a SRL member. Yet

This is a quote from the thread " SRL Membership - READ before applying to members!"
From: n3ss3s
SRL Membership So, do not apply for SRL Members thinking that it is necassary, or it will be for your own good, if you are a SCAR/ SRL Scripter and know the below, you can attempt for SRL Member status.

Some scripts are only released to SRL Members, if you need some motivation to learn ub3rl33t skills.

- Dynamic or normal DTMs
- Walking using RadialWalking or Dynamic DTMs
- FailSafes
- AntiRandoms
- Antiban (optional)
- Good usage of SRL MultiPlayer
- Ability to create working complex decent script.
…………..
Link to one tut for SRL Member stuffs http://www.villavu.com/forum/showthread.php?t=9377

Although you are not required to have all of them but you should at least have some of the following:
-TPA, DTM or RadialWalking
-Multiplayer
-*Complexity*

You misses quite a lot of the necessary elements, but I'll still analyze what you have and give you a feed back.



Variables:
There was a few global variables that could've been be placed as local variables.

var
FireStaff, LavaStaff: Integer;
e : Boolean;
//Also, your variable "coin" and "b" was never used in the script.
I'll give you [B][COLOR="red"]4/5.[/COLOR][/B]


Standards:
Your standards are very good, but some are parts was confusing.

For example:

if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));
When I first saw this, I thought you mistaken it with

if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));
...etc
But after reading a bit more, I figured out that the first IS correct, but in the future, if you only have 1 action, place it behind the "then" like

if not FindColor(x, y, 1020586, 663, 371, 677, 381) then Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));
*I just noticed that the semicolons were missing :confused:*.
For standards, I'll give you [COLOR="red"][B]3/5.[/B][/COLOR]


Fail safe.
*Note, failsafes are EXTREMELY IMPORTANT to a good script and a good scripter*
Mouse box is fine replacement for DTM and Bit maps ONLYif you used it with fail safe. But in your Buyrings procedure, there is not a single fail safe for Mousebox.

if (ChooseOption('rade') = true) then
begin
WriteLn ('In the shop menu.');
Wait (1000 + random (500));
MouseBox(73, 100, 84, 112, 3);
Wait (1000 + random (500));
What happened if there was lag and stopped/delayed the client from showing you the trade screen?
Solution could be a simple Getcolor Procedure that can detect the orange texts in the trade screen, or DTM.


Also this.

end else
WriteLn ('We couldnt buy the rings!');
end;
end;
end;
end else
WriteLn ('Couldnt find the gem stall.');
If the script didn't get rings, it shows that message. But does that message do any thing? No, there was also no action taken if BuyRings returned as false! But I guess there is no need for that when you didn't set result:=false; in the BuyRings function. (I Apologize for my sarcastic tone).

Also, your entire main loop does not have a SINGLE fail safe, and you mistakenly (?) ended the script with a infinite loop;
  until False;

For Fail safe, You got a [B][COLOR="Red"]1/5.[/COLOR][/B] 




There isn't much to say about the script, because there isn't much stuff TO say. I can see where your going, but I think you might have rushed a bit.
Next time, apply with a script with more fail safe, and walking. Maybe you can make a walking collector and alcher ^^.

MyYes:=false;
Nextplayer(
True);

Rich

2009-09-13 21:47:17

Sorry, it's a no from me. You don't use (D)DTMs, TPAs, RadialWalking and Multiplayer. These are pretty much the key to SRL Members. The only semi-advanced technique you use is Bitmaps, but they alone will not get you SRL Members.

Sorry,
Richard.

Smarter Child

2009-09-14 03:12:53

From: R1ch
Sorry, it's a no from me. You don't use (D)DTMs, TPAs, RadialWalking and Multiplayer. These are pretty much the key to SRL Members. The only semi-advanced technique you use is Bitmaps, but they alone will not get you SRL Members.

Sorry,
Richard.


Agreed, sorry I am going to have to vote 'No'. Don't give up yet though :)

mormonman

2009-09-14 08:42:12

So you did end up getting banned… thats too bad.

@script - It shows that you spent time on it, but that isn't everything. Unfortunately I am going to have to say no this time around… but be sure to keep learning and apply again!

JAD

2009-09-14 08:46:13

@Main_FTW, it is actually more common with standards, and proper, to instead of this:

if not FindColor(x, y, 1020586, 663, 371, 677, 381) then Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));

Do:

if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));

Good vote though :)



You have a great attitude tico and have good activity in the forums. Unfortunately, this script is just not complicated enough for SRL members. Try making something with more object finding on the Main Screen, and possibly walking, to demonstrate your SCAR and SRL abilities better.

Good luck!

Edit: After taking a closer look at the script, I am actually going to vote yes (hadn't voted, yet). The script is a little more complex then I thought, and your attitude and willingness to learn + scripting ability = just enough to get in IMO. Hope you get in :)

~JAD

cycrosism

2009-09-14 10:20:13

Very good use of bitmaps there, but I suggest increasing the tolerance, I am not sure if 10 is enough you should make it 20-30. That's what I use and it has never failed for me.

As mentioned before you don't have any DDTM's, TPA's or Multiplayer. If you add some (or 1) of these you would easily get SRL members. But i don't know why you would need to use a DDTM or a TPA in a alch script, there is no need for ddtms as you are never walking on the minimap or tpas because you are only finding things in your inventory.

Voted yes. Good work!

BobboHobbo

2009-09-14 11:10:54

Main_Ftw pretty much said it all. And Main_Ftw I like how you score them out of 5, its a good idea.

Im voting No, reasons are said above.

ZephyrsFury

2009-09-14 13:26:28

I vote yes.

You've been here for a while and I've noticed you to be quite help around the place. I like your attitude and your maturity - all of these things are just as important if not more important than scripting ability. Having said that, your scripting isn't too bad either. Good luck :)

Sir R. M8gic1an

2009-09-17 20:11:01

Any more feedback on this?

~RM

3Garrett3

2009-09-18 01:12:04

From: Rasta Magician
Any more feedback on this?

~RM


I'm voting yes, if that qualifies as feedback. :p

senrath

2009-09-18 01:25:51

I'm sorry, but I'm going to vote no. There are about three things that I have problems with.

First is your use of the player array. The biggest thing is that you use it…without ever setting it up. You tell the script to login at one point, but no information on the player is ever put into the script. Also, you use comparisons to Players[CurrentPlayer].Integers[x] in a couple places, when they're never initialized so they're always 0. And finally, you don't allow multiplayer.

Second is the fact that in your FindNote procedure, you never free the bitmap.

And third is that there are pretty much no failsafes in your mainloop. The more failsafes you can cram in without negatively impacting performance, the better.

Sir R. M8gic1an

2009-09-26 22:13:46

I ask yet again, any more feedback on this?

~RM

MylesMadness

2009-09-26 22:50:22

Im going to say no, I shouldn't have to debate to say yes.

Dynamite

2009-09-26 23:02:03

I like you.
Yes.

T~M

Bionicle

2009-09-26 23:24:45

ok, to start off:

1) Put your logIn procedure in your mainloop instead of having it as a procedure. this is highly unnecessary.

2) For your AutoRespond procedure, instead of
RandomNum := Random(4);
RandomNum := Random(3);
RandomNum := Random(5);
do
RandomNum := Random(16);
RandomNum := Random(12);
RandomNum := Random(20);
this will ensure that it won't respond back too many times, it will be a one in four chance of responding.

3) In your AntiBan, do
case Random(80) of
because you want your script to only do an AntiBan one every ten times

4) Your missing a few semi-colons

5) No multiplayer

6) You don't have a DeclarePlayers section, yet you have a LogIn procedure…

7)
procedure FirstAlch;
begin
Wait(300 + random(400));
GameTab(tab_Magic)
if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));
bad standards here…if your going to have an if…then statement with only one function afterwards, indent it as such:
procedure FirstAlch;
begin
Wait(300 + random(400));
GameTab(tab_Magic)
if not FindColor(x, y, 1020586, 663, 371, 677, 381) then
Mouse(705, 452, 5, 5, true);
Disguise('alching')
GameTab(tab_Magic)
Wait(500 + Random(75));

8)
procedure SecondAlch;
begin
if FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) then
repeat
GameTab(tab_Inv)
AntiRandoms;
FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10);
Mouse(x, y, 10, 10, true);
alches := alches + 1;
xp := xp + 65;
Wait(1600 + Random(435));
GameTab(tab_Magic)
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 5, 5, true);
Wait(200 + Random(75));
GameTab(tab_Inv);
end else
OnTerminate;
until (FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) = false);
Mouse(381, 388, 10, 10, true);
end;

couple things wrong here, ill just post a correction:
procedure SecondAlch;
begin
if FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) then
begin//forgot your begin here
repeat
GameTab(tab_Inv)
AntiRandoms;
FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10);
Mouse(x, y, 10, 10, true);
alches := alches + 1;
xp := xp + 65;
Wait(1600 + Random(435));
GameTab(tab_Magic)
if FindColor(x, y, 1020586, 663, 371, 677, 381) then
begin
Mouse(x, y, 5, 5, true);
Wait(200 + Random(75));
GameTab(tab_Inv);
end else
OnTerminate;
until(FindBitmapToleranceIn(RubyRing, x, y, MIX1, MIY1, MIX2, MIY2, 10) = false); //no space between until(condition)
Mouse(381, 388, 10, 10, true);
end;

9) Don't declare all of your variables globally, there are a few up there that can be declared locally. Also i didn't see the variable 'coins' you declared anywhere in your script.

You seem to be eager to learn, and you are very mature, polite and have a great attitude. You also have been here for a while, and your script needs work, but shows a lot of promise.

program VoteOpinion;

function Vote: boolean;
begin
Result:=True
if Result = True then
WriteLn('Congratulations, my vote is yes!');
end;

begin
Vote;
end.

Successfully compiled (80 ms)
Congratulations, my vote is yes!
Successfully executed

Rich

2009-09-27 00:14:54

Bionicle, give it a while until you vote. You've only been an SRL Member for a few hours. Sit back, and watch how the voting process takes place from an SRL Member point of view before you vote for a few days minimum.

Bionicle

2009-09-27 00:19:17

From: R1ch
Bionicle, give it a while until you vote. You've only been an SRL Member for a few hours. Sit back, and watch how the voting process takes place from an SRL Member point of view before you vote for a few days minimum.


sure thing, i guess im getting a little ahead of myself ;)

Dynamite

2009-09-27 00:21:22

From: bionicle1800
sure thing, i guess im getting a little ahead of myself ;)


You took the apps system by the balls and worked it fine.
Keep going ;)

T~M

Naike

2009-09-27 15:48:33

I say yes.

You're fairly active, and been around for sometime.
Script can be worked with, but seriously, this guy deserves something..

Sir R. M8gic1an

2009-09-27 15:56:32

@bionicle: He doesn't have DeclarePlayers but he does call the SRLPlayerForm, which pretty much acts the same way.

[FindNormalNats, FindNats], [FirstAlch, SecondAlch, NormalAlch], I'm sure these groups could be made into just one procedure if you applied some logic?


Wait(941+random(376));
Antibans := AntiBans + 1;
Disguise('anti ban');
You call that about a million times, surely you could just put it at the end of your antiban?

You are missing a whole lot of
If not LoggedIn then exit;
you should put one of those at the stat of each proc/func AND each loop.
Also, you keep on loading and freeing bitmaps. If scar were perfect, that'd be ok(ish), but a tiny shred of memory is always lost, therefore you should load them once at the start of the script and free them once at the end of the script (OnTerminate).

if Result = True then
–> if Result then
is enough.


You still have some learning to do, however,

Welcome To Jah People :)

~RM