SRL Archive - Outdated / Broken

SRL tut island runner


Lorax

2006-02-23 12:01:18

SRL tutorial island runner - by Lorax and friends.

Description:
  • This script will run through tutorial island for you
  • It has been made by Dankness, Tarajunky and me (Lorax). - AND LATELY BULLZEYE95 has done lots of updates, and is the drive behind the script today.. Clap your shoulder..
  • This script is based upon using the arrows that apear when Jagex wants you to do something.
  • Also to detect what area we start in, it uses HSL (Hue, Saturation and Luminance) and thereby check the progressbar.
  • The first version I made is around a year old (first posted 23th febuary 2006) - in theory it worked fine, and I have some feedbacks that say that the script made it to fight guide, and then after fight guide you could start it again. (Fight guide was perhaps bugged).
  • Changes in runescape has been made since, and the script has been optimized by firstly Dankness, Tarajunky and Major Updates by Bullzeye..

The current script version is version is posted by Bullzeye.. Try and find it, Currently it's on page 11 (14 april-07)

Do's and don't's
DO post the progress of the script - IE did it make it through Tutorial Island?
if the script didn't make it through - tell us what menus is available, what items you have in your inventory and last but not least, where is your character and perhaps what do you think caused this bug?
DONT tell us that the script didn't work and expect us to fix your bugs if you don't provide the info we demand.

DO ENJOY THE SCRIPT :spot:
and do tell Bullzeye what a great job he has done..

Cheesehunk

2006-02-23 14:50:23

Hmm, great job Lorax!!!

I will test it right after I get my script done:)
Keep up the great work!

Lorax

2006-02-23 15:35:17

Note, this release has some minor bugs, and I'm pretty sure I have them all fixed now, I will run 2 more runs just to be sure :)

Krazy_Meerkat

2006-02-23 23:00:21

It didn't work too well for me Lorax :(
When it tried to click some of the instructors, such as the survival guide one.. It would say "cannot reach that" but the script would go on as if you had spoken to the guide.
This would screw up everything else after that..

Good work though :D

EDIT: Oh yeah I think the directory of SRL is SRL/SRL.scar, I had to change the include line.

HISTORY

2006-02-24 03:06:39

w00t!! good script…

The Un-Named

2006-02-24 03:44:07

Thank you. I'm sure it will be very useful.

Lorax

2006-02-24 09:12:20

From: Krazy_Meerkat
It didn't work too well for me Lorax :(
When it tried to click some of the instructors, such as the survival guide one.. It would say "cannot reach that" but the script would go on as if you had spoken to the guide.
This would screw up everything else after that..

Good work though :D

EDIT: Oh yeah I think the directory of SRL is SRL/SRL.scar, I had to change the include line.

hmm, when will it say cannot reach that ?

Renax

2006-02-24 09:13:22

lets see

1. when cooking it clicked on the pot and skipped the dough, and tried clicking the music button, check bmp maybe ?

2. screwed up quest kept thinking it went down the stairs before it really did.

3. just stood at the ladder when it was supposed to mine, i had to help it

4. went right from smelting to trying to smith the dagger without re-talking to the dwarf guy.

5. mis clicked the door to go to the finacial advisor and kept wanting to talk through a closed door.

6. re-clicked on the spell before talking to the wizard, fixed it self but tried to shoot the wizard twice.

Lorax

2006-02-24 09:32:58

hmm, well that is the problems of having different computers,
what level of brightness did you use ?
I guess I could take the tolerances of the bitmaps up a litle.. Note the thing that it tryes to smith before talking, how is that possible ? oh and the ladder thingy is because it has like 6 seconds of wait time before it actually starts the mining thingy..

Krazy_Meerkat

2006-02-26 06:39:55

Well maybe it was just me.. When my character moved to the instructor, it would walk on top of him/her and then try to talk.. Runescape said "I cannot reach that" for some wierd reason and the script assumed it had spoken to the instructor. I also had a few problems opening gates :s It would right click and then cancel, then it would stay still until it logged out. Or I would click the gate for them, and find out it was already up to fighting the rats (from the smithing area).

Very good work though :)

Lorax

2006-02-27 13:58:39

Haha, I have never expenrienced the I cannot reach that message when "standing on the arrow target". Yes the gate thingy is a bit akward, I tried to fix it with a findobj, but I will problemly have to use MakeCompass on them all :)

The Un-Named

2006-02-27 18:22:34

Sometimes gets stuck at mining(thinking it's 4 pages ahead when it's not). Almost flawless.

Flyboy

2006-02-27 22:17:17

I tried the tut runner last night… very cool!!! Unfortunately I had some major problems with it because of my slow computer… The cure it to have it first move the mouse to the location to click, and then wait a little (100-250 milliseconds) before clicking. This needs to be done for everytime the mouse clicks.

Krazy_Meerkat

2006-02-27 23:53:47

Can we make suggestions? If so, I suggest adding some code to check if the player has been logged out by mistake and logging in other players in the array.

Lorax

2006-02-28 14:23:37

From: Krazy_Meerkat
Can we make suggestions? If so, I suggest adding some code to check if the player has been logged out by mistake and logging in other players in the array.

That is a good idea, so that is like whenever the script checks if you have been logged out then use NextPlayer and Exit

Yes and FlyBoy, Maybe I will solve this by making a temp Mouse for that script (steal benlands work) and add some wait. That is if I get time, but as some of you may have noticed I haven't been online that much lately because something takes up my time. *Finally*

WT-Fakawi

2006-02-28 15:04:08

From: Lorax
That is a good idea, so that is like whenever the script checks if you have been logged out then use NextPlayer and Exit
If you want to do that properly, make sure you:

1. Put in every loop and @ start of procs: if not loggedin then exit;
2. Call NextPlayer(False) at the last line of your script. If you dont do that, the Player will login somewhere in the middle of your script…

Krazy_Meerkat

2006-02-28 16:07:26

I think you will have to set the active player to false also :)
Oh and once TutIsland is complete too ;)

WT-Fakawi

2006-02-28 17:03:22

[offtopic]
NextPlayer(false) sets the Active Player to False (removing it from the queue), and logs in the next player. Use that if your player is lost and/or has logged out.

NextPlayer(true) sets the Active Player to True (keeping it in the queue), and logs in the next player. Use that if your player has done its thing and is happily standing @ a known place (the bank for instance…)

See also: Manual!
[/offtopic]

Sdcit

2006-02-28 19:02:38

hm… when i did NextPlayer(true), it logged off and logged in the next player, but let me check….oh yes, i declared the second as false :S:p


Good JOB LORAX!

Lorax

2006-03-01 05:51:42

As far as I know I have a if not LoggedIn then Exit in all of the loops ..
Oh and I really had no clue of what true / false was used for in NextPlayer, thanks for explaining it to me :)
I have some spare time today maybe I will fix most of your bugs :)
Just wondering if anyone have a solution to the I cannot reach that problem ?
I have one but it's not very good. Concerning the Mining bug, when does it occur when talking, mining, prospecting, smithing or smelting ?
Thanks to all of you..

Lorax

2006-03-01 06:33:11

Yes and I fixed some of your bugs, please read the version history if you want to know what's fixed or simply read through the code..

Bebe

2006-03-02 22:22:58

I have noticed that after the mining part of the script that it starts to click "examin" on doors and such, thus making it get stuck. I think this can be solved by a simple:
If(not(IsTextAt2(x, y, {Text}, Tolerance)then
....
....
....
Something like that will do I would think.

Anyway on a scale from 1 to 10 (10 being the highest, 1 the lowest) I would rate this a 7.

It had to many errors for my liking, but it got the job done.

Good job. :)

Lorax

2006-03-03 11:49:53

From: Bebemycat2
I have noticed that after the mining part of the script that it starts to click "examin" on doors and such, thus making it get stuck. I think this can be solved by a simple:
If(not(IsTextAt2(x, y, {Text}, Tolerance)then
....
....
....
Something like that will do I would think.

Anyway on a scale from 1 to 10 (10 being the highest, 1 the lowest) I would rate this a 7.

It had to many errors for my liking, but it got the job done.

Good job. :)

thank you though I don't really get what you mean concerning the IsTextAt thingy .. :)

The Prince of Randomness?

2006-03-03 23:44:33

It started talking to the sword master again and again
Saying Hi im Omfg Haxxx, And just repeating.

Maybe doesnt know its talking to The sworsd master?

Mutant Squirrle

2006-03-04 09:25:27

rofl well well well lorax…. okay basically im here now just wanted to say hello and offer up some advice. As you know I like to play with text functions haha what you should do for your "cannot reach" simply when the script starts do like my anti randoms do create a bitmask of cannot out of the chat text and when talking or doing some sort of event check to make sure it "can" reach that lol and maybe have it check the text in the xhat window to tell where exactly it is on tut island maybe an uber fail safe haha

bye bye mate

Liquid

2006-03-04 12:49:05

The way him and I are doing our tutorial islands we don't need a failsafe to check to see how far we are. It won't fail unless Jagex fails.

Lorax

2006-03-04 18:29:02

From: mutant squirrle
rofl well well well lorax…. okay basically im here now just wanted to say hello and offer up some advice. As you know I like to play with text functions haha what you should do for your "cannot reach" simply when the script starts do like my anti randoms do create a bitmask of cannot out of the chat text and when talking or doing some sort of event check to make sure it "can" reach that lol and maybe have it check the text in the xhat window to tell where exactly it is on tut island maybe an uber fail safe haha

bye bye mate

Thank you for your advice mut. and let me greet you here on getting in.
I cannot get such a bitmap since I never get that bug myself. And for the uber fail safe I use HSL, which I think is inferior (I hope I used the word in the right way) to some text checking :) but anyway thank you ..

Renax

2006-03-04 19:13:25

lorax i believe you mean superior, inferior would mean less then text checking.

Lorax

2006-03-05 10:30:42

From: Renax
lorax i believe you mean superior, inferior would mean less then text checking.

Yes I do not have the power of english into my possesion..

Krazy_Meerkat

2006-03-05 15:19:59

At least you don't speak noob ;p

Lorax

2006-03-06 06:15:29

From: Krazy_Meerkat
At least you don't speak noob ;p

No I laid that behind me a long time ago. At least I guess.

masquerader

2006-03-06 21:18:28

'muahaha'

does it make it a lot easier that we have the npc characters?
i hope it cuts down on bitmaps and stuff, because it was a lot of work :)

Lorax

2006-03-07 03:09:05

From: masquerader
'muahaha'

does it make it a lot easier that we have the npc characters?
i hope it cuts down on bitmaps and stuff, because it was a lot of work :)

What are you talking about ? npc characters ? what are they and what will they help ?

Liquid

2006-03-07 07:14:25

The letters in the chat text when you speak to the npc. We have them all cropped and ready tp use now. I know I am using it in mine. ;)

Lorax

2006-03-07 13:18:40

That is in no use for me ..

Liquid

2006-03-07 15:11:57

Sure it is. It would be easier then creating bitmaps of the chat text just to check. And you can use them to check where you are in a step.

Lorax

2006-03-08 02:27:25

From: Liquid
Sure it is. It would be easier then creating bitmaps of the chat text just to check. And you can use them to check where you are in a step.

I use like 2 bitmaps of the chat text.. And for now I can't really see that anyone has any problems with the script .. Also I think the detection of where you are within a guide is unessecary (sp?).

weaselforce

2006-03-29 23:56:56

well…i just tried with no success. I would constantly get that error where it clicks on the door or range and goes down to "cancel" instead of use. and after it got to the dough part of the chef, it would click the dough then go down to where the "run" tab should be, clicked then tried to find something, repeated. might just be me

timmyboy

2006-04-14 15:18:44

Lorax, can you check you Pms? I have a question about this script that I need answered ASAP.

c0de

2006-04-15 05:54:33


CantReach := BitmapFromString(150, 51, 'z78DAED5D5B6EDC300CBC525A206' +
'8F2B9017AFF2B15688B62B75ED24372F890BCF91002AF2D4B1447' +
'7C88A4BF6EB7AF8FDBD79FF6EBF6F3F3FBC9FFC7567F4A6AA5DEF' +
'EB49FB7F78F6F0FFFDFB7FA53DF3F3F7FBCFF6D8FCFE2ADD4BFEF' +
'D9630F3A057CAD34127CCC118AE17488B73A77ADD5B228C0C5A08' +
'FF3EBB945E2610471D6F7CEA15E1EB2AE89C7C87CE314E8C5A04F' +
'FE767172E4A99D90E8DBF323FC390783D923E4F2925507B3E2710' +
'E0FEBD4ABD122F2E685E85A3578CCC6609C7A080574DAC677F55E' +
'DECBE0D5389FAF853EAB2D83F38FC46F1390DBAB395875301C6B6' +
'BE1111933CB4B335F23F549BD752D47AEF591E1D98BF82AA72191' +
'359275BD5833DBF93E99FAD5C93B3570CDE5EDEE6F90EEDAB5637' +
'0A5DBCBA7EA5B71FC64CAE7EBCBF36DBAB8EB0183ACFD0A3FC19C' +
'63F171F7DB2E544EF6C924EC846FC21FCD03C9E24F782E4E397E8' +
'C1CF0C512345985064D80CA33A57E9EBBF6610C5D7290A4238918' +
'9CE0E530CA4133B770A521CB2FEA42256BED107C913178C023822' +
'F27067D7236CF9F205175452FA58F5B26EB81D7C4E0B17F411F16' +
'314892B3065D94A4EF2D8641D8330C714BA507350D8F841584291' +
'6C22060578A18E4EE03BEB84D1F3F00EB1859415C9B8DDF691821' +
'6EED862D65EB384FEEC74702CC541C8960EF9FCCFAA0073EB9134' +
'08DBE16C89DB47DC07A369126594ED64BF04EE0B890EE44AEDFFF' +
'0ABD91B452D6BD4242A5990E403F08AE4F7A107CE92714133028D' +
'A68529FC7FB8DAB06AD6CCD197D0D06F1A7545F22BE575BAF1B46' +
'E8B34A8CE7922C299FB7CBD174511D6B80743BC1206E0FE6C5B67' +
'1E35B04FCD230982007476010A09B596E52E76BE8413DFF8DC8A0' +
'94EB13322C92E3CD22365788437ECBCA520C46BC73A4BDAB08833' +
'EAFD4521834E0349EC1911CED193F1FCCF0B4B030A8DB4AE6D81B' +
'2305581EA7528A49B6700053565D54B73A1BCEE8E31EEC39D153D' +
'C91C46B62AC98BB313F47725A9E604D26BB359F684E161BAB4F2B' +
'1EF7CBAB9A96D9644547E4D93DB20867C61B23883BB69335017DE' +
'4AC6A57FBE52E6544BF5462F03AFB7C06275B252FF2DEECB1D523' +
'9195435A2385F3EA9B59F37CF7D3A9BAF058B94B449EDD5B32E6E' +
'1B752CFDC099B1330A8D313D74B7B71771DFCE6C5C95CD9EF57C9' +
'ED3373EDADDEB96BA295AB8B4EAEB2D23B1E1D655DD8CCB0B6E62' +
'00BC9C4B7DED3653FAEEEDBACD109E3B3C6115A7F0AD355958B5B' +
'638D94DFD4566163A7F385C897206A2CC77A4DD52AFDE3D5956BF' +
'853AF1ACAC2E09C3A54DC6A4E4FE3A63EDEEE5BFD1E7E7E87D2B3' +
'152F73ECC43C49FAF276AED51AF95F42C4C375FC3B2C710CFA7AE' +
'8426221A20D747BA16064248C95F3DBE4A0B5071FFAE69C3672E9' +
'76350EEFB2134B381F928F2B6270D9D39913BAFDCB6BF84F7BD90' +
'39BFA97EF168902B5EEA2E26A9EE6CB3C5A9A88961BD91F70ABF6' +
'C99D2E2DC2F9C6A77940CFEE0CCD45C93055DEA58E0DB97EB2FA2' +
'B7A60129028D204DF5103ABE3E367B31C4C90E3F8FD56CB5AE255' +
'095FC81E828C417C97B49AC6B988D7ADE85B0BA135723082419DF' +
'70252690F0C9EF0BF4E617D0CACD58CCF65155DB7D0238A6B9534' +
'6A23DA9A0F8369F6EC89EDE97B631A85597D46AE23BAEE95FDB7D' +
'0D944A11C34DB83FF2AD80CC1E0DDDBAD6F34E89CC869D1180C12' +
'22F72AFDA24DBB0162D7E759E5561B04419984C7B8ED7944BD7E3' +
'AE9F3B1E0BB0481B65C1F4BB634CC8B64E83DD9A98FCDE88A115D' +
'3D776366B67BA5CF24238ACF5A0B65F5D3CFD563C8AD18DCB5C20' +
'CABF24C4265DD94BCDA4B46F26C95C938137D5DD5D8AC7293AB61' +
'52BFD0B78C87F6556FB032D614D7F6E7640A675B6AAC1C87D54F2' +
'DE33A86FE6B5775082BA632ACC2FAACB17ABB669A7EBE5F840FB7' +
'8E1CEBBBF3D97C929747DCF545D46C2CB0B402AECDDB553FAA178' +
'979F97719DFC29E5FAB6A5AB593B85F3D0F83AF3CACDE959576B6' +
'B53CBDAB58E8F1D3B47AFB776FD937991FB291F8FA524686CF303' +
'21EDFF94BEFE9EAE4AAC55DF56D76ADC6CCB267BBF6765D83CDFB' +
'E2467D7D7E6E6C92AFE6CC91E6F15AD97B234EA7649E5F3A229BB' +
'85215C708F72B51F1CAA8112DA2D2C6F1D58CBACEF9E3348D548F' +
'0410F8FF178239BC20');


