solarwind
2006-12-01 00:45:01
solarwind - SRL Member Application Form
solarwind
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C, Java, Pascal (Main ones)
Other Communitys
Sythe, iBot (Impsoft)
How Long have You Played Runescape
4 years.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi all, by now, I'm sure most of you know me pretty well. I love to script and I hope to contribute much to this community and help out anyone I can. Thanks for considering my application.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Here is my tutorial runner beta, I still need to improve it a lot.
——————————————————Also got this error when posting. I don't know if the post went through.
Parse error: parse error, unexpected T_STRING, expecting ']' in /mnt/w0707/d29/s33/b0285a88/www/villu-reborn.com/showthread.php(2010) : eval()'d code on line 434
solarwind
What is the meaning to life?
Where you Referred to SRL? If yes, by whom?
no
Programming Knowledge
C, Java, Pascal (Main ones)
Other Communitys
Sythe, iBot (Impsoft)
How Long have You Played Runescape
4 years.
Are you affilated in anyway with Jagex LTD?
No
—————————————————–
Please write down a paragraph about Yourself.
Hi all, by now, I'm sure most of you know me pretty well. I love to script and I hope to contribute much to this community and help out anyone I can. Thanks for considering my application.
——————————————————
Please Post a Sample of your Work. Only SCAR Scripts Accepted
Here is my tutorial runner beta, I still need to improve it a lot.
{.Script Info:
# ScriptName = Solarwind's Tutorial Island Runner.
# Author = Solarwind
# Description = Completes the tutorial island by itself.
# Version = 0.11 (alpha)
# Date = November 23, 2006
# Comments = Stage: Unstable Alpha.
/Script Info}
{======================================================================================================]
[ ]
[ ____ ___ __ ]
[ /\ _`\ /\_ \ __ /\ \ ]
[ \ \,\L\_\ ___\//\ \ __ _ __ __ __ __/\_\ ___ \_\ \ ]
[ \/_\__ \ / __`\\ \ \ /'__`\ /\`'__\/\ \/\ \/\ \/\ \ /' _ `\ /'_` \ ]
[ /\ \L\ \/\ \L\ \\_\ \_/\ \L\.\_\ \ \/ \ \ \_/ \_/ \ \ \/\ \/\ \/\ \L\ \ ]
[ \ `\____\ \____//\____\ \__/.\_\\ \_\ \ \___x___/'\ \_\ \_\ \_\ \___,_\ ]
[ \/_____/\/___/ \/____/\/__/\/_/ \/_/ \/__//__/ \/_/\/_/\/_/\/__,_ / ]
[ ]
[ ]
[ ]
[======================================================================================================]
[ ]
[ ]
[ History: ]
[ ]
[ v0.02: November 7, 2006: Optimised some procedures to be more efficient and faster ]
[ v0.03: November 8, 2006: Split up main loop into procedures ]
[ v0.04: November 8, 2006: Can go up to the underground part ]
[ v0.05: November 9, 2006: Can go up to Combat Tutor ]
[ v0.06: November 9, 2006: Can finish tutorial (has many many bugs and glitches). ]
[ (This is the first complete alpha). ]
[ v0.07: November 9, 2006: Can finish tutorial (Has bugs but but is improved). ]
[ v0.08: November 10, 2006: Added more debug output, frees DTMs, much higher success rate... ]
[ v0.09: November 11, 2006: Fixed some more lag and added more failsafes. Improved functions. ]
[ v0.10: November 14, 2006: More failsafes. ]
[ v0.10: November 23, 2006: Improved. ]
[ ]
[ ]
[ ]
[======================================================================================================]
[ ]
[ ]
[ Credits: ]
[ Thanks to IronTeapot for creating all the DTMs used in this script. ]
[ Thanks to all my testers for testing and giving me feedback/suggestions on this script. ]
[ ]
[ ]
[ Once complete, this script will be a flawless, mean, lean army making machine! So, please help ]
[ test this script and post reports. ]
[ ]
[ ]
[======================================================================================================}
program New;
{.include SRL/SRL.scar}
{.include SRL/SRL/Skill/Fighting.scar}
const
verbosity = 3; //Set the amout of debug output you want.
//1: prints out only the most important things.
//2: prints out a little more
//3: prints out the most amout of debug output. Keep it at this level when testing and post me a report.
var
found : Boolean;
progress : Integer;
DoughBMP, AxeDTM, TinderBoxDTM, NormalLogDTM, NetDTM, ShrimpDTM, PotDTM, BucketDTM, BreadDTM, DoughDTM, BronzeBarDTM, DaggerDTM, PickAxeDTM, TinOreDTM, CopperOreDTM, HammerDTM, ShortSwordDTM, WoodenShieldDTM, MindRuneDTM, AirRuneDTM, ArrowsDTM, ShortBowDTM, AnyOreDTM : Integer;
function SolarDebug(output : string; level : integer) : integer;
begin
if (level <= verbosity) then
begin
WriteLn(output);
Result := level;
end;
end;
procedure MouseTimes(times, x, y : Integer);
var
n : Integer;
begin
n := 0;
SolarDebug('MouseTimes recieved times of: ' + IntToStr(times), 3);
repeat
Mouse(x, y, 5, 5, True);
n := n + 1;
Sleep(100);
SolarDebug('n of: ' + IntToStr(n), 3);
until(n >= times);
end;
procedure ClickInChat;
begin
Mouse(327, 427, 20, 10, True);
end;
procedure LowestAngle;
begin
if (Loggedin) then
begin
keydown(40);
sleep(1000 + random(100) + random(200));
keyup(40);
wait(1000 + random(100));
end;
end;
function TalkToRandTut: Boolean; //Based on TalkToRand from SRL.
var
c: Integer;
begin
repeat
if (not (Loggedin)) then
break;
c := c + 1;
if (FindColor(x, y, 16711680, 5, 400, 510, 465)) and (not (GetColor(20, 434) = 0)) then
begin
if (Screenshots) then
SaveScreenshot('Who is this talking ? - ' + TimeRunning + '.bmp');
result := true
Mouse(x, y, 50, 2, True);
Wait(500 + Random(500));
end;
if (FindColor(x, y, 16777215, 5, 400, 510, 465)) and (not (GetColor(20, 434) = 0)) then
begin
result := true
GetMousePos(x, y);
Mouse(x, y, 50, 2, True);
Wait(500 + Random(500));
end;
until (GetColor(20, 434) = 0) or (c >= 20);
end;
procedure GenTables(x, y : Integer);
var
ran : Integer;
begin
ran := Random(4 + 3);
SolarDebug('GenTables generated random number: ' + IntToStr(ran), 3);
case ran of
0 : Mousetimes(0, x, y);
1 : Mousetimes(1, x, y);
2 : Mousetimes(2, x, y);
3 : Mousetimes(3, x, y);
4 : Mousetimes(4, x, y);
5 : Mousetimes(5, x, y);
6 : Mousetimes(6, x, y);
7 : Mousetimes(7, x, y);
8 : Mousetimes(8, x, y);
9 : Mousetimes(9, x, y);
10 : Mousetimes(10, x, y);
11 : Mousetimes(11, x, y);
12 : Mousetimes(12, x, y);
13 : Mousetimes(13, x, y);
14 : Mousetimes(14, x, y);
15 : Mousetimes(15, x, 90);
end;
end;
procedure PickLook;
var
ran : Integer;
begin
//Pick gender
ran := Random(2)
case ran of
0 : Mouse(361, 296, 10, 10, True)
1 : Mouse(454, 296, 10, 10, True)
end;
ran := Random(15 + 3);
SolarDebug('PickLook generated random number: ' + IntToStr(ran), 3);
GenTables(165, 90);
GenTables(165, 125);
GenTables(165, 160);
GenTables(165, 195);
GenTables(165, 230);
GenTables(165, 265);
GenTables(165, 300);
GenTables(465, 95);
GenTables(465, 130);
GenTables(465, 155);
GenTables(465, 190);
GenTables(465, 225);
Mouse(258, 288, 10, 10, True);
end;
procedure MMFindYellowArrow;
var
found : Boolean;
begin
repeat
if (FindColorSpiralTolerance(x, y, 11795966, 565, 0, 723, 162, 25)) then
begin
MouseFlag(x, y + 13, 0, 0);
found := True;
Sleep(500);
end
until(found);
end;
procedure MMFindRedArrow;
var
found : Boolean;
begin
repeat
if (FindColorSpiralTolerance(x, y, 255, 565, 0, 723, 162, 5)) then
begin
MouseFlag(x, y + 13, 0, 0);
found := True;
Sleep(50);
end
until(found);
end;
function FindAndClickDude(text1, text2, text3 : String; color : Integer) : Boolean;
begin
repeat
repeat
FindObj(x, y, text1, color, 20);
Sleep(500);
until(IsUpTextMulti(text1, text2, text3));
Sleep(200);
until(PopUp2(x, y, 0, 0,'Talk'));
end;
function FreeAllDTMs() : boolean;
begin
FreeDTM(TinderBoxDTM);
FreeDTM(NormalLogDTM);
FreeDTM(ShrimpDTM);
FreeDTM(ShrimpDTM);
FreeDTM(PotDTM);
FreeDTM(BucketDTM);
FreeDTM(BronzeBarDTM);
FreeDTM(DaggerDTM);
FreeDTM(TinOreDTM);
FreeDTM(CopperOreDTM);
FreeDTM(ShortSwordDTM);
FreeDTM(WoodenShieldDTM);
FreeDTM(ArrowsDTM);
FreeDTM(ShortBowDTM);
FreeDTM(AnyOreDTM);
end;
procedure LoadMyStuff;
begin
TinderBoxDTM := DTMFromString('78DA637CC9C4C0B09B910119B8693133FC07D' +
'220D1FF40C00852B30A550D44164602E9CF44A8F90254B383809A' +
'D740358708A8B90F54B39F809ADB40355B08A8790C54B306BF1A0' +
'0A5EA1287');
NormalLogDTM := DTMFromString('78DA6314626660D8C2C8800C727DD519FE036' +
'990E87F2060E401AA598BAA06220B2381B41450CD2A026A14806A' +
'761050230254B39F801A36A09A7D04D4B062FA0B5D0D0022A80B7' +
'8');
ShrimpDTM := DTMFromString('78DA63DCC0C4C070839101199CACE265F80FA' +
'441A2FF8180713350CD45543510591809A48F01D55C22A0E62450' +
'CD1D026AF603D53C23A0663B50CD53FC6A002CF10FF9');//all shrimp states the same
PotDTM := DTMFromString('78DA633462666078C4C8800C16E45A323C04D' +
'220D1FF40C0680D547315550D44164602693BA09AC704D49800D5' +
'BC25A04695087334806AAE115003F2D725FC6A008EA20DC4' );
BucketDTM := DTMFromString('78DA638C61666078C6C8800CE63579323C04D' +
'220D1FF40C0980254731D550D44164602E954A09A2704D44403D5' +
'BC25A02684087382816A6E115003F2D745FC6A0057B40F17' );
BronzeBarDTM := DTMFromString('78DA63DCC3C4C02007C448C0445588E13F906' +
'604E2FF40C0B80F282F81AA06220B2381F449A0BC3201353B80F2' +
'DA04D46C00CAAB1250B31D282F8B5F0D007FFD0AB8');
DaggerDTM := DTMFromString('78DA63546266607067624006EDADEC0CFF813' +
'42310FF07024665A01A47543510591809A435816ACC09A8D103AA' +
'B122A0461DD33D186AA4816A82F0AB0100A51C08AE');
TinOreDTM := DTMFromString('78DA63AC6266607067624006C519190CAC409' +
'A1188FF0301631D508D05AA1A882C8C04D26D4035CE04D4D403D5' +
'F81250530C541344404D36508D2301352584DD0C0093680AA5');//Tolerance of 5
CopperOreDTM := DTMFromString('78DA63AC626660C8646240064762E51958813' +
'42310FF0702C66AA09A18543510591809A4DB816A5209A8A903AA' +
'2924A0A60CA8A68C809A4CA09A0C026A4A08BB190015FF0B9B');//Tolerance of 5
ShortSwordDTM := DTMFromString('78DA635464666028646240067D3D1C0CFF813' +
'42310FF070246909A2C543510591809A4D5806A1209A8D103AA89' +
'22A04605A8A688801A59A09A72026A34806A52F0AB01008B9F0A3' +
'7');
WoodenShieldDTM := DTMFromString('78DA63F46766604865624006361AFC0CFF813' +
'42310FF0702C600A09A68543510591809A463806A9209A80902AA' +
'2921A0C609A82697801A57A09A24FC6A000E9A09D8');
ArrowsDTM := DTMFromString('78DA633463666058C3C4800C02395819FE036' +
'94620FE0F048CBA986A20B23012481B01D52C21A0C60EA8661601' +
'35EE4035F308A8B127C23D1640355B09A8D101AAD9885F0D00D03' +
'20C9C');
ShortBowDTM := DTMFromString('78DA634C60666058C6C4800C12C2C2181E026' +
'94620FE0F048C194035F350D540646124902E04AA9943404D1A50' +
'CD0A026AA2816AD61150130254B381809A38A09AA5F8D50000370' +
'A0D58');
AnyOreDTM := DTMFromString('78DA63AC626660C8646240064762E519FE036' +
'94620FE0F048CD5403531A86A20B2301248B703D5A41250530754' +
'5348404D19504D1901359940351904D49410763300F4A70C95');
DoughBMP := BitmapFromString(8, 8, 'z78DA8D8F3912C3300C03BF' +
'64CB120194D0F5FF275913A7708AC421DBDD59D29B37848606B22' +
'C6357A8C450D21E66670B128C485C5BA68B33E4CBEA6A48A21053' +
'5947344ECE65553ACA651906AA0F27E0A1B226B26D613E58B796B' +
'B1BFFB35EAD375F5D99CCC5F7DF1F7DF0F7CA17CBD383F1C0DF6E' +
'3B01AE2757F5');
end;
procedure ChopATree;
begin
SolarDebug('Attempting to chop a normal tree.', 1);
FindObj(x, y, 'ree', 1126432, 10);
Mouse(x, y, 5, 5, True);
SolarDebug('Wait 15 seconds while chopping.', 3);
Sleep(15000);
SolarDebug('I hope we''re done chopping by now.', 2);
Sleep(1000);
ClickToContinue;
TalkToRandTut;
end;
procedure WalkToFireSpot;
begin
SolarDebug('Walking to a safer spot.', 2);
FindSymbol(x, y, 'fishing spot');
Sleep(250);
MouseFlag(x, y, 3, 3);
Sleep(250);
MouseFlag(x - 10, y, 3, 3);
Sleep(500);
end;
procedure MakeAFire;
var
light : boolean;
begin
light := true;
repeat
light := true;
SolarDebug('Attempting to make a fire.', 1);
Sleep(1000);
WalkToFireSpot;
FindInvDtm(x, y, NormalLogDTM);
Mouse(x, y, 10, 10, True);
Sleep(1000);
FindInvDtm(x, y, TinderBoxDTM);
Mouse(x, y, 10, 10, True);
SolarDebug('Wait 10 seconds while making a fire.', 3);
Sleep(2000);
//Check for "Can't light a fire here"
if(FindText(x, y, 'ire', UpChars, 0, 345, 505, 460)) then
begin
SolarDebug('Can''t light a fire here, moving and retrying.', 1);
light := false;
FindSymbol(x, y, 'fishing spot');
Sleep(500);
MouseFlag(x, y - 10, 0, 0);
Sleep(500);
MouseFlag(x, y - 10, 0, 0);
end;
Sleep(15000);
SolarDebug('I hope we''re done making a fire by now.', 2);
ClickInChat;
TalkToRandTut;
TalkToRandTut;
SolarDebug('Walking back to fishing spot.', 2);
FindSymbol(x, y, 'fishing spot');
Sleep(250);
MouseFlag(x, y, 2, 2)
Sleep(500);
until(light);
end;
procedure GoFish;
begin
SolarDebug('Attempting to catch some fish.', 1);
GameTab(4);
//Find the fishing spot symbol on MM.
SolarDebug('Finding the fishing symbol.', 3);
FindSymbol(x, y, 'fishing spot');
Sleep(250);
MouseFlag(x, y, 3, 3);
Sleep(1000);
//Find the sparkling water where the fish swim.
SolarDebug('Finding the sparkling water where the fish swim.', 3);
repeat
FindObj(x, y, 'et', 15382664, 10);
Sleep(500);
Mouse(x, y, 0, 0, False);
Mouse(x, y, 0, 0, False);
Sleep(1000);
until(PopUp2(x, y, 10, 10, 'Net'));
//Waiting while catching fish.
SolarDebug('Wait 10 seconds while catching some fish.', 3);
Sleep(10000);
SolarDebug('I hope we''re done fishing by now.', 2);
Sleep(1000);
end;
Function DoorWalk(color : Integer; uptext, direction : String) : Boolean;
begin
SolarDebug('Setting lowest angle to find door.', 3);
LowestAngle;
SolarDebug('Making compass direction of door.', 3);
MakeCompass(direction);
Sleep(100);
SolarDebug('Walking through door...', 2);
FindObj(x, y, uptext, color, 10);
Mouse(x, y, 0, 0, True);
Sleep(1000 + Random(100));
SolarDebug('Make compass back to north', 3);
MakeCompass('n');
HighestAngle;
Sleep(6000);
end;
{ ]
[ ]
[ ..::[ NPC Guide Handling Procedures ]::.. ]
[ ]
[ }
procedure HandleFirstGuide;
begin
SolarDebug('Finding RuneScape guide...', 2);
//Find the yellow dot and go there (to the RuneScape guide).
MMFindYellowArrow;
Sleep(1000 + Random(1000));
//Find the RuneScape guide on the main screen and click him.
FindAndClickDude('uide', 'ape', 'une', 462977);
Sleep(1000);
Sleep(3000);
SolarDebug('Found RuneScape guide.', 2);
//Start clicking through the RuneScape guide's lecture.
SolarDebug('Talk to the RuneScape guide.', 2);
TalkToRandTut;
//Click the spanner game tab.
SolarDebug('Open the spanner tab.', 2);
GameTab(11);
//Set brightness to vbright
Sleep(2000);
Mouse(713, 228, 10, 2, True);
SolarDebug('Talk to the RuneScape guide.', 2);
TalkToRandTut;
SolarDebug('Finding RuneScape guide.', 2);
//Talk to the RuneScape guide to continue.
MMFindYellowArrow;
Sleep(1000 + Random(1000));
//Find the RuneScape guide on the main screen and click him.
FindAndClickDude('uide', 'ape', 'une', 462977);
Sleep(1000);
SolarDebug('Found the RuneScape guide.', 2);
SolarDebug('Talk to the RuneScape guide.', 2);
TalkToRandTut;
Sleep(5000);
//Go through the door.
MMFindYellowArrow;
DoorWalk(874872, 'Door', 'e');
//Go to the next instructor
SolarDebug('Finding Survival guide.', 2);
MMFindYellowArrow;
Sleep(1000 + Random(1000));
end;
procedure HandleSecondGuide;
begin
repeat //failsafe
FindAndClickDude('vival', 'pert', 'exper', 5527702);
Sleep(3000);
SolarDebug('Found Survival guide.', 2);
//Start clicking through the survival guide's lecture
TalkToRandTut;
Sleep(2000);
SolarDebug('Open the backpack.', 2);
GameTab(4);
Sleep(500);
MMouseItem(1);
Sleep(500);
until(IsUpText('Wield'));
Sleep(2000);
TalkToRandTut;
Sleep(2000);
//We need to get some logs, so lets chop a tree!
ChopATree;
Sleep(1000);
ChopATree;
Sleep(1000);
//You get some logs.
SolarDebug('Continue...', 2);
TalkToRandTut;
//We need to make a fire.
MakeAFire;
TalkToRandTut;
Sleep(3000);
TalkToRandTut;
SolarDebug('Open the stats tab.', 2);
GameTab(2);
Sleep(1000);
SolarDebug('Find the Survival Expert', 2);
MMFindYellowArrow;
Sleep(1000 + Random(1000));
FindAndClickDude('vival', 'pert', 'exper', 5527702);
Sleep(1000);
TalkToRandTut;
//We get a net, so, go fishing!
GoFish;
GoFish;
GoFish;
WalkToFireSpot;
//Make a fire and cook the shrimp.
//We need to get some logs, so lets chop a tree!
ChopATree;
Sleep(1000);
ChopATree;
Sleep(1000);
//You get some logs.
SolarDebug('Continue...', 2);
TalkToRandTut;
//We need to make a fire.
MakeAFire;
ClickToContinue;
Sleep(1000);
ClickInChat;
TalkToRandTut;
//Find the shrimp in the inventory
SolarDebug('Lets cook the shrimp!', 2);
FindInvDTM(x, y, ShrimpDTM);
Sleep(500);
Mouse(x + 3, y + 3, 2, 2, True);
Sleep(1000);
//Find a fire on the main screen
repeat
repeat
FindColorSpiralTolerance(x, y, 4697827, 0, 0, 517, 338, 50);
Sleep(100);
until(IsUpTextMulti('>', 'ire', 'Fire'));
Sleep(100);
until(PopUp2(x, y, 0, 0, 'ire'));
//Make a fire and cook the shrimp.
SolarDebug('Continue...', 2);
TalkToRandTut;
//We need to make a fire.
MakeAFire;
ClickInChat;
TalkToRandTut;
Sleep(1000);
SolarDebug('Lets cook the shrimp!', 2);
//Find the shrimp in the inventory
//Find the shrimp in the inventory
SolarDebug('Lets cook the shrimp!', 2);
FindInvDTM(x, y, ShrimpDTM);
Sleep(500);
Mouse(x + 3, y + 3, 2, 2, True);
Sleep(1000);
//Find a fire on the main screen
{
repeat
FindColorSpiralTolerance(x, y, 4697827, 0, 0, 517, 338, 50);
Sleep(500);
until(IsUpTextMulti('>', 'ire', 'Fire'));
Mouse(x, y, 10, 10, True);
Sleep(3000);
}
repeat
repeat
FindColorSpiralTolerance(x, y, 4697827, 0, 0, 517, 338, 50);
Sleep(100);
until(IsUpTextMulti('>', 'ire', 'Fire'));
Sleep(100);
until(PopUp2(x, y, 0, 0, 'ire'));
//Ok, lets go through the gate.
MMFindYellowArrow;
Sleep(1000);
DoorWalk(276316, 'pen', 'w');
SolarDebug('Proceeding to the chef.', 2);
MMFindYellowArrow;
Sleep(1000);
DoorWalk(800847, 'Door', 'w');
Sleep(4000);
end;
procedure HandleThirdGuide;
begin
//Lets find the chef.
SolarDebug('Lets find the chef.', 2);
FindAndClickDude('alk', 'to', 'hef', 16448251);
Sleep(1000);
TalkToRandTut;
//Mix flour and water to make dough.
SolarDebug('Mix the flour and water to make dough.', 2);
FindInvDTM(x, y, PotDTM);
Mouse(x, y, 10, 10, True);
Sleep(500);
FindInvDTM(x, y, BucketDTM);
Mouse(x, y, 10, 10, True);
Sleep(3000);
//Find the range
SolarDebug('Find the range.', 2);
MMFindYellowArrow;
//Find and click on the dough.
SolarDebug('Find the dough.', 2);
// FindInvDTM(x, y, DoughDTM);
FindBitmapToleranceIn(DoughBMP, x, y, 550, 200, 740, 470, 20);
Mouse(x, y, 10, 10, True);
Sleep(1000);
//Use the dough on the range to cook it.
SolarDebug('Cook.', 2);
FindObj(x, y, 'ange', 793045, 25);
Mouse(x, y, 2, 2, True);
Sleep(5000);
TalkToRandTut;
GameTab(13);
//We're done with this chef.
//Exit through the door to the next dude.
MMFindYellowArrow;
DoorWalk(1924988, 'Door', 'w');
Sleep(1000 + Random(100));
end;
procedure HandleFourthGuide;
begin
//Do an emote.
SolarDebug('Lets do an emote. I''ll make it random later.', 2);
Sleep(2000);
GameTab(12);
Sleep(1000);
Mouse(622, 279, 10, 10, True);
//Set run.
SolarDebug('We have to set run.', 2);
SetRun(True);
//Find the red arrow
SolarDebug('Find the next guide', 2);
MMFindRedArrow;
MMFindRedArrow;
MMFindYellowArrow;
//Open the door
DoorWalk(1791856, 'Door', 's');
//Find the quest guide.
SolarDebug('Finding the quest guide...', 2);
MMFindYellowArrow;
FindAndClickDude('est', 'to', 'uest', 16448251);
Sleep(1000);
TalkToRandTut;
Sleep(1000);
//We have to open the quest journal (tab 3)
SolarDebug('Open quest journal', 2);
GameTab(3);
Sleep(2000 + Random(100));
//Find the quest guide.
SolarDebug('Finding the quest guide...', 2);
MMFindYellowArrow;
FindAndClickDude('est', 'to', 'uest', 16448251);
Sleep(2000 + Random(100));
TalkToRandTut;
Sleep(1000);
//Yay, we get to go underground now.
MMFindYellowArrow;
Sleep(1000);
SolarDebug('We must go underground now.', 2);
DoorWalk(2113880, 'der', 's');
Sleep(1000);
//Ok, we're underground.
SolarDebug('We are underground now, go to the next tutor.', 2);
Sleep(1000);
MouseFlag(647, 154, 5, 2);
Sleep(1000);
end;
procedure HandleFifthGuide;
begin
//Finding the mining instructor.
//LOL! This part is easy, this dude has the only purple item thing down here!
SolarDebug('Finding the Mining Instructor...', 2);
MMFindYellowArrow;
Sleep(500);
MakeCompass('s');
FindAndClickDude('stru', 'to', 'ini', 9126279);
Sleep(2000);
TalkToRandTut;
Sleep(1000);
//We need to prospect some tin.
MMFindYellowArrow;
SolarDebug('Attempting to prospect some tin.', 2);
FindObj(x, y, 'ock', 9145495, 25);
Mouse(x, y, 0, 0, False);
Sleep(500);
PopUp('Prospect');
Sleep(5000);
TalkToRandTut;
//We need to prospect some copper.
MMFindYellowArrow;
SolarDebug('Attempting to prospect some copper.', 2);
FindObj(x, y, 'ock', 4875650, 5);
Mouse(x, y, 0, 0, False);
Sleep(500);
PopUp('Prospect');
Sleep(5000);
TalkToRandTut;
//Find the mining dude again.
MMFindYellowArrow;
SolarDebug('Talking to the Mining Instructor', 2);
//repeat
FindAndClickDude('alk', 'to', 'ini', 9126279);
Sleep(2000);
//This time, we start talking so we change it a little...
//until(FindColorSpiralTolerance(x, y, 9716879, 11, 347, 493, 456, 25));
TalkToRandTut;
Sleep(3000);
//Mine some tin.
MMFindYellowArrow;
SolarDebug('Attempting to mine some tin.', 2);
FindObj(x, y, 'ock', 9145495, 25);
Mouse(x, y, 0, 0, True);
Sleep(7000);
TalkToRandTut;
//We need to mine some copper.
MMFindYellowArrow;
SolarDebug('Attempting to mine some copper.', 2);
FindObj(x, y, 'ock', 4875650, 5);
Mouse(x, y, 0, 0, True);
Sleep(7000);
TalkToRandTut;
GameTab(4);
Sleep(2000 + Random(100));
//Time to smelt the ores.
MMFindYellowArrow;
SolarDebug('It is time to smelt the ores', 2);
FindInvDtm(x, y, AnyOreDTM);
Mouse(x, y, 10, 10, True);
Sleep(1000);
FindObj(x, y, 'urnace', 2565929, 25);
Mouse(x, y, 10, 10, True);
SolarDebug('Yay, we made a bronze bar!', 2);
Sleep(5000);
ClickInChat;
//Find the Mining Instructor.
SolarDebug('Finding the Mining Instructor...', 2);
MMFindYellowArrow;
FindAndClickDude('ining', 'to', 'ini', 9126279);
Sleep(2000);
TalkToRandTut;
Sleep(2000);
//We need to make a dagger.
SolarDebug('Making a weapon...', 2);
MMFindYellowArrow;
FindInvDtm(x, y, BronzeBarDTM);
Mouse(x, y, 5, 5, True);
Sleep(1000);
FindObj(x, y, 'nvil', 5987684, 25);
Mouse(x, y, 0, 0, True);
Sleep(3000);
Mouse(34, 62, 0, 0, True);
SolarDebug('We just made a dagger.', 2);
Sleep(3000);
ClickInChat;
Sleep(1000);
MMFindYellowArrow;
Sleep(2000);
MakeCompass('n');
//Done with this dude. Lets proceed to the great warrior!
MMFindYellowArrow;
FindObj(x, y, 'ate', 8750479, 10);
Mouse(x, y, 5, 5, True);
Sleep(1000 + Random(100));
MakeCompass('n');
//On to the next instructor!
end;
procedure HandleSixthGuide;
begin
//Talk to the Combat Instructor
SolarDebug('Attempting to find and talk to the Combat Instructor.', 2);
Sleep(1000 + Random(100));
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'ombat', 594519);
Sleep(1000);
TalkToRandTut;
Sleep(2000);
SolarDebug('We now have to fool around with some controls again...', 2);
GameTab(5);
Sleep(1000);
Mouse(654, 428, 15, 5, True);
Sleep(1000);
//We now have to wield our dagger.
SolarDebug('Attempting to wield dagger.', 2);
FindInvDTM(x, y, DaggerDTM);
Sleep(200);
Mouse(x, y, 2, 2, True);
Sleep(1000);
Mouse(482, 44, 3, 3, True);
Sleep(2000);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'ombat', 594519);
Sleep(1000);
TalkToRandTut;
Sleep(3000);
GameTab(4);
Sleep(1000);
FindInvDTM(x, y, ShortSwordDTM);
Sleep(200);
Mouse(x, y, 2, 2, True);
Sleep(1000);
FindInvDTM(x, y, WoodenShieldDTM);
Sleep(200);
Mouse(x, y, 2, 2, True);
Sleep(1000);
GameTab(1);
Sleep(1000);
//Lets kill something
SolarDebug('Proceeding to the gate to kill a rat', 2);
MMFindYellowArrow;
//Open the gate
DoorWalk(7368825, 'Gate', 'w');
Sleep(6000);
//Attempting to kill a rat.
SolarDebug('Finding a rat to kill...', 2);
repeat
repeat
MMFindYellowArrow;
FindObj(x, y, 'rat', 8884883, 25);
Sleep(100);
Mouse(x, y, 2, 2, True);
Sleep(1000);
until(InFight);
repeat
Sleep(1000);
until(not(InFight));
until(not(FindText(x, y, 'else', UpChars, 0, 345, 505, 460) or FindText(x, y, 'already', UpChars, 0, 345, 505, 460)));
MouseFlag(686, 56, 2, 2);
Sleep(1000);
//Open the gate
DoorWalk(7368825, 'Gate', 'e');
Sleep(6000);
MMFindYellowArrow;
Sleep(2000);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'ombat', 594519);
Sleep(1000);
TalkToRandTut;
Sleep(1000);
GameTab(4);
Sleep(1000);
FindInvDTM(x, y, ShortBowDTM);
Sleep(200);
Mouse(x, y, 2, 2, True);
Sleep(1000);
FindInvDTM(x, y, ArrowsDTM);
Sleep(200);
Mouse(x, y, 2, 2, True);
Sleep(1000);
//MMFindYellowArrow;
MouseFlag(617, 66, 2, 2);
SolarDebug('Finding a rat to kill...', 2);
repeat
repeat
//MMFindYellowArrow;
FindObj(x, y, 'rat', 8884883, 25);
Sleep(100);
Mouse(x, y, 2, 2, True);
Sleep(1000);
until(IsFightAt(x, y));
repeat
Sleep(1000);
until(not(IsFightAt(x, y)));
until(not(FindText(x, y, 'else', UpChars, 0, 345, 505, 460) or FindText(x, y, 'already', UpChars, 0, 345, 505, 460)));
Sleep(1000);
MouseFlag(643, 12, 5, 2);
//Climb up ladder.
DoorWalk(3565696, 'Ladder', 'n');
Sleep(6000);
end;
procedure HandleSeventhGuide;
begin
//Go to the bank.
SolarDebug('Above ground now, going to the banker', 2);
MMFindYellowArrow;
Sleep(1000);
SolarDebug('Finding bank booth.', 2);
FindObj(x, y, 'Use', 539471, 25);
Sleep(200);
Mouse(x, y, 1, 1, True);
SolarDebug('Talking to banker.', 2);
Sleep(3000);
TalkToRandTut;
Mouse(255, 397, 2, 2, True);
TalkToRandTut;
Sleep(1000);
SolarDebug('Close the bank window', 2);
Mouse(486, 42, 1, 1, True);
Sleep(2000);
SolarDebug('Go to the financial advisor.', 2);
MMFindYellowArrow;
Sleep(1000);
//Open door.
DoorWalk(1791084, 'Door', 'e');
Sleep(2000);
//Find the financial advisor.
SolarDebug('Finding the financial advisor', 2);
Sleep(2000);
MMFindYellowArrow;
FindAndClickDude('Fin', 'visor', 'ncial', 1184277);
Sleep(1000);
TalkToRandTut;
Sleep(2000);
//Open door.
DoorWalk(1791084, 'Door', 'e');
Sleep(2000);
//Go to the chapel
SolarDebug('Going to the chapel', 2);
MouseFlag(648, 151, 1, 1);
end;
procedure HandleEigthGuide;
begin
//Find the brother
SolarDebug('Finding brother.', 2);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'race', 8037330);
Sleep(1000);
SolarDebug('Found.', 2);
TalkToRandTut;
Sleep(1000);
GameTab(6);
SolarDebug('Finding brother.', 2);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'race', 8037330);
Sleep(1000);
SolarDebug('Found.', 2);
TalkToRandTut;
GameTab(8); //open friends list
GameTab(9); //open ignore list
SolarDebug('Finding brother.', 2);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'race', 8037330);
Sleep(1000);
SolarDebug('Found.', 2);
TalkToRandTut;
Sleep(1000);
Sleep(1000);
MMFindYellowArrow;
//Open door.
DoorWalk(1791084, 'Door', 's');
Sleep(2000);
MouseFlag(635, 144, 3, 3);
Sleep(500);
MouseFlag(693, 89, 3, 3);
Sleep(500);
//Find the magic tutor.
SolarDebug('Find the magic tutor.', 2);
Sleep(1000);
MMFindYellowArrow;
Sleep(500);
FindAndClickDude('alk', 'to', 'agic', 6307849);
Sleep(1000);
SolarDebug('Found.', 2);
TalkToRandTut;
Sleep(1000);
GameTab(7);
Sleep(500);
FindAndClickDude('alk', 'to', 'agic', 6307849);
Sleep(1000);
SolarDebug('Found.', 2);
TalkToRandTut;
Sleep(1000);
//Almost done, just cast windstrike on a chicken. I think it has to be a chicken with the arrow under it.
GameTab(7);
SolarDebug('Time to attack a chicken', 2);
Sleep(500);
MMFindYellowArrow;
Sleep(500);
Mouse(588, 226, 1, 1, True);
//Attack a chicken.
repeat
FindObj(x, y, 'hicken', 15658736, 10);
Sleep(100);
Mouse(x, y, 2, 2, True);
Sleep(1000);
until(not(FindText(x, y, 'else', UpChars, 0, 345, 505, 460) or FindText(x, y, 'already', UpChars, 0, 345, 505, 460)));
//Almost done. Find and talk to the magic instructor.
Sleep(1000);
MMFindYellowArrow;
FindAndClickDude('alk', 'to', 'agic', 6307849);
Sleep(3000);
SolarDebug('Found.', 2);
TalkToRandTut;
Sleep(1000);
Mouse(258, 398, 1, 1, True);
Sleep(1000);
TalkToRandTut;
SolarDebug('Yay, we finished the tutorial island!', 2);
end;
{ ]
[ ..::[ Main Loop ]::.. ]
[ }
begin
DisguiseScar('Microsoft Word - Document 1');
ClearDebug;
MouseSpeed := 8;
SetupSRL;
ActivateClient;
LoadMyStuff;
BenMouse := false;
MouseSpeed := 8;
MMouse(365, 293, 5, 5);
Sleep(100);
if (IsUpText('Male')) then
begin
SolarDebug('Picking a random look for our character!', 2);
PickLook;
end;
Sleep(1000);
HighestAngle;
MakeCompass('n');
Sleep(1000);
HandleFirstGuide; //Handle the first guide (the RuneScape guide).
HandleSecondGuide; //Handle the second guide (the Survival Expert).
HandleThirdGuide; //Handle the third guide (the Chef).
HandleFourthGuide; //Handle the fourth guide (the quest guide).
HandleFifthGuide; //Handle the fifth guide (the mining tutor).
HandleSixthGuide; //Handle the sixth guide (the combat tutor).
HandleSeventhGuide; //Handle the seventh guide (the money people).
HandleEigthGuide; //Handle the eighth guide (the magic tutor).
FreeAllDTMs;
//We should now be in Lumbrige.
end.
——————————————————Also got this error when posting. I don't know if the post went through.
Parse error: parse error, unexpected T_STRING, expecting ']' in /mnt/w0707/d29/s33/b0285a88/www/villu-reborn.com/showthread.php(2010) : eval()'d code on line 434