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…
Please show us one (or multiple) of your scripts.
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.