Don't ask how I got it :|

XxKanexX

2006-04-15 06:00:43

er, c0de.

Big Bitmaps = Lag :p

c0de

2006-04-15 06:33:28

Here try this one then :


CantReach := BitmapFromString(120, 14, 'z78DAE59AC18EC3200C447FA9AD1' +
'4B5391269FFFF9756DA5E52119B193C8664DB035A519638F663B0' +
'A15B29DBAB6C6CBB96E57537DBC8787FE498566549C487DA77F91' +
'FED567ED647A38DCCAFA53A1CB5DBEE33792D8CE4D67A4A8499FA' +
'EFF3938C5B1B8F943FA728521F3CABB4F1B1AECFE5326A9CA1D2B' +
'308C719AE78BE191F9AC0EC58037E8078B69EFBA677CF70DD93C7' +
'4F985B62870AAB3AA11E7DAB06683F6C78F7577E98B06BB331254' +
'96E785EABD27D548B727855EC1056C53C576C1FB08AF06C597886' +
'BA4CAAD8219E67EDF5DFC9733DBF91F358FAACF5C6845388F8CE3' +
'8F224248D6D4104618F857806F2705F7B4D1B44DEC03396F848C2' +
'42BC3A00BCEA5716AC9D8DF1B825C09B9A9618F551E3ADABBDFE6' +
'02440A01F0B64648867A332C219B34622FDFB6FA1278A94845D77' +
'16E1B41F80799035D298A1567EC46306CF7E4E8BAC0B366A19FA7' +
'CF05FEE9900AE216C3F61615F16479E7BAB769F3CC590E51B3EB7' +
'80EA36781E983F8FD1E753F06CE4B1EC2E9FF7BEC40CEEFD42247' +
'F4EE9C7CF9FC3E775216FFF69F8509E235536C073C463629EFB2A' +
'E24BF19C77FE9C51E5A978F6734BFACE91F480AADA1DEA31AB760' +
'8F0C9E61B7E96EEF37CE15F38F4DDDF9DF9D750D7BA0D476EC6FB' +
'6EAEBBDA5F56A2DDF6');

XxKanexX

2006-04-15 06:37:38

Did you blacken out the background too?

c0de

2006-04-15 06:43:13

umm no , he can do findbitmaptolerance ? :|

XxKanexX

2006-04-15 06:52:46

Blacking out the background reduces the Bitmap size by alot. And makes everything more efficent and a better chance of finding it.

c0de

2006-04-15 06:57:55

Ummm, then you do it :D

Dankness

2006-04-15 12:10:40

when not use a gettext instead? Using bitmaps to find text is a bad way of doing things. and the problem with the cooking part is you need to make a new bitmap for the buckets because jagex changed how buckets look for some reason

Dankness

2006-04-20 21:50:17

Since some people have been having problems with this script and i donnu when Lorax is planning on updating it i will post some Snipits from my version so you guys can get it working again. Just use Control-F to Find these Procedures and Replace them with this stuff, I will offer NO support if you cant figure out how to do this on your own then well your on your own. This will Fix most of the Bugs that i have encounterd with this script.

Replace Bucket Bitmap with


'bucket' :
result:= BitmapFromString(10, 7, 'z78DABD8DC10A82310C835FA' +
'94D936E3BCEFAEFFD1FC9E1F024885EA4F051D226494FEF917F24' +
'173B7B08B2F6AB5764ED9941BB11B86C9C1CDC7D6D762F13C2C78' +
'BBE9CB637770B252F5E2A36781A07228385AD47597D669680F6EE' +
'CD9D09E69041E7279712BD411DA34913F35C773B7C6990B0AF720' +
'E9FFA038F0457D5');

Replace OpenGate with

procedure OpenGate;
var
tx, ty: Integer;
begin
repeat

if ( not ( LoggedIn )) then Exit;

repeat
WWait ( 500 );
if ( not ( LoggedIn )) then Exit;
until ( FindObj3(tx, ty, 'Open', 7960965, 7));

Mouse (tx, ty, 3, 3, False);
until ( ChooseOption ( tx, ty, 'O'));
Flag;
WWait(1500);
end;

Replace OpenFightGate with


procedure OpenFightGate;
begin
MakeCompass('w');
OpenGate;
end;

Replace TalkToDaMiner with


procedure TalkToDaMiner;
begin

if(not ClickMinimapArrow)then
begin
AngleWalker(200, 55);
repeat
Wait ( 20 );
if ( not ( LoggedIn )) then Exit;
until ( ClickMinimapArrow );
end;

ClickMinimapArrow;
TalkToArrow;
end;

EDIT : Forgot the Moving on One so

Replace RangeRat With This Chunk of Code


function MovingOn : Boolean;
var
tx, ty, s:integer;
begin
s := CreateBitmapMaskFromText('Moving', npcchars);
Result := FindBitmapMaskTolerance(s, tx, ty, 9, 348, 523, 471, 50, 10);
FreeBitmap(s);
end;

procedure UnEquipBow;
begin
GameTab (5);
WWait ( 1000 );
Mouse ( 685, 266, 5, 5, True);
WWait ( 1000 );
Mouse ( 590, 307, 5, 5, True);
WWait ( 1000 );
GameTab ( 4);
end;

procedure RangeRat;
var
tx, ty : Integer;
begin

repeat
repeat
Wait(20);
until(ClickMinimapArrow);
if(FindObj(tx, ty, 'Attack', 5517874, 7))then
begin
MouseFlag(tx, ty, 0, 0);
Wait(1000);
repeat
Wait(20);
until(not FindColor(tx, ty, 65280, tx - 20, ty - 20, tx + 20, ty + 20));
end;
until MovingOn;
UnEquipBow;

end;

Kernel Klink

2006-04-20 21:55:10

Dankness: How nice of you to help all of us out. I never thoroughly tested this. In fact, I tried it only once. Now I'll consider fixing it and trying it with your helful pieces of code. Thanks Dankness.

Dankness

2006-04-20 22:02:42

well im sick of running thru tut island and lorax's script is almost perfect, With alil bit of tweaking it could be perfect, since i didnt write the script im not gonna post a updated version but ill try and steer people in the right direction :cool: So far iv got it to run perfect everytime up until the fighting part and its works perfect unless its a busy night. The other reason behind it was i see some of our young scripters are tryin to help out by making new bitmaps for the script so i was hoping i could demostrate how with the power of SRL it could be done without creating bitmaps for the text :)

Wizzup?

2006-04-21 04:20:40

Bitmaps of items shouls ALWAYS be 8 x 8 :p

Lorax

2006-05-21 12:51:00

From: Wizzup?
Bitmaps of items shouls ALWAYS be 8 x 8 :p

why ? they work well.
Dankness, I have no intentions on working through any parts of my scripts anymore, if you could post an edited version, then maybe we could have this thread closed down.
All i wish is for people to have a working tut runner, that I don't need to update myself :)

Bebe

2006-05-21 13:05:54

With Dankness's edits…..

program New;
{.include SRL/srl.scar}

//////// VERSION 1 ////////////////////////////////////////
// Initial release, of course it had some major bugs.
// I fixed most of them in the same version later on.
// still has some bugs to wipe out
////////////////////////////////////////////////////////////

//////// VERSION 2 ////////////////////////////////////////
// Fixed some of your bugs (Flyboy and krazy's suggestion).
// Note the "I cannot reach that" bug is not fixed,
// any suggestions ? - this bug only occur rarely
////////////////////////////////////////////////////////////

///////// SETUP ////////////////////////////////////////
// TUT ISLAND RUNNER v1.0 BY LORAX
// leave you char at clothing if you want the script to choose
// your apperence, othervise choose your own appearence ....
// don't touch any settings, not even brightness with your man
// when you create him, it is supposed to use the rs defaults ..
// have your screen 32 bits
// press run
// sit back and enjoy, note if anything goes wrong give it
// 1 min, it might be able to correct it's mistakes, woaw !
////////////////////////////////////////////////////////////

///////// BUG ////////////////////////////////////////
// If you note any bugs then please make a reply at the
// thread you picked this up from, or tell the guy who gave
// it to you to give you a link to that thread, so you can reply
// If none of this is possible then please mail me at cnn89@msn.com
// note I don't check this mail more than once every 1 or 2 month
////////////////////////////////////////////////////////////

///////// DONATIONS ////////////////////////////////////////
// If you think that this script is kick-ass or if you just
// feel like being nice, you can make a donation to me at
// paypal, my paypal account is claes89@gmail.com
////////////////////////////////////////////////////////////

var
Position, NoPlaceInt: Integer;

const
AllowFemale= false; //Allow your players to be females to..

procedure DeclarePlayers;
begin
HowManyPlayers:= 1;

NumberOfPlayers(HowManyPlayers);

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;
end;

function loadBmp(Name: string): Integer;
begin
case LowerCase(Name) of
'minimap arrow':
result:= BitmapFromString(5, 10, 'z78DA73737573713272A33FE9E2E66' +
'8EE4426E9ECE668E24626E9E466696C82937474333774C4450200' +
'18654BF1');

'mainscreen arrow':
result:= BitmapFromString(7, 18, 'z78DA737375737132761B99A48B9BB' +
'3A5D390201DCD078E7476733475A53E69E24C14E9E466696C495D' +
'1200591DC106');

'accept':
result:= BitmapFromString(25, 12, 'z78DA33301805A380D6C01983A49D' +
'1A62543A13ED66F2D43893A57224B88AF8581ED8B0A23C546991D' +
'A9D290855FAE7F7C1590A61070059FE557F');

'continue1':
result:= BitmapFromString(15, 5, 'z78DA33303030707373B27434B5308' +
'49006C822469696E6A628242E95C8226095C86C5C22B8CC87A844' +
'26F19B83CB6452F5E2B7114516C9D7C4E825E06B0A48002A2162D' +
'3');

'continue2':
result:= BitmapFromString(16, 4, 'z78DA7332B2B43437750303274B475' +
'30B4308892202568342E252892C82A49E18115CB6B861004C95C4' +
'9B4F9EDB70D98EC56D48E1408C5E00761A5BDD');

'log':
result:= BitmapFromString(12, 3, 'z78DA6D8CC10DC0200C035702E338F' +
'0045AF61FA955E181443F27C576AEB61C2D54F9C55B9D1D526181' +
'4974508906283001D618102767B2DA6F59B30F8E1FCF69DB39F36' +
'DB97BCC538DD27BC39773EE8FAFD56E7C008EFD2E58');

'tinder box':
result:= BitmapFromString(13, 7, 'z78DAA58F3B0EC0200C43AF4403899' +
'D91B4E5FE47EA77E98084A8233D797A915DA82CDE6362A614154F' +
'7984AE3CD3E3B8073B04E295C1E871C853AD596342411EFFDEF50' +
'80CFAF45F9E822BF746C036DB263DF72E1AFCBC29DBC74304E2DD' +
'B86241825A581CA5B17301');

'wait':
result:= BitmapFromString(16, 4, 'z78DA33303030707373727474B2708' +
'492968EA616860660716412591699C4AFD200C37C4C1114710C93' +
'C914C16B327E5F106F23F126E3520F00C8DE56E4');

'shrimp':
result:= BitmapFromString(12, 4, 'z78DA658D411204210803BFE440207' +
'A5466FCFF93D69539EC96A42A87101A2DB2A4DBCD7143D2CB77AE' +
'88A644B0D27D54366387079EDC1AD075FC5E9DC9CBF10A9BA5151' +
'626878E476B6ECFEF2F677B761E0D1B4BA47972384D57B81A324E' +
'4E26A7C702766F70815731D31B9429A2145CED8FB3BF7F002B543' +
'C1E');

'fire':
result:= BitmapFromString(23, 4, 'z78DA7373430053175313137362480' +
'303907A4C12B77A04C06D0208B891E81E4C1330EDC25449C82FE8' +
'2EC1348D189790AA1297F860700900CBF77C20');

'pot':
result:= BitmapFromString(8, 5, '5F3917887C7CBBB2B1B7AEAE9B8D8D7' +
'D4B20834E2170431CD3CDCDD1CBCBCEC8C8CDC6C5B9B0B0968888' +
'70666570431CE7E4E4E4E0E0E1DDDDD3CDCDC4BDBDAA9F9F90838' +
'2635A5A452911E7E4E4F4F3F3E2DEDECFC9C98E81809083826C41' +
'1C865023804D217D4B207A491E73441D70431C6C411C663C1A');

'bucket':
result:= BitmapFromString(10, 7, 'z78DABD8DC10A82310C835FA' +
'94D936E3BCEFAEFFD1FC9E1F024885EA4F051D226494FEF917F24' +
'173B7B08B2F6AB5764ED9941BB11B86C9C1CDC7D6D762F13C2C78' +
'BBE9CB637770B252F5E2A36781A07228385AD47597D669680F6EE' +
'CD9D09E69041E7279712BD411DA34913F35C773B7C6990B0AF720' +
'E9FFA038F0457D5');
'dough':
result:= BitmapFromString(6, 4, '8E8D698A8A6686856381805F7D7C5C7' +
'6755793926C8E8D698887648383617E7E5E78785995946E90906B' +
'8D8C6788876481805F7D7C5C98977093926C8E8D698A8A6683836' +
'17E7E5E');

'minimap arrow2':
result:= DTMFromString('78DA639CCAC4C020C38002FE033150948111C' +
'40602C6C9409E086E3520C03803C81322A0663690274640CD3420' +
'4F1CBF1A0071310C76');

'copper':
result:= BitmapFromString(6, 6, '00000151260C9546170000010000010' +
'00001000001612E0E884116A24D1AA54F1A0000010000016F3511' +
'884116AF531CB2541CA54F1A0000017D3B13884116A24D1ABC5A1' +
'EBE5B1E0000018B4216884116A9501AC85F20CB61200000019546' +
'17A54F1AB5571DC45E20D76723');

'bar':
result:= BitmapFromString(7, 7, 'z78DA33363632313434C64B9A181AB9' +
'1A9A1B3A1A1A1B5842485C6A3055629243512500B3FA3CB8');

'knife':
result:= BitmapFromString(7, 4, '5B5A058C8B079795090000013425123' +
'425123425123D3C03676605898707979509A5A309342512000001' +
'202000464503676605898707939109A1A009AFAD0B00000138380' +
'3636205858307908E099E9C09A8A609');

'sword':
result:= BitmapFromString(5, 5, '0000010000011B13090000013020209' +
'E9C091610071B1309000001302020908E099E9C09000001302020' +
'3020207D7C07908E09A1A0090000014D4438301803817F07908E0' +
'9A1A009000001');

'shield':
result:= BitmapFromString(9, 9, 'z78DA3376357234343046269D8CCC0D' +
'DCB090E646A6062E509218F5F4D485AC7E70DA45B12E2333434B0' +
'3D498C2A51749BD9181A1998101009B50695A');

'well done':
result:= BitmapFromString(16, 8, 'z78DA73727274B53472228B3400023' +
'7375245E8633E441C99C469BEA3A3938523844451091127C25504' +
'DC86693E920879BEC6224E96F9F86387181F6192F8C39C72F3316' +
'D41B111AF4B30550200EDC0B5D6');

'arrows':
result:= BitmapFromString(10, 7, 'z78DA3376317433303634357032800' +
'04308690C1687B20D8C8010531C972E12C471988C4B1C93A48F8D' +
'282A49B511432FA92E010073395349');

'bow':
result:= BitmapFromString(6, 6, 'z78DA7DCE3B0EC0300803D02B391853' +
'654C3FF7BF52A364A18A1A903CF80D00F42961AAAA39317A6C95B' +
'0BE33F72AF7C6F357C36FB77C31EBE793830FB46A901724B240B3' +
'790148F42AD2');

'moving on':
result:= BitmapFromString(19, 8, 'z78DA73727474B2703400023737274' +
'B47530B43088929E204568922824942D4E025A126E3308D287B89' +
'B00527498C8DD4B28B3C1B31ED25CF2548BA50C21C4916228E4C6' +
'2DA85298EC534FC36E2F53515D21EF16918BF8D44C41DA9261325' +
'8E6417003756D483');

'almost':
result:= BitmapFromString(16, 7, 'z78DA73727274B5347282908E8E4E1' +
'68E50D2D2D1D4C210993400023737143578D543495CEA317441CD' +
'C765CE809A0FD18B4C62DA85298EA90B1789DF1C6A8993EA7EE2C' +
'571B1099883375E20E200EBC99D6E');
end;
end;

function GetEmptySlot(var i: Integer): Boolean;
begin
GameTab(4);
for i:= 1 to 28 do
begin
if(not ExistsItem(i))then
result:= true;
if(result)then
Exit;
end;
end;

procedure TMouse(mousex, mousey, ranx, rany : Integer; left : Boolean); // By Mutant Squirrle
var
a, b, c : Integer;
begin
if (smooth) then
begin
if BenMouse then
MMouse(mousex, mousey, ranx, rany)
else
MMouse(mousex, mousey, ranx, rany);
Wait(150 + Random(50));
GetMousePos(b, c);
HoldMouse(b + 1, c, left);
repeat
Wait(10 + Random(40));
a := a + 1;
until (a > 4);
GetMousePos(b, c);
ReleaseMouse(b, c, left);
end;
if (not smooth) then
begin
if BenMouse then
MMouse(mousex, mousey, ranx, rany)
else
MMouse(mousex, mousey, ranx, rany);
Wait(150 + Random(50));
GetMousePos(b, c);
ClickMouse(b, c, left);
end;
Wait(clicktiming + Random(clicktimingran));
end;

function ClickMinimapArrow: Boolean;
var
bmpMinimapArrow, tx, ty, Counter: Integer;
begin
bmpMinimapArrow:= loadBmp('Minimap arrow');

repeat
if(FindBitmapToleranceIn(bmpMinimapArrow, tx, ty, 575, 8, 720, 160, 20))then
result:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(result)or
(Counter = 20);
if(result)then
begin
TMouse(tx + 3, ty + 15, 0, 0, true);
Wait(100);
if(not FlagPresent)then
TMouse(tx + 3, ty + 15, 0, 0, true);
flag;
end;
Wait(700);

FreeBitmap(bmpMinimapArrow);
end;

function ClickMainscreenArrow: Boolean;
var
bmpMainscreenArrow, tx, ty, Counter: Integer;
begin
bmpMainscreenArrow:= loadBmp('Mainscreen arrow');

repeat
if(FindBitmapToleranceIn(bmpMainscreenArrow, tx, ty, 1, 1, 550, 336, 20))then
result:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(result)or
(Counter = 20);
if(result)then
MouseFlag(tx + 4, ty + 35, 0, 0);

FreeBitmap(bmpMainscreenArrow);
end;

function AtPos: Integer;
var
Hue, Saturation, Luminance, MaxLum: Extended;
begin
MaxLum:= 37;

ColortoHSL(GetColor(427, 308), Hue, Saturation, Luminance); //magic
if(Luminance > MaxLum)then
begin
result:= 10;
Exit;
end;

ColortoHSL(GetColor(385, 308), Hue, Saturation, Luminance); //prayer
if(Luminance > MaxLum)then
begin
result:= 9;
Exit;
end;

ColortoHSL(GetColor(344, 308), Hue, Saturation, Luminance); //bank
if(Luminance > MaxLum)then
begin
result:= 8;
Exit;
end;

ColortoHSL(GetColor(258, 308), Hue, Saturation, Luminance); //fight
if(Luminance > MaxLum)then
begin
result:= 7;
Exit;
end;

ColortoHSL(GetColor(218, 308), Hue, Saturation, Luminance); //mine
if(Luminance > MaxLum)then
begin
result:= 6;
Exit;
end;

ColortoHSL(GetColor(197, 308), Hue, Saturation, Luminance); //quest
if(Luminance > MaxLum)then
begin
result:= 5;
Exit;
end;

ColortoHSL(GetColor(175, 308), Hue, Saturation, Luminance); //run
if(Luminance > MaxLum)then
begin
result:= 4;
Exit;
end;

ColortoHSL(GetColor(134, 307), Hue, Saturation, Luminance); //cook
if(Luminance > MaxLum)then
begin
result:= 3;
Exit;
end;

ColortoHSL(GetColor(91, 308), Hue, Saturation, Luminance); //fish
if(Luminance > MaxLum)then
begin
result:= 2;
Exit;
end;

ColortoHSL(GetColor(75, 308), Hue, Saturation, Luminance); //cloth
if(Luminance > 22)and(Luminance < MaxLum)or
(Luminance < MaxLum)then
begin
result:= 1;
Exit;
end;
end;

procedure ChangeGender;
begin
TMouse(460, 290, 10, 10, true);
end;

function AcceptVisible: Boolean;
var
bmpAccept, tx, ty: Integer;
begin
bmpAccept:= loadBmp('Accept');

result:= FindBitmapToleranceIn(bmpAccept, tx, ty, 240, 275, 285, 300, 20);

FreeBitmap(bmpAccept);
end;

procedure PressAccept;
var
bmpAccept, tx, ty: Integer;
begin
bmpAccept:= loadBmp('Accept');

if(FindBitmapToleranceIn(bmpAccept, tx, ty, 240, 275, 285, 300, 20))then
TMouse(tx, ty, 10, 10, true);
Wait(400 + Random(300));

FreeBitmap(bmpAccept);
end;

procedure ChooseCloth;
var
ranVal, Clicks, Counter: Integer;
begin
ranVal:= Random(2);
if(ranVal = 1)and(AllowFemale)then
ChangeGender;
for Counter:= 0 to 6 do
begin
ranVal:= Random(9);
while ranVal > Clicks do
begin
TMouse(165, 90 + 35 * Counter, 5, 5, true);
Clicks:= Clicks + 1;
Wait(300 + Random(300));
end;
Clicks:= 0;
end;
for Counter:= 0 to 4 do
begin
ranVal:= Random(14);
while ranVal > Clicks do
begin
TMouse(470, 95 + 35 * Counter, 10, 10, true);
Clicks:= Clicks + 1;
Wait(300 + Random(300));
end;
Clicks:= 0;
end;
PressAccept;
end;

function ContinueTalk: Boolean;
var
bmpContinue1, bmpContinue2, tx, ty: Integer;
begin
bmpContinue1:= loadBmp('Continue1');
bmpContinue2:= loadBmp('Continue2');

if(FindBitmapToleranceIn(bmpContinue1, tx, ty, 120, 430, 320, 460, 30))or
(FindBitmapToleranceIn(bmpContinue2, tx, ty, 120, 430, 320, 460, 30))then
begin
TMouse(270, 447, 10, 3, true);
Wait(1500 + Random(400));
result:= true;
end;

FreeBitmap(bmpContinue1);
FreeBitmap(bmpContinue2);
end;

procedure TalkAlong;
begin
repeat
Wait(1);
until(not ContinueTalk)or
(not LoggedIn);
end;

function TalkToArrow: Boolean;
var
bmpMainscreenArrow, tx, ty, Counter, Counter2: Integer;
tmpresult: Boolean;
begin
bmpMainscreenArrow:= loadBmp('Mainscreen arrow');
repeat
Counter:= 0;
tmpresult:= false;
repeat
if(FindBitmapToleranceIn(bmpMainscreenArrow, tx, ty, 1, 1, 550, 336, 20))then
tmpresult:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(tmpresult)or
(Counter = 20);
if(tmpresult)then
begin
TMouse(tx + 4, ty + 35, 0, 0, false);
Wait(100);
if(ChooseOption(tx, ty, 'Talk'))then
result:= true;
end;
Counter2:= Counter2 + 1;
Wait(20);
until(result)or
(Counter2 = 5)or
(not LoggedIn);
flag;
Wait(1200 + Random(300));
TalkAlong;

FreeBitmap(bmpMainscreenArrow);
end;

function ActionWithArrow(Action: string; WaitTime, RandTime: Integer): Boolean;
var
bmpMainscreenArrow, tx, ty, Counter, Counter2: Integer;
tmpresult: Boolean;
begin
bmpMainscreenArrow:= loadBmp('Mainscreen arrow');
repeat
Counter:= 0;
tmpresult:= false;
repeat
if(FindBitmapToleranceIn(bmpMainscreenArrow, tx, ty, 1, 1, 550, 336, 20))then
tmpresult:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(tmpresult)or
(Counter = 20);
if(tmpresult)then
begin
TMouse(tx + 4, ty + 35, 0, 0, false);
Wait(100);
if(ChooseOption(tx, ty, Action))then
result:= true;
end;
Counter2:= Counter2 + 1;
Wait(20);
until(result)or
(Counter2 = 5)or
(not LoggedIn);
flag;
Wait(WaitTime + Random(RandTime));

FreeBitmap(bmpMainscreenArrow);
end;

procedure DoClothing;
begin
WriteLn('Clothing');
if(not LoggedIn)then Exit;
if(AcceptVisible)then
ChooseCloth;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
MakeCompass('w');
if(not LoggedIn)then Exit;
ActionWithArrow('Open', 1000, 500);
if(not LoggedIn)then Exit;
MakeCompass('n');
if(not LoggedIn)then Exit;
end;

procedure OpenBagFirstTime;
begin
GameTab(4);
Wait(50 + Random(30));
end;

procedure TalkToSurvival;
var
tx, ty: Integer;
begin
repeat
Wait(20);
if(not LoggedIn)then Exit;
until(FindObj3(tx, ty, 'Talk', 3421807, 15));
TMouse(tx, ty, 0, 0, false);
if(not ChooseOption(tx, ty, 'Talk'))then
begin
ClickMinimapArrow;
TalkToSurvival;
end;
flag;
Wait(2000);
TalkAlong;
end;

procedure CutDownTree;
var
tx, ty, Counter, sCount: Integer;
begin
GameTab(4);

sCount:= InventoryCount;
if(FindObj(tx, ty, 'Chop', 806976, 15))then
MouseFlag(tx, ty, 3, 3);
Counter:= 0;
repeat
Wait(20);
Counter:= Counter + 1;
until(sCount <> InventoryCount)or
(not LoggedIn)or(Counter = 250);
if(Counter = 250)then
begin
CutDownTree;
Exit;
end;
end;

procedure CutDownTree2;
var
Counter, sCount: Integer;
begin
GameTab(4);

sCount:= InventoryCount;
ClickMainscreenArrow;
Counter:= 0;
repeat
Wait(20);
Counter:= Counter + 1;
until(sCount <> InventoryCount)or
(not LoggedIn)or(Counter = 250);
if(Counter = 250)then
begin
CutDownTree2;
Exit;
end;
end;

procedure LightTree;
var
bmpLog, bmpTinderBox, bmpWait,
tx, ty, sCount, Counter: Integer;
begin
bmpLog:= loadBmp('Log');
bmpTinderBox:= loadBmp('Tinder box');
bmpWait:= loadBmp('wait');

GameTab(4);
sCount:= InventoryCount;
if(FindBitmapToleranceIn(bmpLog, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx, ty, 3, 3, true);
if(FindBitmapToleranceIn(bmpTinderBox, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx, ty, 3, 3, true);
repeat
Wait(15);
Counter:= Counter + 1;
until(InventoryCount <> sCount)or
(Counter = 60);
if(Counter = 60)then
begin
TMouse(645 + NoPlaceInt, 78, 0, 0, true);
MouseFlag(645 + NoPlaceInt, 78, 0, 0);
if(NoPlaceInt < 0)then
NoPlaceInt:= NoPlaceInt - 5;
if(NoPlaceInt = 15)then
NoPlaceInt:= -5;
if(NoPlaceInt >= 0)then
NoPlaceInt:= NoPlaceInt + 5;
LightTree;
Exit;
end;
Wait(400 + Random(300));
while FindBitmapToleranceIn(bmpWait, tx, ty, 147, 352, 399, 390, 20) do
Wait(30);
Wait(300 + Random(50));
end else
WriteLn('Couldn''t find tinderbox');
end else
WriteLn('Couldn''t find log');

FreeBitmap(bmpLog);
FreeBitmap(bmpTinderBox);
FreeBitmap(bmpWait);
NoPlaceInt:= 0;
end;

procedure OpenStatFirstTime;
begin
GameTab(2);
Wait(300 + Random(300));
end;

procedure FishThemShrimps;
var
tx, ty, i, Counter: Integer;
begin
GameTab(4);
if(not GetEmptySlot(i))then
begin
for Counter:= 3 to 28 do
DropItem(Counter);
GetEmptySlot(i);
end;
if(FindObj3(tx, ty, 'Net', 15382680, 10))then
MouseFlag(tx, ty, 0, 0);
Wait(1000);
repeat
Wait(20);
until(ExistsItem(i))or
(not LoggedIn);
end;

procedure CookShrimp;
var
bmpShrimp, tx, ty, ix, iy, tx1,
ty1, tx2, ty2, bmpFire: Integer;
begin
bmpShrimp:= loadBmp('Shrimp');
bmpFire:= loadBmp('Fire');

tx1:= 255; ty1:= 145;
tx2:= 280; ty2:= 170;
GameTab(4);
repeat
if(FindColorTolerance(ix, iy, 3249609, tx1, ty1, tx2, ty2, 7))then
begin
if(FindBitmapToleranceIn(bmpShrimp, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx, ty, 0, 0, true);
Wait(100);
TMouse(ix, iy, 0, 0, false);
Wait(500 + Random(300));
if(FindBitmapToleranceIn(bmpFire, tx, ty, 1, 1, 550, 336, 20))then
begin
TMouse(tx - 20, ty , 10, 0, true);
Wait(2200 + Random(300));
end;
Wait(300 + Random(100));
end;

Wait(20);
end;
tx1:= tx1 - 10; ty1:= ty1 - 5;
tx2:= tx2 + 10; ty2:= ty2 + 5;

if(tx2 > 400)or(ty1 < 20)then
begin
tx1:= 255; ty1:= 145;
tx2:= 280; ty2:= 170;
end;
Wait(10);
until(not LoggedIn)or
(FindColorTolerance(tx, ty, 615589, 555, 205, 745, 465, 2));

FreeBitmap(bmpShrimp);
FreeBitmap(bmpFire);
end;

procedure DoFishing;
begin
WriteLn('Fishing');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
OpenBagFirstTime;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
CutDownTree2;
if(not LoggedIn)then Exit;
LightTree;
if(not LoggedIn)then Exit;
OpenStatFirstTime;
if(not LoggedIn)then Exit;
Wait(300 + Random(300));
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
Wait(200);
if(not LoggedIn)then Exit;
FishThemShrimps;
if(not LoggedIn)then Exit;
FishThemShrimps;
if(not LoggedIn)then Exit;
AngleWalker(20, 20);
if(not LoggedIn)then Exit;
Flag;
if(not LoggedIn)then Exit;
CutDownTree;
if(not LoggedIn)then Exit;
LightTree;
if(not LoggedIn)then Exit;
CookShrimp;
if(not LoggedIn)then Exit;
CookShrimp;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ActionWithArrow('Open', 1000, 500);
if(not LoggedIn)then Exit;
WriteLn('Done fishing');
end;

procedure MixAndCookDough;
var
bmpPot, bmpBucket, bmpDough, tx, ty: Integer;
begin
bmpPot:= loadBmp('Pot');
bmpBucket:= loadBmp('Bucket');
bmpDough:= loadBmp('Dough');

if(FindBitmapToleranceIn(bmpPot, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx + 5, ty + 5, 3, 3, true);
if(FindBitmapToleranceIn(bmpBucket, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx + 10, ty + 10, 3, 3, true);
Wait(2000 + Random(500));
if(FindBitmapToleranceIn(bmpDough, tx, ty, 555, 205, 745, 465, 15))then
begin
ClickMinimapArrow;
TMouse(tx, ty, 3, 3, true);
Wait(300 + Random(300));
ClickMainscreenArrow;
Wait(2000 + Random(500));
end;
end;
end;

FreeBitmap(bmpPot);
FreeBitmap(bmpBucket);
FreeBitmap(bmpDough);
end;

procedure OpenMusic;
begin
TMouse(738, 484, 10, 10, true);
Wait(400 + Random(200));
end;

procedure DoCooking;
begin
WriteLn('Cooking');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
if(not LoggedIn)then Exit;
Wait(500 + Random(250));
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
MixAndCookDough;
if(not LoggedIn)then Exit;
Wait(500);
if(not LoggedIn)then Exit;
OpenMusic;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
if(not LoggedIn)then Exit;
end;


function ClickMinimapArrow2(Dist: Integer): Boolean;
var
dtmMinimapArrow, tx, ty, Counter: Integer;
Angle: Extended;
begin
dtmMinimapArrow:= loadBmp('Minimap arrow2');

repeat
if(FindDTMRotated(dtmMinimapArrow, tx, ty, 575, 8, 720, 160, 0, 360, 5, Angle))then
result:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(result)or
(Counter = 20);
if(result)then
HumanMouseFlag(tx + 3, ty + 15, 0, 0, Dist);

FreeDTM(dtmMinimapArrow);
end;

procedure DoRunning;
begin
WriteLn('Running');
SetRun(true);
if(not LoggedIn)then Exit;
Wait(400 + Random(200));
if(not LoggedIn)then Exit;
ClickMinimapArrow2(20);
if(not LoggedIn)then Exit;
ClickMinimapArrow2(0);
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
if(not LoggedIn)then Exit;
end;

procedure DoQuest;
begin
WriteLn('Questing');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
GameTab(3);
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ActionWithArrow('Climb', 4000, 500);
if(not LoggedIn)then Exit;
end;

procedure TalkToDaMiner;
begin

if(not ClickMinimapArrow)then
begin
AngleWalker(200, 55);
repeat
Wait ( 20 );
if ( not ( LoggedIn )) then Exit;
until ( ClickMinimapArrow );
end;

ClickMinimapArrow;
TalkToArrow;
end;

procedure ProspectSieRocks;
begin
ClickMinimapArrow;
ActionWithArrow('Prospect', 5000, 2000);
ClickMinimapArrow;
ActionWithArrow('Prospect', 5000, 2000);
end;

procedure MineRock;
var
sCount, Counter: Integer;
begin
sCount:= InventoryCount;
ClickMainscreenArrow;
repeat
Wait(30);
Counter:= Counter + 1;
until(Counter = 100)or
(sCount <> InventoryCount)or
(not LoggedIn);
if(Counter = 100)then
begin
MineRock;
Exit;
end;
end;

procedure MineRocks;
begin
ClickMinimapArrow;
MineRock;
ClickMinimapArrow;
MineRock;
end;

procedure SmeltBar;
var
bmpCopper, tx, ty: Integer;
begin
bmpCopper:= loadBmp('Copper');

if(FindBitmapToleranceIn(bmpCopper, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(400 + Random(200));
ClickMainscreenArrow;
Wait(2000 + Random(500));
end;

FreeBitmap(bmpCopper);
end;

procedure MakeKnife;
var
bmpBar, tx, ty: Integer;
begin
bmpBar:= loadBmp('Bar');

if(FindBitmapToleranceIn(bmpBar, tx, ty, 555, 205, 745, 465, 20))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(400 + Random(200));
ClickMainscreenArrow;
Wait(1000 + Random(200));
TMouse(61, 83, 3, 3, true);
Wait(3000 + Random(500));
end else
WriteLn('Couldn''t find bar');

FreeBitmap(bmpBar);
end;

procedure OpenGate;
var
tx, ty: Integer;
begin
repeat

if ( not ( LoggedIn )) then Exit;
repeat
WWait ( 500 );
if ( not ( LoggedIn )) then Exit;
until ( FindObj3(tx, ty, 'Open', 7960965, 7));

Mouse (tx, ty, 3, 3, False);
until ( ChooseOption ( tx, ty, 'O'));
Flag;
WWait(1500);
end;

procedure DoMining;
begin
WriteLn('Mining');
if(not LoggedIn)then Exit;
TalkToDaMiner;
if(not LoggedIn)then Exit;
ProspectSieRocks;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
MineRocks;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
SmeltBar;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
MakeKnife;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
OpenGate;
if(not LoggedIn)then Exit;
end;

procedure OpenWield;
begin
GameTab(5);
end;

procedure WieldKnife;
var
bmpKnife, tx, ty: Integer;
begin
bmpKnife:= loadBmp('Knife');

GameTab(4);
if(FindBitmapToleranceIn(bmpKnife, tx, ty, 555, 205, 745, 465, 15))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(1500 + Random(500));
end;

FreeBitmap(bmpKnife);
end;

procedure WieldWeapons;
var
bmpSword, bmpShield, tx, ty: Integer;
begin
bmpSword:= loadBmp('Sword');
bmpShield:= loadBmp('Shield');

GameTab(4);
Wait(1500);
if(FindBitmapToleranceIn(bmpSword, tx, ty, 555, 205, 745, 465, 25))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(1500 + Random(500));
end;
if(FindBitmapToleranceIn(bmpShield, tx, ty, 555, 205, 745, 465, 25))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(1500 + Random(500));
end;

FreeBitmap(bmpSword);
FreeBitmap(bmpShield);
end;

procedure OpenAttack;
begin
GameTab(1);
end;

procedure AttackRat;
var
tx, ty, bmpWellDone: Integer;
begin
bmpWellDone:= loadBmp('Well done');

repeat
if(FindObj(tx, ty, 'Attack', 5517874, 7))then
begin
MouseFlag(tx, ty, 0, 0);
Wait(1000);
repeat
Wait(20);
until(not FindColor(tx, ty, 65280, 230, 135, 270, 160));
end;
Wait(100);
if(not LoggedIn)then Exit;
until(FindBitmapToleranceIn(bmpWellDone, tx, ty, 105, 350, 215, 390, 20));

FreeBitmap(bmpWellDone);
end;

procedure OpenFightGate;
begin
MakeCompass('w');
OpenGate;
end;

procedure WieldBowAndArrows;
var
bmpArrows, bmpBow, tx, ty: Integer;
begin
bmpArrows:= loadBmp('Arrows');
bmpBow:= loadBmp('Bow');

GameTab(4);
Wait(1500);
if(FindBitmapToleranceIn(bmpArrows, tx, ty, 555, 205, 745, 465, 25))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(1500 + Random(500));
end;
if(FindBitmapToleranceIn(bmpBow, tx, ty, 555, 205, 745, 465, 25))then
begin
TMouse(tx, ty, 3, 3, true);
Wait(1500 + Random(500));
end;

FreeBitmap(bmpArrows);
FreeBitmap(bmpBow);
end;

function MovingOn : Boolean;
var
tx, ty, s:integer;
begin
s := CreateBitmapMaskFromText('Moving', npcchars);
Result := FindBitmapMaskTolerance(s, tx, ty, 9, 348, 523, 471, 50, 10);
FreeBitmap(s);
end;

procedure UnEquipBow;
begin
GameTab (5);
WWait ( 1000 );
Mouse ( 685, 266, 5, 5, True);
WWait ( 1000 );
Mouse ( 590, 307, 5, 5, True);
WWait ( 1000 );
GameTab ( 4);
end;

procedure RangeRat;
var
tx, ty : Integer;
begin

repeat
repeat
Wait(20);
until(ClickMinimapArrow);
if(FindObj(tx, ty, 'Attack', 5517874, 7))then
begin
MouseFlag(tx, ty, 0, 0);
Wait(1000);
repeat
Wait(20);
until(not FindColor(tx, ty, 65280, tx - 20, ty - 20, tx + 20, ty + 20));
end;
until MovingOn;
UnEquipBow;

end;

procedure DoFighting;
begin
WriteLn('Fighting');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
Wait(400);
if(not LoggedIn)then Exit;
OpenWield;
if(not LoggedIn)then Exit;
Wait(400);
if(not LoggedIn)then Exit;
OpenBagFirstTime;
if(not LoggedIn)then Exit;
WieldKnife;
if(not LoggedIn)then Exit;
Wait(400);
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
WieldWeapons;
if(not LoggedIn)then Exit;
Wait(400);
if(not LoggedIn)then Exit;
OpenAttack;
if(not LoggedIn)then Exit;
Wait(1500 + Random(300));
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
OpenFightGate;
if(not LoggedIn)then Exit;
AttackRat;
if(not LoggedIn)then Exit;
OpenFightGate;
if(not LoggedIn)then Exit;
MakeCompass('n');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
WieldBowAndArrows;
if(not LoggedIn)then Exit;
RangeRat;
if(not LoggedIn)then Exit;
ClickMinimapArrow2(20);
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
if(not LoggedIn)then Exit;
end;

procedure OpenDieBank;
begin
TalkToArrow;
Wait(400 + Random(300));
TMouse(255, 398, 0, 0, true);
Wait(2000);
end;

procedure DoBanking;
begin
WriteLn('Banking');
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
OpenDieBank;
if(not LoggedIn)then Exit;
CloseWindow;
if(not LoggedIn)then Exit;
ActionWithArrow('Open', 1500, 500);
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
end;

procedure OpenDoor2;
var
tx, ty: Integer;
begin
if(FindObj(tx, ty, 'Open', 1058627, 7))then
MouseFlag(tx, ty, 0, 0);
Wait(600 + Random(500));
end;

procedure OpenPrayer;
begin
GameTab(6);
Wait(800 + Random(300));
end;

procedure OpenFriendAndIgnore;
begin
TMouse(583, 481, 2, 2, true);
Wait(400 + Random(300));
TMouse(609, 482, 2, 2, true);
Wait(800 + Random(300));
end;

procedure DoPrayer;
begin
WriteLn('Praying');
if(not LoggedIn)then Exit;
AngleWalker(170, 60);
if(not LoggedIn)then Exit;
Flag;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
OpenDoor2;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
OpenPrayer;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
OpenFriendAndIgnore;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
ClickMainscreenArrow;
if(not LoggedIn)then Exit;
end;

procedure OpenMagic;
begin
GameTab(7);
Wait(1200 + Random(300));
end;

procedure KillChicken;
var
tx, ty, bmpAlmost: Integer;
begin
bmpAlmost:= loadBmp('Almost');

repeat
TMouse(564, 225, 2, 2, true);
Wait(100);
Flag;
Wait(300 + Random(100));
ActionWithArrow('Cast', 200, 100);
until(SimilarColors(GetColor(564, 255), 2500134, 2))or
(FindBitmapToleranceIn(bmpAlmost, tx, ty, 180, 350, 245, 390, 20));

if(SimilarColors(GetColor(564, 255), 2500134, 2))then
begin
if(FindObj(tx, ty, 'Talk', 6502405, 7))then
MouseFlag(tx, ty, 0, 0);
Wait(800 + Random(100));
TalkAlong;
KillChicken;
Exit;
end;
end;

procedure GoToMainLand;
begin
Wait(1000 + Random(200));
TMouse(256, 398, 0, 0, true);
Wait(1000 + Random(200));
TalkALong;
Wait(6000 + Random(1000));
end;


procedure DoSayOutYourPassword;
begin
WriteLn('Tell aloud your password');
if(not LoggedIn)then Exit;
AngleWalker(140, 60);
if(not LoggedIn)then Exit;
Flag;
if(not LoggedIn)then Exit;
ClickMinimapArrow2(20);
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
OpenMagic;
if(not LoggedIn)then Exit;
TalkALong;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
KillChicken;
if(not LoggedIn)then Exit;
ClickMinimapArrow;
if(not LoggedIn)then Exit;
TalkToArrow;
if(not LoggedIn)then Exit;
GoToMainLand;
if(not LoggedIn)then Exit;
NextPlayer(false);
end;

procedure GetScreenUp;
begin
KeyDown(VK_UP);
Wait(600 + Random(300));
KeyUp(VK_UP);
end;

begin
SetupSRL;
ActivateClient;
Wait(300);
GetScreenUp;
repeat
Position:= 0;
Position:= AtPos;
case Position of
1: DoClothing;
2: DoFishing;
3: DoCooking;
4: DoRunning;
5: DoQuest;
6: DoMining;
7: DoFighting;
8: DoBanking;
9: DoPrayer;
10: DoSayOutYourPassword;
end;
if(not LoggedIn)then NextPlayer(false);
Wait(200 + Random(200));
until(false);
end.

Lorax

2006-05-22 08:29:13

Thank you BeBeMyCat2 - I uploaded the file you gave me.

Lorax

2006-05-26 05:59:10

From: ioklio
script looks good but it doesent work (maby because of the new SRL) but could you please fix? I dont know what is wrong with it! :)

It doesn't work, in what way ? does it give an compile error ? then post it please.

leader

2006-05-26 21:21:44

Nice script. Sucks that it messes up most of the time. It would be great if someone fixed it.
If I become a good scripter, I will fix it up myself. But until then…

Here are some of the errors:
1)Doesn't open the church front door.
2)Sometimes doesn't click on the icons when needed (prayer,friends).
3)When the person moves that has the arrow over them, it keeps messing up.
4)In the mage place, it doesn't cast the spell on the chickens.
5)The next player arrays does not work.

Also sometimes I get this.
[Runtime Error] : Out Of Range in line 329 in script.
Here is the code.


ColortoHSL(GetColor(218, 308), Hue, Saturation, Luminance); //mine

inferno

2006-05-27 06:41:50

Well I ran it yesterday and the only place it messed up was the fighting place, and that was only because people kept stealing my rats. :mad: And yes, when it has finished it doesn't log on the next player.

Lorax

2006-05-27 06:56:26

Well I can tell you it would take a month or so to make this script flawless.
Normally I only script one thing at a time - fighting or so. And they don't work flawless either, so maybe it was a bit to herotic(sp?) to think that I could actually script 10 different scripting area's at once.

Ill take it up with the scripters of SRL if we could split the script up between 10 players, and then each could make that part of the script flawless.

We're very busy at the moment all of us - so it will most likely not get on the practical plan.

tarajunky

2006-05-27 11:00:15

The out of range line 329 error happens when you try to start the script before logging in. You need to log in first, and then it will run correctly.

This script is simply amazing. It works SO much smoother than the Tut Island runner I made. I do have a couple of suggestions, though.

First, I was able to make my tut runner autodetect which step you were at, so that if you got stuck in the mines it would pick up at the correct step and finish the tutorial the next time it ran. This would be perfect for an SRL type script where it can run a single character multiple times.

To do this, I would check for the presence or absence of certain items you get along the way. If you have a net in your inventory then you know you've talked to the survival expert twice. If you have a dagger, you know you've completed the smithing part. I would have it drop certain items that you get along the way as well, so that it could check them in reverse order. I'll see if I can add that to this script, since I think it would be great.

XxKanexX

2006-05-27 11:03:30

Or you could check the text. Like, normally it would say what to do next, or instructions on what to presently do. :)

Lorax

2006-05-27 14:24:48

Or if you wish to do neither you could check the progress bar, like i do.
I do not wish to check where I am within a step.
Actually I do not wish to put much effort in this script right now, because I hate the tutorial section and I don't play runescape no more.

tarajunky

2006-05-27 16:22:05

Ah, I see. I didn't realize that it was checking the progress bar. That's a much better idea.

No wonder your script works so much better than mine. :)

Lorax

2006-05-27 18:21:27

From: tarajunky
Ah, I see. I didn't realize that it was checking the progress bar. That's a much better idea.

No wonder your script works so much better than mine. :)

:)

Ejjman

2006-05-27 18:23:54

I ran this and here's what happened….

Worked awesome until I got to the bank part.

It clicked on the wrong door and didn't even click on the bank…It just quit then, and said out of range or something.

Otherwise it owns! :D

Lorax

2006-05-27 18:27:19

From: ejjman1
I ran this and here's what happened….

Worked awesome until I got to the bank part.

It clicked on the wrong door and didn't even click on the bank…It just quit then, and said out of range or something.

Otherwise it owns! :D
'
You could try and fix it ? that would own ?

leader

2006-06-07 01:12:10

We need a good tutorial runner, because everyone is starting to make new accounts.

renegadeandy

2006-06-11 08:45:49

Yeah it is such a pain havign to run it myself all the time. I tested this script, it gets to the first task and stops - doesnt find hwo to cut down the tree.

Lorax

2006-06-11 18:46:16

From: renegadeandy
Yeah it is such a pain havign to run it myself all the time. I tested this script, it gets to the first task and stops - doesnt find hwo to cut down the tree.

That means that it doesn't find the arrow above the tutorials head..
Did you change any settings like brightness?
I have had reports that this script runs as far as the fight guide, and after that you can start it again and have in run from there to the end..

Roberty Bob

2006-06-12 04:17:55

when my exams are over I'm going to have a crack at doing a tut island runner… I've had some good ideas for it and played around with some concepts…

One thing I'm keen to implement is using the existing blue progress bar via dtm's or just find color to detect the current progress into tut island…

when i get some time! :P

Knightstreak

2006-06-12 18:18:50

i might take a shot at it, we'll see what happens :)

Lorax

2006-06-14 18:16:47

From: Roberty Bob
when my exams are over I'm going to have a crack at doing a tut island runner… I've had some good ideas for it and played around with some concepts…

One thing I'm keen to implement is using the existing blue progress bar via dtm's or just find color to detect the current progress into tut island…

when i get some time! :P

dtm and colors won't work, because that the progress bar is transperant, why do you think i use HSL? Because I like to do extra work ? ;)
I hope it will turn out well for you and knightstreak, which (whose?) work I adore.

Knightstreak

2006-06-15 00:16:18

jeez homies give lorax credit, this tut runner is harder than i thought :P

I tried with dtms and color coordinations, which apparently are way too inaccurate. Time for bitmaps :D

Lorax

2006-06-15 13:33:18

From: Knightstreak
jeez homies give lorax credit, this tut runner is harder than i thought :P

I tried with dtms and color coordinations, which apparently are way too inaccurate. Time for bitmaps :D

Ahh yes, I like bitmaps. very accurate, the only way to find the yellow arrow if not using ScarScape or anything superior.

Knightstreak

2006-06-15 16:59:35

naa i used dtms for the arrow, and it's working pretty well :P

Knightstreak

2006-06-15 23:22:53

w00t i shortened my code to 600 lines so far, and it's only half way done :D

traitors

2006-06-16 01:25:14

nice script man!its missing a few clicks i suggest u tone down the random on clicks but apart from that its really nice script

Lorax

2006-06-16 09:23:25

From: Knightstreak
w00t i shortened my code to 600 lines so far, and it's only half way done :D

:) So you're at the mining guide now?

Knightstreak

2006-06-16 15:04:48

yup

Lorax

2006-06-17 15:23:45

From: Knightstreak
yup

Just wait for the fighting guide :)
That's a tough one, first the fence, the rats and sooo on.
Especially because of all the people.

Knightstreak

2006-06-18 19:41:07

sorry guys something came up in my personal life, so the script is going to be delayed. I don't know how long, until this thing ends. Till then

Lorax

2006-06-19 04:13:52

From: Knightstreak
sorry guys something came up in my personal life, so the script is going to be delayed. I don't know how long, until this thing ends. Till then

Haha, don't excuse yourself, we all have semi busy personal lifes and we know there's more important things than scripting ;)

YoHoJo

2006-09-23 02:05:25

100% wonderful:f:

This script is pareticaly falwless
on of the best iv seen since most of the good scripters left
U amde liek liek 5 maonths ago and its still owrking geat
im 1/2 day donw and only 1 problem
doesnt cook shrimp properly.
It clicks shrimp
left clicsk fire
and repeats

I think its beause they change it to
use shrimp->fire
So just make it look for that text ^

Im at the mining party right now and everything whent sooth except the cooking of the ship
so yea update that if you would like =) great job
i love you:spot:

scarscaper4life

2006-09-23 20:56:15

yeah i get stuck on the shrimp cooking part it doesnt click the fire because they changed the text can someone help me figure out how to chnage it so it clicks the fire thanks

YoHoJo

2006-10-03 12:42:55

they didnt change the text
they cahnged the way the text is written
instead of
"Cook Shrimp"
its like
"Use Shrimp -> Fire"

m0u53m4t

2006-10-04 11:32:29

2 things, does this work with the new RS? The tut island has changed a bit. Also, has the shrimp thing been fixed yet? I cant find where to change it.

Edit: Im getting this error: [Runtime Error] : Out Of Range in line 369 in script C:\Program Files\programs\rs\auto\SCAR 2.03\includes\srl\srl\core\Login.scar

bobert5696

2006-10-04 17:39:55

since this doesnt work, and neither do any of the other tut island scripts, i think my next script will be an awesome tut island runner, we'll see what happens :)

Lorax

2006-11-28 15:52:19

From: bobert5696
since this doesnt work, and neither do any of the other tut island scripts, i think my next script will be an awesome tut island runner, we'll see what happens :)


I haven't seen any of your work, and I promise you, it takes time…
As you might have seen this script is long and have worked for some time…
Also it needs frequently updates, and if you're not here for long, I wouldn't bother making one :)

But an advise before you start: Keep it simple..
Make tons of procedures, make a procedure for every action..
Just as simple as possible..

WT-Fakawi

2006-11-28 16:24:54

Lorax!

your back! Where have you been all this time :)

tarajunky

2006-11-28 17:20:22

This is hands down the best Tut island runner out there. I updated it to work with all the new changes. There are still one or two bugs with it so I have not released it.

One has to do with the map rotation. Another has to do with login.

It was a lot of work to update it, but I think this is a great place to start from because it works really really well.

Lorax

2006-11-29 12:28:43

Sounds great that someone wanted to challenge the impossible :)
Also I'm delighted to hear that you like it..
Well to be honest, in the end scripting wasn't that fun….
But I think I have found a little spark… I will not script anymore.. Just look around and lecture some beginners..

I see you're retired, also I couldn't find any scripting site when the old went down..

Lorax

2006-11-30 16:08:48

Tarajunky (hope i spelled it right, you're rather new… :)
I would love to see yours progress on the tutorial runner

mx1000

2006-12-20 10:45:25

ty testing now whit arga :duh:
you all heard of arga ;)?

Lorax

2006-12-20 20:26:43

I don't know what arga is and if the script won't work unless you use the version I just uploaded…

Script version 3.1 now - revamp by Tara

Boreas

2006-12-20 21:27:10

It did the clothes fine, then talked to first guide but didn't click the spanner, instead it repeatedly talked to the guide. I restarted the script (with the same account because all it did was pick clothes) and it clicked the spanned.

Then it repeatedly found the door, right click it, but choose cancel instead of open door, so I had to click the door.

WC and firemaking was fine.

Then it assumed it finished talking to the guide and received the net, but it didn't, so when it tried to click the yellow arrow for the fishing spot, it was repeatedly clicking the guide. I'm surprised/disappointed at this devs. You know what happens when you assume… Failsafes/knowing where you are at this point should be easy because you know when you have talked to the guide properly with a simple net dtm check.

It dropped everything, cooking was fine and dropped everything again, and quest was fine.

Went down the ladder and just stayed there. I had to click arrow on MM, and then it found instructor fine.

It mined 3 more tin than copper, smelted fine, but didn't drop like it dropped the fishing/cooking stuff.

Didn't click yellow arrow on minimap, and was near the tin moving mouse like crazy looking for the gate. I clicked the arrow to get it to the gate, but by the time it walked there it had given up and nextplayered (there was no nextplayer incidentally).

It's pretty much just making sure something is done before going to the next thing. The actual walking/fishing/mining etc is solid, it's just the bit in between.

tarajunky

2006-12-21 00:04:38

LOL, Boreas you pretty much copied my to-do list verbatim.

I see the same problems as you did. Lorax's version 3.0 was amazing as far as finding and clicking on the right people and things and moving through the tut, but if there was the slightest hiccup it would throw itself into fits. Adding in those new fail-safes and detecting how far along you are in subsections in the next step. I have done a first pass on a few sections, which you will recognize by their recursive position checking (using Tabexists, and item DTMs as you mentioned). As far as I know all the DTMs were added by me so you should be able to find those easily. 3.1 is NOT a finished product… yet.

Boreas

2006-12-21 00:11:11

Haha. I definitely see what you mean by fits. Not a finished product but still impressive. Maybe it wasn't the lack of dtm then, but it definitely was trying to fish without a net.

tarajunky

2006-12-21 03:57:58

Here is 3.2. I went through the Tut Island with one more char and edited as I went along. There were a couple of glaring bugs that I fixed, like trying to talk to the very first guy one too many times (which Boreas mentioned), not detecting the right color underground for the 'blind click' to get near the mining tutor, not closing the bank correctly, etc.

I think it should work better now. I still haven't tried it on a new character without interfering, if someone wants to do so and report back on the hiccups you find that would be very helpful.

One problem I see in the future is what to do when the arrows are not there to guide you? For instance, if you try to kill the chickens 5 times and keep missing, how do you find the magic tutor for more runes without the arrow? Of course there are ways to do so, but if you wanted to include such failsafes for all the different situations where this script relies on an arrow, it would essentially require an entire second backup script all along the way. I think that is WAY too much effort for a small return, but time will tell if certain points deserve special attention.

corrupt16

2006-12-21 12:37:36

From: tarajunky


One problem I see in the future is what to do when the arrows are not there to guide you? For instance, if you try to kill the chickens 5 times and keep missing, how do you find the magic tutor for more runes without the arrow?.


well I know your just mentioing it but unequiped all weapons before using the magic and it shouldnt have a fail rate. For some odd reason when you weild the bow or sword it takes forever to hit.

bullzeye95

2006-12-21 14:12:45

:spot: Wow tara! This ran flawlessly… except one thing. It got stuck at the banking. It kept going to different shades of gray and brown looking for the up text. I had to pause it, log out, and have it log back in. After that, it worked flawlessly.

tarajunky

2006-12-21 14:26:57

Cool, thanks for the report. Do you remember if the banking problem happened before it banked, or after it banked? Also, did it close the bank correctly?

Thanks!

bullzeye95

2006-12-21 15:20:06

It happened before it banked. It was trying to open it. Closed fine, and the rest was flawless :)

EDIT: Gah! I forgot to thank you and lorax! Thanks so much guys! :)

Lorax

2006-12-21 16:08:54

From: bullzeye95
It happened before it banked. It was trying to open it. Closed fine, and the rest was flawless :)

EDIT: Gah! I forgot to thank you and lorax! Thanks so much guys! :)


Well, nice job tarajunky…
seems that it works fine..
But just to be safe, I think someone should add failsafes within the guides..

bullzeye95

2006-12-21 17:54:23

I fixed the banking problem xD

Replace the OpenDieBank procedure with this:


function MyClickToContinue: Boolean;
begin
wait(1000);
if(FindColorTolerance(x, y, 16711680, 229, 438, 376, 453, 2))then
begin
mouse(x, y, 1, 1, true);
result:= true;
end;
end;

procedure OpenDieBank;
var
c: Integer;
begin
if (FindObj(x, y, 'ank', 13683408, 5)) then
begin
Mouse(x, y, 1, 1, False);
if (ChooseOption(x, y, 'ank')) then
begin
Flag;
MyClickToContinue;
wait(1000 + random(500));
if(FindColor(x, y, 0, 241, 389, 275, 403))then
Mouse(x, y, 1, 3, true);
repeat
Wait(100);
c := c + 1
until (BankScreen) or (c >= 50);
end;
end;
end;

For some reason the normal ClickToContinue wasn't working for me.

Lorax

2006-12-21 18:01:03

great, unless someone says other i will modify this layter today..

bullzeye95

2006-12-21 18:06:58

Cool, I'm actually semi-useful!

This script is great man. Thanks alot :)

Lorax

2006-12-21 18:19:45

From: bullzeye95
Cool, I'm actually semi-useful!

This script is great man. Thanks alot :)


you are very usefull, reports are the best

tarajunky

2006-12-21 18:37:03

ACTUALLY, I re-created the problem you reported with the banking, and it wasn't due to the banking procedures at all. It happened because the script did not correctly proceed from DoFighting to DoBanking. It completed DoFighting, then for whatever reason it attempted to start DoFighting again. Since it had the Bow, it skipped over a whole bunch of that section and immediately tried to do the ranging by Walking to the minimap arrow (actually the bank), and then searching for a Rat to range (when you saw the cursor wildly moving around the bank).

I think I fixed it, but I won't be sure until I run it through again.

bullzeye95

2006-12-21 18:58:46

Could you post it? I have some people I can test it on right now :)

bullzeye95

2006-12-21 19:15:03

No offense, but I actually think my openbank procedure would be more reliable. I could be wrong. I just think that because yours uses the arrow color and mine actually gets the uptext and stuff. Tell me if I'm wrong though.

EDIT: Oops, double post :duh:

EDIT2: Oh and I edited my banking by the way. I switched FindObject with FindObj and it works flawlessly now.

tarajunky

2006-12-21 21:34:38

One potential problem with your MyClickToContinue is that it doesn't move the mouse away. Remember when the mouse is over the text it turns white, so if you are searching for blue you won't see it.

Sorry but I don't have access to my latest version now. I left it on my comp at school.

As far as the banking goes, I have no problem whatsoever with putting in something new.

Anytime we can implement something that is very reliable WITHOUT using the arrows, I think that is progress.

bullzeye95

2006-12-21 22:00:06

Good point there. I'm fixing it now :)

EDIT: OK, I updated it. I added a new function, IsMouseIn. It checks if your mouse is in a specified box. If it's in the chat box, it will move away.

function IsMouseIn(x1, y1, x2, y2: integer) : Boolean;
begin
getmousepos(x, y);
if(x >= x1) and (x <= x2) and (y >= y1) and (y <= y2)then
Result:= true;
end;

function MyClickToContinue: Boolean;
begin
wait(1000);
if(IsMouseIn(3, 341, 506, 468))then
MMouse(0+ random(514), 0+random(336), 0, 0);
if(FindColorTolerance(x, y, 16711680, 229, 438, 376, 453, 2))then
begin
mouse(x, y, 1, 1, true);
result:= true;
end;
end;

procedure OpenDieBank;
var
c: Integer;
begin
if (FindObj(x, y, 'ank', 13683408, 5)) then
begin
Mouse(x, y, 1, 1, False);
if (ChooseOption(x, y, 'ank')) then
begin
Flag;
MyClickToContinue;
wait(1000 + random(500));
if(FindColor(x, y, 0, 241, 389, 275, 403))then
Mouse(x, y, 1, 3, true);
repeat
Wait(100);
c := c + 1
until (BankScreen) or (c >= 50);
end;
end;
end;

bullzeye95

2006-12-22 23:59:28

What about that "I can't reach that" error? Any ideas on fixing that?

EDIT: :duh: Double posted again

leader

2006-12-24 19:42:28

I will use this today, and comment back on it later.

Boreas

2006-12-25 20:10:36

Tree finding could be better. It moved the mouse around a lot, and after a while I had to rotate screen and change angle to get it to move on top of a tree. At the quest guide, it misclicked the guide and got a 'cant reach that' in chat box, but it thought it successfully talked to the guide and tried to click the quest tab, which wasn't there. So I clicked the guide and the tab and it caught up. Same thing happened with mining guide, I had to talk to the mining guide to catch it up. At the fighting guide, it didn't close the equipment screen, and proceeded to drop something, try to click inv tab (which wasn't there), and repeated. Then I closed the equipment screen, and it was moving everywhere, I couldn't tell what it thought it was supposed to be doing, so I just stopped the script. Much better than last version.

Edit: I ran another through, soooo close. After doing the fighting, there was no yellow arrow for ladder, and it continued to range a rat, unequip bow and arrows, requip, repeat. Dunno if that's the script or rs. I climbed up the ladder myself and then it was fine.

bullzeye95

2006-12-27 21:22:30

Wow Boreas, you're a bringer of great news :f:

Ok for that tree finding problem, I'm going to try something. RatZ's tree finding was always flawless for me. I just put this together:

procedure SetupStuff;
begin
TreeColors[1] := 876624; // Tree Colors are used with tolerances Don't Change
TreeColors[2] := 3442808;
TreeColors[3] := 4161648;
Tree:= BitmapFromString(8, 1, '68783458583D383824' +
'707834485022687834384822586036');
end;

function RTreeColor : Integer;
var I : Integer;
begin
repeat
I := Random ( 4 + 1 );
until (I = 1) or (I = 2) or (I = 3);
Result := TreeColors [I];
end;

function FindTreeDeformed(var ObjX, ObjY :integer; UpText1, UpText2: String; BMP, a, b, c, d: integer): Boolean;
var
acc, ref : Extended;
var
XT, YT,times,tol : Integer;
begin
ref:=0.9; tol:=0;
for times:=1 to 4 do
begin
FindDeformedBitmapToleranceIn(BMP, XT, YT, a, b, c, d, tol, 2, True, acc);
if (acc >= ref) then
begin
MMouse(XT+8,YT,0,0);
if (IsUpText(UpText1) or IsUpText(UpText2)) then
begin
ObjX:=XT;
ObjY:=YT;
Result := True;
Exit;
end;
end;
ref := ref - 0.1;
tol:=tol+10;
Wait(100);
end;
end;

function ChopTree : Boolean;
var CX, CY, RT, ChopTime, StopTime, ChP : Integer;
begin
if(not(loggedin))then exit;
RT := RTreeColor;
if ( FindTreeDeformed(CX, CY, 'Tre' , 'ree', Tree, MSX1,MSY1,MSX2,MSY2 )) then
begin
Mouse ( CX+20, CY, 10, 0, True );
Flag;
Wait(40+random(1000));
if not InChatMulti('wing','axe','ree') then
begin
if(not(loggedin))then exit;
Result:=False;
Exit;
end;

MarkTime ( ChopTime );
repeat
if(not(loggedin))then exit;
MarkTime ( StopTime );
Wait(500);
if ( ChopTime+15000 < StopTime ) then Break;
ChP:=ChP+1;
ClickToContinue;
if InChatMulti('adv','atu','ance') then Exit;
until ( InChatMulti('get','log','ogs') );
if InChatMulti('get','log','ogs') then
begin
Result := True;
end;
end;
end;

Replace both of the chopping procedures with that (I commented mine out incase I need them again), and replace all of the CutDownTree;'s and CutDownTree2;'s throughout the script with ChopTree; (though I know you'd do that anyway ;) )

Tell me if that helped at all. I'm gonna test it right now.


EDIT: Forget it. It didn't work. I'm working on something now.


EDIT2: OK, I think I have it. I modified the TalkToArrow (or something like that) function.

Try this, it worked good for me:

function ChopTree: Boolean;
var
tlocx, tlocy, bmpMainscreenArrow, tx, ty, Counter, Counter2: Integer;
tmpresult: Boolean;
begin
repeat
if(not(loggedin))then exit;
bmpMainscreenArrow:= loadBmp('Mainscreen arrow');
repeat
if(not(loggedin))then exit;
Counter:= 0;
tmpresult:= false;
repeat
if(FindBitmapToleranceIn(bmpMainscreenArrow, tx, ty, 1, 1, 550, 336, 20))then
tmpresult:= true;
Wait(20 + Random(10));
Counter:= Counter + 1;
until(tmpresult)or
(Counter = 20)or
(not(loggedin));
if(tmpresult)then
begin
if(not(loggedin))then exit;
MMouse(tx + 4, ty + 35, 0, 0);
GetMousePos(tx, ty);
Wait(100);
if(not(loggedin))then exit;
if(isuptext('down'))then
begin
result:= true;
Mouse(tx, ty, 0, 0, true);
end;
repeat
wait(20);
until(not(isuptext('own')))
wait(14000+Random(2000));
MMouse(tx, ty, 5, 5);
repeat
wait(20);
if(not(loggedin))then exit;
until(isuptext('down'))
if(isuptext('down'))then
begin
GetMousePos(tlocx, tlocy);
Mouse(tlocx, tlocy, 0, 0, true);
end;
end;
Counter2:= Counter2 + 1;
Wait(200);
until(result)or
(Counter2 = 5)or
(not LoggedIn);
if(not(loggedin))then exit;
flag;
Wait(2200 + Random(300));
if(not(loggedin))then exit;

FreeBitmap(bmpMainscreenArrow);
until(InventoryCount >= 4)
end;

By the way, thanks to whoever gave me this uber-leet bear :spot:

tarajunky

2006-12-28 00:51:49

I think I worked out the tree-chopping. This latest version is a pretty nice improvement regarding failsafes.

Currently the biggest sticking point is still the rat ranging. Jagex set it up so that there are a LOT of places where if you are standing next to the fence and a rat is as close as possible that you can't attack it. I think the solution is going to be moving the character all the way up to the top of the fence and trying from there. There also needs to be a check whether or not you are actually firing arrows. Perhaps an arrow counter or something that monitors whether the number of arrows in your quiver is decreasing. That would help solve the issue with missing the arrow pointing to the ladder on the minimap.

bullzeye95

2006-12-30 18:56:45

Nice, thanks Tara. I'm gonna test it right now. :)

EDIT: OK, I ran it. It works much better than the last, but it messed up big time on the fighting. It was trying to find the gate to leave the rat pit, but it couldn't see it. It just kept going around the rats looking for it. I helped it get out, then it kept ranging the rats. I think I've fixed both of those errors. I tested my solutions and they almost always work.

For the ladder climbing, I made this procedure:
procedure myRunTo(dir: string; runfar: Boolean);
begin
SetRun(True);
if (runfar) then
case UpperCase(dir) of
'N': MouseFlag(648, 83 - 63, 0, 0)
'S': MouseFlag(648, 83 + 63, 0, 0)
'E': MouseFlag(648 + 63, 83, 0, 0)
'W': MouseFlag(648 - 63, 83, 0, 0)
end;
if (not runfar) then
case UpperCase(dir) of
'N': MouseFlag(648, 83 - 30, 0, 0)
'S': MouseFlag(648, 83 + 30, 0, 0)
'E': MouseFlag(648 + 30, 83, 0, 0)
'W': MouseFlag(648 - 30, 83, 0, 0)
end;
end;

procedure climbLadder;
var
tx, ty, i: Integer;
begin
myRunTo('n', true);
wait(500+Random(300));
myRunTo('n', false);
wait(200+Random(300));
MouseFlag(650, 102, 10, 15);
for i:= 1 to 25 do
begin
if(SlowFindObj(tx, ty, 'imb', 6192, 5))then
begin
MMouse(tx, ty, 0, 0);
if(isuptext('imb'))then
begin
Mouse(tx, ty, 0, 0, true);
exit;
end;
end;
end;
writeln('Could not find ladder.');
logout;
end;

Replace the ActionWithArrow to climb the ladder in the fighting procedure with ClimbLadder;. Once in awhile it won't make it to the ladder or something like that, but it's better than the one now. And for opening the gate to get out of the rat pit, I made this:
procedure OpenFightGate;
var
tx, ty: Integer;
begin
MakeCompass('w');
if(FindMMColorTol(tx, ty, 230, 1))then
MouseFlag(tx, ty, 3, 3);
OpenGate;
end;

Just replace the OpenFightGate; procedure with that. I just added a few lines. I didn't test that one thoroughly yet. I'm gonna do that now.

EDIT2: OK, I just tested the OpenFightGate; procedure. A problem with it is it clicks on the red dots on the minimap. You think you could fix that Tara? I can't figure out how.

Zorlin

2007-01-15 08:43:29

Very nice script.
I ran it, it did have *some* problems, but hell, its the only one thats really worked for me.
I might try making it use multiple players in sequence, should I just change Declare players from this:

procedure DeclarePlayers;
begin
HowManyPlayers:= 1;

NumberOfPlayers(HowManyPlayers);

Players[0].Name :='blarggg';
Players[0].Pass :='blah';
Players[0].Nick :='rggg';
Players[0].Active:=true;
end;

to this? (Just examples. Those aren't real account names. :P)

procedure DeclarePlayers;
begin
HowManyPlayers:= 2;

NumberOfPlayers(HowManyPlayers);

Players[0].Name :='blarggg';
Players[0].Pass :='blah';
Players[0].Nick :='rggg';
Players[0].Active:=true;


Players[1].Name :='o blarggg';
Players[1].Pass :='blah';
Players[1].Nick :='rggg';
Players[1].Active:=true;
end;

tarajunky

2007-01-15 10:37:29

I haven't worked on this recently, but I do think I have an updated version that helps solve the rat ranging problem. I'll post it later today.

And yes, that's how you would change the script if you wanted to use more than 1 player.

bullzeye95

2007-01-15 18:59:33

Yay, I need more noobs :)

Tara, you really deserve that SRL Master cup :spot:

Oh, and was it you that gave me that uber-leet bear?

Zorlin

2007-01-15 23:16:09

Thanks tara. :)

tarajunky

2007-01-17 15:27:32

As promised, here is 3.22. This adds an arrow counting function so that the script actually knows when you have started ranging a rat.

The problem was always that the MM arrow to the ladder appears after you kill a rat, but then it disappears if you attack another rat. Hopefully this will solve that issue permanently by preventing the script from attacking any more rats once it knows it's attacking one.

bullzeye95

2007-01-17 19:25:44

Nice, that's awesome! Thanks, I'll test it right now :)

XcanadamanX

2007-01-17 19:37:13

thanks this is awesome. but things i found out…
1. sometimes the banking screwes up because it wants to click the bank banker not use bank booth. easy fix. just wanted to let you know.
2. at the mage it doesnt click the wind stike. im sure its only because of the new update.
thanks a lot this is going to help me make my army!

bullzeye95

2007-01-17 20:30:26

Canada, swap your killchicken procedure with this:
procedure KillChicken;
var
tx, ty, bmpAlmost: Integer;
begin
bmpAlmost:= loadBmp('Almost');
GameTab(7);
repeat
TMouse(600, 237, 2, 2, true);
Wait(100);
Flag;
Wait(300 + Random(100));
ActionWithArrow('Cast', 200, 100);
until(SimilarColors(GetColor(564, 255), 2500134, 2))or
(FindBitmapToleranceIn(bmpAlmost, tx, ty, 180, 350, 245, 390, 20));

if(SimilarColors(GetColor(564, 255), 2500134, 2))then
begin
if(SlowFindObj(tx, ty, 'Talk', 6502405, 7))then
MouseFlag(tx, ty, 0, 0);
Wait(800 + Random(100));
TalkAlong;
KillChicken;
Exit;
end;
end;

Ok Tara, it had no trouble with the banking or ranging (thank god!). Although, after the banking it failed to click the door to go onto the financial adviser. It was trying to find the financial adviser with the arrow, but it wasn't even in the right room. Other than that, flawless!

Oh, and you might want to know, when it logs in on a player that's not first and it wants you to choose the looks, the scripts just logs out.

tarajunky

2007-01-17 20:49:45

It might need to click the close bank X twice, just to make sure its closed before continuing on…

Like

If BankScreen then CloseBank;
Wait(1500);
if BankScreen then CloseBank;
I was having a problem with that on one of my other scripts.

bullzeye95

2007-01-18 15:59:35

Or just
repeat
closebank;
until(not(bankscreen))

Lorax

2007-01-18 17:08:28

will there be a new version with this included?
perhaps bullzeye95 should make it this time, he has been a great source to the accomplishment of this tut runner..
Also he seems to know what would fix the bugs he encounts.
Bullzeye95 if you want to make the next version of the tutorial island runner with those two bugs fixed then you're more than welcome..
Tara you need to be included in the credits at the script..

bullzeye95

2007-01-18 21:56:18

From: Lorax
will there be a new version with this included?
perhaps bullzeye95 should make it this time, he has been a great source to the accomplishment of this tut runner..
Also he seems to know what would fix the bugs he encounts.
Bullzeye95 if you want to make the next version of the tutorial island runner with those two bugs fixed then you're more than welcome..
Tara you need to be included in the credits at the script..


*GULP*

Of course, I'll definitely try. I'm not promising that it will be as good as if you guys did it, but I will try.

Lorax

2007-01-19 01:23:09

Just PM me your modifications before you release it and I will look it through..

bullzeye95

2007-01-19 17:59:42

OK, I'm leaving in a few minutes for a cruise. I'll PM you what I have done right now.

torrent

2007-01-24 15:35:38

how long does it take to run through for one run?

Ejjman

2007-01-24 16:33:06

Took mine like 8-15 minutes.

ERRORS:
-New mage window ;) Couldn't cast air blast

Thats all.

Lorax

2007-01-24 16:47:06

From: ejjman1
Took mine like 8-15 minutes.

ERRORS:
-New mage window ;) Couldn't cast air blast

Thats all.


sounds great, will might change it myself

Ejjman

2007-01-24 17:09:25

Good, its a nice script otherwise.

Hey321

2007-01-24 17:40:30

Wow man, worked perfectly!!! Got me through tut island with only one help! At the ranging part, he kept clicking the rat, then the arrow, then the rat, and so on.

tarajunky

2007-01-24 18:01:08

Yeah, Jagex made it so there are several places that you can't move any closer to the rat, but you won't fire arrows. If you're unlucky and get stuck in one of these places, it won't be able to proceed until the rat walks away or gets killed somehow so that you can move away from the spot.

Lorax

2007-01-25 02:42:22

nice failsafe someone made there, must be Tarajunky or Dankness ;)
I don't remember thinking about that..
Except that it clicks on the minimap..
So one would just have to wait?

bullzeye95

2007-01-28 14:02:29

Ok peeps, version 3.3 is done. I fixed a few bugs including:
1. When a player that wasn't the first to login is loggedin, and it's on the screen to choose clothes, it'd just logout.
2. Of course, with the new spell interface, there was a chicken killing bug.
3. When your player was done tutorial island, the script would think it was still on tutorial island.

And I think I fixed another bug too that I can't remember.

:spot:

Ejjman

2007-01-28 21:55:38

K, I'm running it again, going to get myself 20 or so characters more than I have, I guess I can only suggest…Add multiplayer >.<

tarajunky

2007-01-28 22:00:55

It should be multiplayer compatible, just add more players.

Ejjman

2007-01-28 22:42:55

K Thanks Tara :D

bullzeye95

2007-01-29 15:33:01

Yeah, I always run it with about 10 characters at a time :)

Please let us know of all bugs.

Lorax

2007-01-29 17:09:22

Nice work bullzeye I might consider getting some more players, when SCAR gets to work on Mac..

bullzeye95

2007-01-29 17:51:56

From: Lorax
Nice work bullzeye I might consider getting some more players, IF SCAR gets to work on Mac..


Fixed. I really don't think that's gonna happen to be honest. Freddy will work on it, but he said it would be really hard, if even possible.

Lorax

2007-01-29 18:07:01

From: bullzeye95
Fixed. I really don't think that's gonna happen to be honest. Freddy will work on it, but he said it would be really hard, if even possible.


I have bugged him for some time, and I think that it looks bright..

Ejjman

2007-01-29 20:23:27

From: Lorax
I have bugged him for some time, and I think that it looks bright..


Are mac and linux different?…If he could get it on Linux, that would totally really extremely rox my sox :$

danrox2004

2007-02-02 03:41:33

Looks Good! Just a question - Do you ever have the problem if you click on a door or gate and someone goes through it at the same time it doesnt walk through the gate. If you did then i would be interested to know how you fixed it.

Lorax

2007-02-02 06:33:19

From: danrox2004
Looks Good! Just a question - Do you ever have the problem if you click on a door or gate and someone goes through it at the same time it doesnt walk through the gate. If you did then i would be interested to know how you fixed it.


I don't think that there's a failsafe for it :S, not sure though..
but well it doesn't go on with next step because of my step detector..

danrox2004

2007-02-02 08:05:30

From: Lorax
I don't think that there's a failsafe for it :S, not sure though..
but well it doesn't go on with next step because of my step detector..

Ok.. Thats been happening to me on my script alot lately :mad: I think doing a step-detector type thing is probarbly the easiest way.

danrox2004

2007-02-09 07:52:22

Sorry for double posting…

Mind if i 'borrow' your function to check where the bar is up to? I was thinking of combining it with the chat text to get where you are in the tutorial more specificaly (sp?) For example the bar is up to part 2 so it checks for all the text in part to to find out exactly where to continue from.

Edit:
Never knew it was that simple and easy!

Lorax

2007-02-09 08:10:42

From: danrox2004
Sorry for double posting…

Mind if i 'borrow' your function to check where the bar is up to? I was thinking of combining it with the chat text to get where you are in the tutorial more specificaly (sp?) For example the bar is up to part 2 so it checks for all the text in part to to find out exactly where to continue from.

Edit:
Never knew it was that simple and easy!


What was that simple?

danrox2004

2007-02-09 08:38:18

From: Lorax
What was that simple?


What i am saying is that i never knew there was a function ColorToHSL, i thought you made a function which converted a color to HSL - i have no idea how you would do it - to find the part, i didnt mean the script was simple

Edit: does that make any sense? im confusing my self :confused: :confused:

bullzeye95

2007-02-09 15:36:09

Lol what IS HSL?

Boreas

2007-02-09 18:45:10

A way of expressing a color, like RGB

http://en.wikipedia.org/wiki/HSL_color_space

I'll do an auto coloring tut on it after divi.

Lorax

2007-02-09 20:29:21

At the start I made my own Color32toRGB and RGBtoHSL converters and the other ways…
But why not just use SCARs ones..

XcanadamanX

2007-02-10 14:07:42

ok i have a really big bad bug wth the new one…everytime it finishes one area it thinks its at the clothes and does nothing. so everytime you have to stop it and start it again.

Lorax

2007-02-11 04:16:00

From: xcanadamanx
ok i have a really big bad bug wth the new one…everytime it finishes one area it thinks its at the clothes and does nothing. so everytime you have to stop it and start it again.


Woaw, but does it continue with the current area you're in when you start it again?
sounds like someone fucked my procedures ;)

ruler

2007-02-11 10:00:39

does it really take 2500 lines to do it?

XcanadamanX

2007-02-11 10:34:51

From: Lorax
Woaw, but does it continue with the current area you're in when you start it again?
sounds like someone fucked my procedures ;)


i think it does. im not sure if i just had to move it into the next area. like say after the survival person it would go out of the gate and then stop. i think i had to move it to the cooks place so that it would do something.

Lorax

2007-02-13 16:36:29

@ruler - yes and it could be a lot larger..
@xcanadamanx - I can't immediately see what is causing this, and at the moment I'm to bored to even plan to fix it..

XcanadamanX

2007-02-13 16:49:08

i think its the clothes picking proc. does it just wait and if it doesnt find where it is it just thinks its at the beginning? if thats what it does then that is probably your problem.;)

Mjordan

2007-02-17 18:59:59

hope this still works. im gonna run it right now, so i guess ill find out :)

jdumber2k

2007-02-18 14:50:39

sounds good ill try

Abyssal

2007-02-21 19:48:21

Almost perfect.


Ran into an error while fishing, it just kinda stopped.

Mjordan

2007-02-21 23:16:28

yeah i ran this and it didnt get past the fishing, actually it got to the fishing then stopped(didnt even start to talk to the woman)

Lorax

2007-02-23 04:42:42

Seems like some colour problem or something, perhaps you could start it when you go through the gate then?

Mjordan

2007-02-25 01:40:12

From: Lorax
Seems like some colour problem or something, perhaps you could start it when you go through the gate then?


hmm ill try…

m0u53m4t

2007-02-28 08:27:08

Im probably being a dumbass, but where's the download link? ;D

bullzeye95

2007-03-01 15:51:38

Page 8. On my post.

Ejjman

2007-03-12 22:03:56

Hmmmm.. Need more testers I think for you lol. Well, I decide to get my army through. I'll have 2 of my players go through right now. I'll be right back.

Wow. I suggest you run this through yourself. though it may be my computer. It is messing up like crazy.

Lorax

2007-03-13 14:19:59

From: Ejjman1
Hmmmm.. Need more testers I think for you lol. Well, I decide to get my army through. I'll have 2 of my players go through right now. I'll be right back.

Wow. I suggest you run this through yourself. though it may be my computer. It is messing up like crazy.


I don't need more users..
It is? in what way?

Ejjman

2007-03-13 16:48:07

It stays at the lcothing, eventuallyu after like 10 times of typing clothing in debug, it leaves, go down, chops a tree, lights it on a fire..Then goes to fish, and it keep moving the mouse over the fishing spot, right clicking, and then going off of the screen. Never actually fishing..

JAD

2007-03-13 19:56:06

Well, after it did clothing, it clicked on door, and I waited for 2 minutes, and it didn't do anything. so I stopped the script, and clicked run again, and it went to next part (you probably have a progress bar checker in there or something I'd guess) then it did everything good until it went to leave the fishing place after doing cooking fishing wc and firemaking. it clicked the gate before the chefs place and it didn't do anything again. I stopped script, then ran and it started to work. it went to cheffs place, talked to him to get the stuff, then it just started right clicking on the furnace and clicking cancel for about 30 seconds, then it would turn the angle and repeat doing that.. maybe it thought it was using the dough on it or something IDK. anyway, its really cool though :p just had a lot of bugs for me though, not complaining, just trying to help improve :)

bullzeye95

2007-03-13 21:38:55

Yeah, something is screwed with the clothes procedure…

SonOfSheep

2007-03-15 10:45:23

This works quite well. Only bug i had was when it was trying to cook something there was a tree next to the fire and it kept using with tree instead of fire because they both showed up in the menu thing. did that a couple times for me. Just had to wait for the fire to go out.

edit: nvm. I cant believe i missed the maxstats setting. Sorry lol.

pwnaz0r

2007-03-25 03:07:19

A few things :D

    On survival guide, it clicks shrimp only once in inv(when cooking) and all that does is cancel out the message that says"you have cooked it " or watever. On the inventory drop, it clicked use instead of drop. Thus, it could never find the drop button. It sat there 30 minutes and finally i had to fix it. When it got to the gate, someone else opened it just before we did and it asumed we were at door. It proceded to look for the door the rest of the night :).
just thought i would post those ;) gl with the everlasting journey of making a tut island runner ;)

Lorax

2007-03-25 08:13:13

I can't relate to the fishing problem as I know there has been some updates and I haven't been to tutorial island for,, a long time..
The door problem, hmm.. I'm not sure about how this should be solved..
does there come some text when someone comes before you..

bullzeye95

2007-03-25 12:07:44

I'm trying to fix most of the small errors. Hopefully I don't get bored :p

pwnaz0r

2007-03-25 12:43:51

From: Lorax
I can't relate to the fishing problem as I know there has been some updates and I haven't been to tutorial island for,, a long time..
The door problem, hmm.. I'm not sure about how this should be solved..
does there come some text when someone comes before you..


I believe the status bar changes when you go through im note sure though. Never did got through ;p

Lorax

2007-03-25 16:34:56

From: bullzeye95
I'm trying to fix most of the small errors. Hopefully I don't get bored :p


That's nice of you..

bullzeye95

2007-03-26 20:25:22

Thank you, but I really have nothing better to do :p. Also, it gives me SCAR experience.

Fixed some bugs, and added a few small failsafes.


EDIT: While I'm here, how do you get to be a King Black Dragon?

EDIT2: Ok, it's going good. I just changed some things in it while I was running it. I'm going to test it tomorrow (or maybe tonight if I feel like it). And Lorax, do you want to see it before I post it?

Bobarkinator

2007-03-26 20:59:42

I've been having a problem of when I finish one section of the Tutorial it will just wait and keep WriteLning "clothing". Did you fix this?

bullzeye95

2007-03-26 21:33:29

Yep all fixed :). That and lots of other things. I'll post that procedure so you can overwrite it. Please tell me all errors :)

procedure DoClothing;
var i:integer;
begin
if not(TabExists(11)) then
begin
WriteLn('Clothing');
if(NeedToLog)then Exit;
if(AcceptVisible)then
ChooseCloth;
if(NeedToLog)then Exit;
ClickMinimapArrow;
if(NeedToLog)then Exit;
TalkToArrow;
if(NeedToLog)then Exit;
ClickMinimapArrow;
if(NeedToLog)then Exit;
GameTab(11);
SetRun(True);
DoClothing;
exit;
end;
if(AtPos = 1)then
begin
if(NeedToLog)then Exit;
TalkToArrow;
if(NeedToLog)then Exit;
MakeCompass('e');
if(NeedToLog)then Exit;
ClickMinimapArrow;
if(NeedToLog)then Exit;
If FindColor(x,y,16711422, MMCX-5, MMCY-5, MMCX+5, MMCY+5) then Wait(2500);
if not(ActionWithArrow('Open', 1000, 500)) then
begin
i:=0;
repeat
Wait(2500);
MakeCompass('n');
If FindColor(x,y,16711422, MMCX-5, MMCY-5, MMCX+5, MMCY+5) then Wait(2500);
if ActionWithArrow('Open', 1000, 500) then break;
Wait(2500);
MakeCompass('e');
If FindColor(x,y,16711422, MMCX-5, MMCY-5, MMCX+5, MMCY+5) then Wait(2500);
if ActionWithArrow('Open', 1000, 500) then break;
i:=i+1;
until i>=5;
if i>=5 then
begin
Status('Stuck at door, logging out');
Repeat
Wait(1000);
until NeedToLog;
exit;
end;
end;
if(NeedToLog)then Exit;
MakeCompass('n');
if(NeedToLog)then Exit;
end;
end;

Special Ed

2007-04-02 02:07:00

Hey I was running this and right after it finished the mining portion of tutorial island it came up with this error. Is this user error or something else.

[Runtime Error] : Exception: Access violation at address 00650C79 in module 'scar.exe'. Read of address 00000030 in line 586 in script C:\DOCUME~1\Retribution\LOCALS~1\Temp\Tutorial Island Runner 3.3.scar

eddie

2007-04-07 06:57:50

From: Special Ed
[Runtime Error] : Exception: Access violation at address 00650C79 in module 'scar.exe'. Read of address 00000030 in line 586 in script C:\DOCUME~1\Retribution\LOCALS~1\Temp\Tutorial Island Runner 3.3.scar


That sounds pretty bad. At first glance I think it's user, But I'll look into that as soon as I finnish Peeing around with ALICE ( A 3D modelling system very similar to runescape models, I have been doing research into it.)

Mjordan

2007-04-07 08:34:38

Are you gonna release the new version bullzeye?

Lorax

2007-04-07 11:45:47

I hope he is :)

edit: It's post count, get your post count up :)

Mjordan

2007-04-07 11:52:48

From: Lorax

edit: It's post count, get your post count up :)


HUH:confused:

Special Ed

2007-04-07 12:02:37

Oh, there is a new one coming out? W00tz0rz!

Mjordan

2007-04-07 12:04:10

From: Special Ed
Oh, there is a new one coming out? W00tz0rz!


Yeah bullzeye updated it.

Special Ed

2007-04-07 13:08:27

Hmm… were is it or has he not released it yet?

Mjordan

2007-04-07 13:46:50

From: Special Ed
Hmm… were is it or has he not released it yet?


He hasn't released it yet, don't know why though.

Lorax

2007-04-07 15:35:40

He must have been busy… that's all..

Bobarkinator

2007-04-07 20:31:14

Woot I made it all the way through.:spot: :spot:
May I suggest a faster mouse speed so you can catch those moving instructors and not always clicking the yellow icon on the minimap. For instance for the bank adviser, he's not going anywhere, you're only in that little room so you don't have to click the minimap for that.

Lorax

2007-04-12 07:55:02

I don't know if a faster mouse speed would fuck the script up.. this script uses BenMouse if I'm correct, perhaps I'll take it off, I prefer BenMouse = False today..

bullzeye95

2007-04-13 21:17:06

Yeah sorry guys, I was on another cruise :)

Working on a few things. I'll work on it right now.

bullzeye95

2007-04-13 22:32:03

Here's version 3.4 :). I think I've minored most of the bugs. Please tell me of any bugs that you come across.

mikev

2007-04-13 23:36:19

Nice script and fixes.

bugs:

1) in fighting cage with rats…it clicked on the red dot(dropped item) on the minimap instead of the red line(door).

2)probably my problem but I will post anyways–LoadChars failed - folder "C:\Program Files\SCAR 3.01\CharsChat2\fontsmall\" does not exist
[Runtime Error] : Exception: Access violation at address 00714C75 in module 'scar.exe'. Read of address 00000008 in line 2168 in script C:\Documents and Settings\mike\Desktop\Tutorial Island Runner 3.4.scar

^^Im using scar divi 3.01

other than that…great script.

Boreas

2007-04-14 05:41:57

For 1 check out Doors (link in sig), it ignores drop dots

bullzeye95

2007-04-14 10:15:33

@Mike Sorry. I fixed it on my computer… forgot to fix it in the script. Trying now.

@Boreas Maybe Lorax should do that… I don't wanna screw anything up.

bullzeye95

2007-04-14 12:16:34

Sorry for that dumb error guys. It should be fixed now. Well, it works on my computer. Please tell me if it happens again. Re-uploaded.

PLEASE NOTE: THIS IS FOR SCAR 3.01+!

Lorax

2007-04-14 14:17:49

From: bullzeye95
Yeah sorry guys, I was on another cruise :)

Working on a few things. I'll work on it right now.


What a spoilt kid :)
Anyway I'm very happy that you keep updating this script, that is a huge effort you are putting into this, and I admire that..

bullzeye95

2007-04-14 14:27:27

Hehe yeah I am :p

Well I want to help out the community, but I'm too lazy to make my own script :)

Oh by the way, the TalkToArrow procedure can be an endless loop if it doesn't find the person, or if it's at a door or something. Check it out. I don't know what to do about it.

Lorax

2007-04-20 14:28:12

Use a timer, like Flag does..

omgh4x0rz

2007-04-20 14:42:46

From: bullzeye95

PLEASE NOTE: THIS IS FOR SCAR 3.01!


Is there a version for scar 2.03?

bullzeye95

2007-04-20 16:47:38

Ehh I'll make one now.

@Lorax: Check out the procedure. I don't know what to do about it. It calls upon itself.

bullzeye95

2007-04-20 17:08:36

OK, I made it. There is a const that allows you to choose what version of SCAR you're using :)

It should work… Didn't have time to test.

EDIT: Oops, sorry for double post!

Hey321

2007-04-21 21:17:55

Looks good, ran and found this though:

Line 1: [Warning] (1:1): "and True" is not needed in script

Not sure if it's just some weird error on my part or if it's always there.

Mjordan

2007-04-21 21:22:59

Yeah I get that too.

bullzeye95

2007-04-21 22:04:59

Yeah I think that only happens in Divi though… Ah well, it still works :). Please tell me if you run into any bugs.

TheGodfather

2007-04-21 22:58:55

Going to check this out. Be posting some feedback up shortly ;)

edit: it doesnt do anything.

Hey321

2007-04-22 08:36:25

From: bullzeye95
Yeah I think that only happens in Divi though… Ah well, it still works :). Please tell me if you run into any bugs.




Doesn't fish properly. It clicks over the spot, hits cancel rinses and repeats.

tarajunky

2007-04-22 10:45:46

Everything worked well except for the shrimp cooking. It would click the shrimp, cook it, then try to click another shrimp. But after cooking a shrimp RS has a Click To Continue type thing appear at the bottom, so when it would click the shrimp, it would only clear the message without selecting the shrimps.

One way to fix this would be to make a DTM of the arrow thing, ->, which appears at the top of the screen after you have selected the shrimps. I use that in LAME to make sure you have selected a spell and it works great.

So, after you click, check for the ->, and if it isn't there you don't have a shrimp selected so you need to click again. I think that's the best failsafe to put into it. Otherwise, you can always just make sure it checks for the Continue dialog at the bottom and clicks it before selecting another shrimp.

By the way, you could probably use the same -> DTM in the chicken maging part as a failsafe there.

Lorax

2007-04-22 11:13:51

Is it really needed to put in a failsafe if it has clicked a shrimp or not?
It should allways click the shrimp..
I don't think one should make failsafes down to Inventory clicks..

tarajunky

2007-04-22 12:11:19

I does click the shrimp. But the click doesn't register since there is a dialog box at the bottom.

That's not a huge problem, except that it clicks the shrimps once and then immediately goes and clicks the fire. Since no shrimp is selected, it walks over to the fire instead of cooking anything. Then it goes back to the inventory and clicks a shrimp, then cooks it correctly. Since it cooked it this time, the dialog box appears again, and the next click doesn't register.

It ends up looking and acting very strange.

Click shrimp, cook shrimp, click inventory, click fire, click shrimp, cook shrimp, click inventory, click fire, and on and on.

omgh4x0rz

2007-04-22 12:30:34

eh, wateva. How many nubs on tutorial island are on the lookout for autoers?

Doofy

2007-04-22 13:24:02

hey…i tried this out just now, and it worked fine until it got to the rat ranging…. it killed one rat using range, but then kept moving the mouse back and forth between different objects and a skeleton on the ground… it then clicked on another rat to kill it, unequipped range stuff equipped it again, unequipped it, kept right clicking on the rat then canceling, then walked over past ladder, then back to rats (i think because of the yellow arrow on the minimap) and then i ended it there.

just a problem i had, but everything else worked fine:spot:

Lorax

2007-04-22 14:12:36

Woaw that is quite a problem, perhaps Bullzeye can answer that one?

omgh4x0rz

2007-04-22 15:34:30

I just ran it on the new character I made for the botcatcher script, and this is fantastic! No flaws in mine whatsoever.

Great job lorax and bullzeye!

Rune Hacker

2007-04-22 15:42:30

When it got to the fishing the shrimp, it just kept on right clicking the fishing spot and clicking cancel so i had to stop the script at the shrimp.

bullzeye95

2007-04-22 16:18:20

From: omgh4x0rz
I just ran it on the new character I made for the botcatcher script, and this is fantastic! No flaws in mine whatsoever.

Great job lorax and bullzeye!


Haha thanks, but you should thank Tarajunky and Dankness. They helped much more than me ;)

@Doofy, wow that is a problem. I'd have better luck fixing it if it happened to me, but I've never gotten at error at the fighting part… If I ever come across that error, I'll fix it. It's just hard to fix it if the script isn't running. Sorry :(

Doofy

2007-04-22 16:51:54

yeah i know wat you mean…. i was just letting you guys know wat happened… but besides that, its a great script. [Offtopic]I used to have Mad Cow's beta tut runner, and i encountered the "rare" problem of "cannot reach that!" when i needed to talk to the fishing lady…. im not even sure if that one was SRL lol.[/Offtopic]

tarajunky

2007-04-22 18:23:07

The same ranging thing happened to me.

It attacked a rat that someone else had already been fighting. They had stopped fighting it, but the rat was at less than full health. I think what happened was that when the rat actually died, the other player got 'credit' for it (like how you may not get the drop if someone else was fighting the same mob). Since the script didn't get the "Moving on" signal, it started moving around a bit and ended up fighting another rat and then continuing as normal.

Doofy

2007-04-22 18:47:44

Thats kinda the same as wat happened to me, but not really… with mine, it killed a rat that was not being attacked. then it unequipped range stuff, equipped it again, and attacked another rat that wasnt being attacked. and it kept making weird mouse movements from random objects to the skeleton on the ground. It then walkd past the ladder, and walked back. I ended it then.

Lorax

2007-04-24 15:38:54

I think we should thank bullzeye the most,.. from what I know he has done the biggest changes..

Doofy

2007-04-24 17:44:03

From: Lorax
I think we should thank bullzeye the most,.. from what I know he has done the biggest changes..


:confused: i dont understand lol

bullzeye95

2007-04-24 18:09:06

From: Lorax
I think we should thank bullzeye the most,.. from what I know he has done the biggest changes..


No, you guys should thank Lorax (definitely!), Dankness, and Tara. They REALLY revamped the script!

Doofy

2007-04-24 19:20:29

i think we should thank all of you :D

omgh4x0rz

2007-04-24 20:13:43

aww, everyone is so modest here. I love it!

nothing like being around all the jocks at school

rkroxpunk

2007-04-25 09:49:58

awww……group hug :P Anywayz lol ran this script and I think 1 out of 4 guys finished it. and that guy only finished after the second time I ran it lol :D…….but neat stuff as usual

Soz about the lack of detail I wasn't really watching. Err from memory one guy was/is :D stuk at cook and another at the fish. err guy at cook was up to furnace and the guy at shrimps had a gazillion in his invent that were raw and 1 burnt

EDIT: Ok I just watched one guy go thru and took note of all bugs.
ok well it's basically flawless unless ur unlucky.
well the first thing that stuffed up was:
it got to the step where it had to click on stats bar and he was cooking shrimps. Now the stats bar was flashing away and it ignored it and kept cooking which was all cool. But it decided to click on the stats bar when it got a firemaking lvl. so the popup for congratulations you just advanced a firemaking lvl came up but it didn't click on "click here to continue" instead it chose that time to click on the stats bar. but because it hadn't clicked on "click here to continue" for lvl up the arrow on MM didn't appear so nothing happened. So i stopped it and started again which was a success :D

next bug. when it gets up to the bank it repeatedly clicks on the bank booth instead of the banker and because it doesn't find the text "talk to banker" or something like that it clicks cancel and it kept clicking on bank booth then cancel over and over again until i moved the mouse on to the banker. my suggestion just add and or ChooseOption(wateva the other option is for clicking on bank)

and apart from that it was basically flawless. One more thing you could do is with the range bit actually walk into the rats place. because it was outside the gate and clicked on the arrow on the MM where the rat was but couldn't go there because the gate was closed. but if u went into the rat place when ranging it would have a lot less fails.

Hope a little bit of that made sense :D

-RK

RAM

2007-04-25 16:02:01

First Off, a big Thanks to everyone involved in making this, A great learning tool with all the procedures in here for different skills…..I like the option to be able to max skills, very nice,Works really good, but..I did have a couple of problems….everything fine, until after talking to finacial advisor and exiting door, No arrows were found for moving to prayer, so after waiting a bit, I helped it along….continued well, until it was time to mage chickens…arrow above chicken was off to left and it clicked outside of building and then was not able reach it…after I moved it back inside, continued with no problems…..I'm going to try on a few more characters and see how it goes Thanks again, RAM

Oh BTW, I'm so glad for yesterday's update with the passwords, LOL, that was a funny touch at the end

Edit: Second character I ran through got hung up on prospecting, switching between clicking on ore and cancel…helped it along…..acted a little buggy when it came to ranging, hovering between skelton and gate, but worked itself out…after that no problems.

Widget

2007-04-25 19:39:07

Really nice job, guys!

I only had time for one guy, and there were three problems. The first two were at the fishing spot. The first was that it only fished one shrimp, and thought it cought and cooked two, and the second is that when it chopped the tree to make a fire, it was standing in someone else's fire. That's not bad, except that when it went somewhere else to make the fire, it went south, and ended up on a fern. It tried to make a fire again, couldn't, tried to keep going south, but it was already at the south wall/border thing.

The third bug, I'm not really sure what happened. It was after it talked to the prayer guy, and was about to leave. There wasn't an arrow flashing anywhere, and the mouse was moving wildly about as if it was trying to find a door, but not clicking on it. I was eating at the time, so I'm not sure what it was trying to do or when, but that's all I can give.

Hope this helps,
- Widget

Abyssal

2007-04-26 08:19:58

Alright, this script is amazing, but it normally get's stuck on a few things.

Fishing:
It right clicks the fishing spot, and then clicks cancel, over and over, and over. I think it might be the FindSlowObj.

Doors:
Same thing, clicks and then hits cancel.

RAM

2007-04-27 16:36:03

No Complaints, just a few Observations….after running this on a few more characters, has some minor issues as mentioned by other people, with it ranging the rats if someone else starts fighting the 1 you were already fighting etc., no big deal, usually seems to work it self out…. and I recieved a few warning errors….
Successfully compiled
Line 1: [Warning] (1:1): Calculation always evaluates to False in script C:\Documents and Settings\Owner\My Documents\Scar\scripts\Working SRL Scripts\Misc\Tutorial Island Runner 3.4++.scar
SRL Compiled in 156msec.
Successfully executed
Successfully compiled
Line 1: [Warning] (1:1): "and True" is not needed in script C:\Documents and Settings\Owner\My Documents\Scar\scripts\Working SRL Scripts\Misc\Tutorial Island Runner 3.4++.scar
SRL Compiled in 156msec.
Successfully executed
Successfully compiled
Line 1: [Warning] (1:1): "and True" is not needed in script C:\Documents and Settings\Owner\My Documents\Scar\scripts\Working SRL Scripts\Misc\Tutorial Island Runner 3.4++.scar
SRL Compiled in 140msec.
Successfully executed
Successfully compiled
Line 1: [Warning] (1:1): Calculation always evaluates to False in script C:\Documents and Settings\Owner\My Documents\Scar\scripts\Working SRL Scripts\Misc\Tutorial Island Runner 3.4++.scar
SRL Compiled in 141msec.
Successfully executed


I noticed in the default settings, there is a lower case "f: in "AllowFemale= false", while there is an upper case "T" in the "MaxStats=True" and when changeing these some warings are recieved, Again, No big deal, just thought I would mention it, if it hasn't been already….

Thanks Again, RAM

Lorax

2007-04-29 05:33:10

Warnings are stupid, they work well with false and False.. it's just useless information..

PyRo.

2007-05-08 21:10:31

In Divi and 2.03

Line 349: [Error] (15099:5): Unknown identifier 'smooth' in script C:\Program Files\SCAR 2.03\Scripts\Tutorial Island Runner 3.45.scar

Has to do with BenMouse.

Bam Bam

2007-05-08 22:35:57

From: PyRo.
In Divi and 2.03

Line 349: [Error] (15099:5): Unknown identifier 'smooth' in script C:\Program Files\SCAR 2.03\Scripts\Tutorial Island Runner 3.45.scar

Has to do with BenMouse.


Its because of the new SRL I think. Try setting a constant to smooth = true; and if that doesn't work experiment with variables (I think it is a boolean)

PyRo.

2007-05-09 03:17:25

The new SRL is still compatible with 2.03 though.

RAM

2007-05-13 02:40:24

From: Bam Bam
Its because of the new SRL I think. Try setting a constant to smooth = true; and if that doesn't work experiment with variables (I think it is a boolean)


I tried your sugestion as well as a few other things, then came up with an error for Unknown identifier 'clicktiming' ….any sugestions, other than reverting back to SRL 3.6, I just got the bugs worked out of the latest….Thanks, RAM

PyRo.

2007-05-18 02:08:28

Got it working, just some actually problems with the script.

When trying to go through the door to the financial adviser it clicks cancel. Also, it keeps dragging logs instead of clicking to light a fire.

Bam Bam

2007-05-18 15:56:08

From: PyRo.
Got it working, just some actually problems with the script.

When trying to go through the door to the financial adviser it clicks cancel. Also, it keeps dragging logs instead of clicking to light a fire.


Yeah I got it working too, but much needs work.
I "fixed" the shrimp cooking procedure but I haven't been able to test it.

As far as I can tell its good but right now its in need of a little work.

The Claw

2007-05-25 05:37:47

Had a couple of errors, but other than that it was sweet :)

What happened the first time, when it got up to the prospecting of the copper rock, it would right click and then click cancel on the rock all the time, even though the prospect option was there. After I clicked prospect myself it proceeded.

Then on the fighting the rat part, it would keep switching rats, leaving 3 or 4 near dead, but not quite. Eventually it clicked on one and it died. Then it just stopped there for ages. I looked on the minimap and the flag was still there for some reason, so I clicked and it went away, and all was good. Maybe have Flag; after the rat dies, and keep fighting one rat until you see the text which tells you to move on.

Then the ranging part. Again, it clicked different rats, and took ages to kill. It also got stuck at the door, and did the weird mouse movements from door to skele, door to skele. Clicking away fixed this.

Then it went ok up until the Financial Advisor. When it got out of there, there was no arrow anywhere on the map, and it shut down, so I walked to where you could see an arrow, and restarted script and it was all good.

And apart from those things, it went perfect :) Sorta annoying how it woodchops etc all those un-needed logs, makes the script take longer to complete the island. :p