PDA

View Full Version : Solarwind's Tutorial Island Runner (very incomplete alpha)



solarwind
11-07-2006, 07:05 PM
Solarwind's Tutorial Island Runner (very incomplete alpha).

This is a very incomplete alpha, only gets to the combat tutor. The idea seems to be working well. It can get to the combat tutor easily, but sometimes you might have to give it a little nudge here and there if it misclicks.

Any feedback is much appreciated. If you think it's total garbage, please post why you think so. If you think it's ok, tell me what to improve. (Other than finish the script, I know that...)

How to use:

- Also has a random character look picker (not very good, but enough for now)

- Create a new character, set to low detail and the usual. That's all you need to do, then just give focus to the rs screen and hit run and watch it. It'll pick all the clothes and stuff and start doing the tutorial.


- Give me lots of feedback, I am looking to make this a working script and I can't do that without all of your help!

- Has somewhat of a "report". It shows debug information on what it's doing. So if it says something and doesn't do it (for some reason) you know you'll have to help it out (in the 3 seconds it sleeps in between certain procedures).

Edit: Removed the file. I'm updating and I wont post until it can go start to lumby. Then I need testers. I'll keep this post updated

Current version: v0.05
Lines of code: 1138

Other thoughts:

- Looks like the survival expert is the hardest part. This is where most of the errors occur. Before and after that, everything goes smoothly.

- Will add more failsafes after I finish the initial run-through.

Boreas
11-07-2006, 07:14 PM
Haven't run it yet, but break up into procedures/functions more, easier to follow the main loop (well it's not a loop in a tut runner, the begin end. with a '.' and not ';' if you know what I mean). Also especially useful in this case because then you test parts of it. I mean after testing this a few times you'll a bunch of characters at the survival guide. Then when you write the next part, it will be easy to run those characters on just the next part, otherwise youll have to finish them off manually.

Will edit once I make an account and test. Edit: It didn't go through the door, and said successfully executed. Instead of ifs, try loops that try again until they are successful (or give up after a number of tries). Attached is bbankf.scar, check out boreasbank, if it fails it starts again (use the other 2 if you want to see it in action, this is the old version of mousehelper).

Flashing arrow finder worked.

Door finder didn't. Attached is one I wrote for a door that is west to east when closed and south to north when open, so you'll have to change the makecompasses. Also you have to click the red on the minimap to get right up to the door first.

NPC talking worked.

It clicked off screen a couple times, dunno if that was intentional.

A clothes randomizer shouldn't be too hard. Make a procedure that clicks a button with which button as a parameter, case whichbutton of, and then have x and y be a random point with the corresponding button. Then call that a random number of times for each button.

Can't remember much else, I may make another character later and test again.

solarwind
11-07-2006, 07:15 PM
Haven't run it yet, but break up into procedures/functions more, easier to follow the main loop (well it's not a loop in a tut runner, the begin end. with a '.' and not ';' if you know what I mean).

Will edit once I make an account and test.

Thanks.

Wizzup?
11-07-2006, 07:46 PM
procedure ContinueClick;
begin
Sleep(1000 + Random (100));
MMouse(306, 448, 100, 3);
Sleep(1000 + Random (100));
GetMousePos(x, y);
Sleep(1000 + Random (100));
ClickMouse(x, y, True);
Sleep(1000 + Random (100));
end;


ClickToContinue;

Please, do not use ClickMouse. ;)
Instead of MMouse and ClickMouse, use :


procedure Mouse(mousex, mousey, ranx, rany: Integer; left: Boolean);



function FindAndClickText(text1 : String) : Boolean;
begin

if (FindNpcChatText(text1)) then
begin
ContinueClick;
Result := True;
end;

end;

Hmm OK, I recommend using


If FindNPCChatText(Text) Then ClickToContinue;


Now with all this knowledge, you can change this


procedure MMFindYellowArrow;
begin

FindColorSpiralTolerance(x, y, 11795966, 565, 0, 723, 162, 25);
Sleep(1000 + Random(50));
MMouse(x, y, 5, 5);
Sleep(200 + Random(50));
ClickMouse(x, y, True);
Sleep(500 + Random(50));

end;

To


procedure MMFindYellowArrow;
begin
If FindColorSpiralTolerance(x, y, 11795966, 565, 0, 723, 162, 25) Then
Mouse(x, y, 5, 5,True);
end;

Because FindColorSpiralTolerance is a boolean, you can use it this way.

An OK start, try to get more familiar with SCAR functions. (the SRL manual.chm helps!)

solarwind
11-07-2006, 09:09 PM
Thankyou! I know, I need to use SRL functions. I'll do all of that. I also went through the tutorial manually and made a precise todo, making it easier to script.

//- =======To Do List=====================================
//- use tinderbox with logs to light a fire
//- hint: you gaind some experience
//- click the flashing stats (gametab(2);)
//- hint: here you will see how good your skills are
//- flashing arrow points to survival expert, click on her
//- says: bellies
//- click to continue (bellies)
//- click to continue (gives you a net)
//- find the huge blinking arrow point to the fishing spot and click there (uptext: net fishing spot)
//- hint: now you have caught some shrimp, lets cook it
//- cut tree, make fire, use shrimp on fire.
//- hint: you get some logs
//- light fire
//- use shrimp with fire
//- hint: you have just burnt your first shrimp
//- catch more shrimp
//- use shrimp with fire
//- hint: recap
//- sleep(2000)
//- find blinking arrow in mm and go there
//- sleep(5000)
//- find blinking arrow in ms and open gate color(342881) uptext: (Open Gate)
//- find blinking mm arrow and go there
//- sleep(7000)
//- find blinking arrow in ms and open door color(801877) uptext: (Open Door)
//- hint: Talk to the chef indicated. He will teach you the more advanced aspects of Cooking
//- find the yellow dot in mm and go there
//- find chef color(16448251) uptext(Talk-to Master Chef)
//- says: truly (clicktext: truly - or king)
//- says: know how clicktext
//- says: hahah you call that cooking? clicktext(log fire)
//- says: clicktext(music)
//- says: gives you some stuff clicktext(gives)
//- hint: This is the base for many meals
//- mix flour and water (Use Pot of Flour) (Use Bucket of Water)
//- hint: now you have made dough, you can cook it
//- use dough with Range color(793302) or use blinking arrow on ms
//- hint: Well done! first loaf of bread
//- click music gametab
//- hint: music that is played
//- find mm blinking arrow, find ms blinking arrow
//- open door color(935008) Open Door
//- hint: feelings
//- open gametab emots and click on something
//- hint: short distance - (run) setrun(true)
//- hint: Now that you have the run button turned on, (energy)
//- find blinking RED arrow on mm and click color(255) sleep(5000)
//- again find blinking RED arrow on mm and click color(255)
//- now find blinking yellow arrow on mm and then ms
//- open door color(667717) Open Door
//- hint:Talk with the Quest Guide. He will tell you all about quests.
//- find blinking yellow arrow on mm and then ms
//- talk wiht quest guide color(1981711)- a nice green colour (Talk-to Quest Guide)
//- clicktext(quests)
//- hint: open the Quest Journal
//- gamtab(3)
//- hint: talk to questguide again, for explanation
//- says: Now you have the journal open, I'll tell you a bit about it (clicktext(not started))
//- says: start a quest ... finished ... complete
//- says: easy to find
//- says: beads
//- says: caves ... under ... house
//- find blinking yellow arrow on mm then ms
//- Climb-down Ladder (color(201519)) we may have to change view angle if not found
//- hint: weapon
//- set mm north, click south
//- find yellow arrow on mm then ms
//- find mining instructor who has a nice unique purple head (6234714) Talk-to Mining Instructor
//- says: you by
//- says: can call me
//- says: name is Dezzick ... miner by trade ... prospect
//- hint: mineable
//- find yellow blinking arrow on mm then ms
//- find a rock grey(6447981)
//- right click and hit prospect
//- sleep(5000)
//- says: contains (tin)
//- find yellow arrow agin and prospect color(1252135)
//- says: contains (copper)
//- find yellow arrow again and talk to dezzick
//- says: inside
//- says: to make bronze
//- says: have a go at mining some tin and copper
//- says: gives you a bronze pickaxe
//- hint: simple really
//- mine some copper and tin
//- find yellow arrows and mine
//- says: manage ... some
//- says: manage ... some
//- find yellow arrow near the furnace
//- use tin/copper with the furnace color(921103) or just move to yello arrow
//- sleep(2000)
//- says in other text (click anywyere in chat box)
//- find yellow arrows and talk to Mining Instructor
//- says: out of
//- says: needing
//- says: gives
//- hint: smith you'll need a hammer
//- find yellow arrows to find anvil color(3223863)
//- use bronze bar with anvil Bronze Bar -> Anvil
//- click 35,61 to make dagger
//- click anywhere in chatbox
//- hint: move on
//- find yellow arrows
//- Open Gate color(8092551)
//- hint: combat with
//- find yellow arrows
//- Talk-to Combat Instructor color(5933249) skin or color(330861) for red necklace
//- says: name's
//- says: care
//- says: the greatest
//- says: teaching you to wield a weapon
//- hint: access to a new interface
//- gametab(5)
//- hint: have equipped
//- click the show equipment stats 653, 431
//- hint: wearing
//- click dagger Wield Bronze dagger
//- hint: armour
//- close box, click 486, 41
//- find yellow arrows and talk to combat instructor
//- says: butter
//- says: gives you a
//- gametab(5)
//- find dagger, right click, unequip
//- gametab(4)
//- click on Wield Bronze sword
//- click on Wield Wooden shield
//- gametab(1)
//- hint: type of attack
//- find yellow arrows
//- setrun(true)
//- go there and Open Gate color(7960965)
//- hint: attack the rat
//- find the yellow arrows or rat color (5594718) (which is better in this case)
//- uptext Attack Giant rat
//- Sleep(20000)
//- find Open Gate color(7960965)
//- find yellow arrows and talk to combat dude again
//- says: killed
//- says: better at this ... thought
//- says: ranged
//- says: gives you some
//- gametab(4)
//- click on arrows and shortbow
//- Attack Giant rat color (5594718)
//- Sleep(20000)
//- find red arrow on mm
//- find ladder Climb-up Ladder color(10312)
//- hint: front of the building
//- find and click on yellow arrows
//- find bank booth Use Bank booth or just click under arrow color(3616824)
//- says: access your bank account
//- click 257, 397 for yes
//- hint: store stuff
//- sleep(3000)
//- close by clicking on 487, 40
//- find yellow arrows
//- Open Door color(801105)
//- Talk-to Financial Advisor color(16514044)
//- says: are you
//- says: how to
//- says: money then
//- says: Quite
//- says: trading
//- says: still
//- says: quests
//- says: skills
//- says: covers
//- find yellow arrows
//- find Open Door color(801877)
//- northlock the mm and click 656, 155
//- find yellow arrows and click
//- find the monk Talk-to Brother Brace color(1719397)
//- says: brother
//- says: you all about Prayer
//- gametab(6)
//- sleep(3000)
//- find the monk Talk-to Brother Brace color(1719397)
//- says: Prayer list combat
//- says: will drain your
//- says: drop bones when
//- says: also the community officer
//- gametab(8)
//- sleep(2000)
//- gametab(9)
//- find the monk Talk-to Brother Brace color(1719397)
//- says: both menus open
//- says: remove people from
//- says: friends list shows
//- says: there rules on in-game behaviour?
//- says: you should read the rules of conduct
//- says: always try to be curteous to other
//- says: being abusive or causing trouble
//- says: thanks ... bear that in mind
//- find and click yellow arrows
//- Open Door color(1266549)
//- northlock and click 653, 129 - 670, 102
//- find and click yellow arrows
//- Talk-to Magic Instructor color(8144647)
//- says: Hello
//- says: spell list
//- sleep(1000)
//- gametab(7)
//- says: offensive spell called
//- says: gives you five
//- click 589, 227
//- Cast Wind strike -> Chicken (level-3)
//- Talk-to Magic Instructor color(8144647)
//- says: of runes when you leave
//- click yes to go to mainland!!!! 258, 398
//- click continue for 4 or 5 times
//- logout!

lardmaster
11-07-2006, 11:24 PM
are you using text detection like i suggested?

solarwind
11-07-2006, 11:31 PM
are you using text detection like i suggested?

I don't understand. Where did you suggest?

lardmaster
11-07-2006, 11:45 PM
remember that list i sent you? that was text to detect to determine where you are in tutorial.

IronTeapot
11-07-2006, 11:59 PM
You can feel free to use the following code to generate the random look of a character.


program designCharacter;
{.include srl/srl.scar}

var i,a,iMax,yc: Integer;
lookMax: array [0..11] of Integer;

procedure setlookMax;//declaring the different amount of possibilities for each character attribute
begin
lookMax[0]:=8
lookMax[1]:=7
lookMax[2]:=7
lookMax[3]:=5
lookMax[4]:=2
lookMax[5]:=4
lookMax[6]:=2
lookMax[7]:=11
lookMax[8]:=15
lookMax[9]:=15
lookMax[10]:=5
lookMax[11]:=8
end;

procedure makeCharacter;//randomly clicking each physical attribute
begin
setlookMax;//declares the array values.
yc:=90
a:=0
while (a < 7) do
begin
iMax:=Random(lookMax[a])
for i:= 0 to iMax do
begin
Mouse(165,yc,2,2,true)
Wait (50 + Random (250));
end;
yc:=yc+35
a:=a+1
end;
end;

procedure colorCharacter;//randomly clicking each color attribute
begin
setlookMax;
yc:=95
for a:=7 to 11 do
begin
iMax:=Random(lookMax[a])
for i:= 0 to iMax do
begin
Mouse(467,yc,2,2,true)
Wait (50 + Random (250));
end;
yc:=yc+35
end;
end;

procedure designCharacter;//does the complete look of your character and clicks accept
begin
makeCharacter;
colorCharacter;
Mouse(260,280,5,5,true) //clicks accept
Wait(1000+Random(500))//wait to be sure the design screen is gone( cause a testing function here if you like to make one)
end;


I used arrays instead of just randomly clicking on the arrows a bunch of times because it stops extra clicking( such as going through the same color/style over and over), and allows the user to set some boundaries such as if they didn't want the odd colors that appear near the end, or if they didn't want a type of clothes near the end of the package.

If you use it, just give a bit of rep, and include some credit :)

Mafi@
11-08-2006, 01:53 AM
dammm boi... exactly wut i want. keep working at it. mad respect for u man.

YoHoJo
11-08-2006, 02:03 AM
you should release it when its COMPLETELY done for a bigger impression =) good job so far
id suggest making a group of testers to everyone cant see and when your all done release it and everyone will be like DAMN! =)

Pretty good so far. just go those changes every suggested

solarwind
11-08-2006, 03:18 AM
Dude, Iron, thanks a lot! I need to give credit to a lot of people here. Everyone's great! Ok, since I want to be able to start from anywhere in the tutorial (lets say I was doing it manually and got bored halfway and wanted my script to do the rest...) So far, in the incomplete alpha posted, it does that, but it lags every time some procedure is called because I'm constantly checking for text to see where I am in the tutorial.

I figured: if I could make a procedure that checks where I am inside theh tutorial once at the start of the script, save that as a number (oh, lets say 50 for half way through) then I can store that number in a variable and check for that number every time I call that procedure.

This would make the script way way way faster and more efficient. So, for example

var number : Integer;

procedure wherearewe
begin
...
...
therefore... number := 50 because we detected that we're halfway
end;

if number = then
begin
talk to guide
end;

if number = 2 then
begin
talk to survival expert
end;

if number = 3 then
begin
talk to chef
end;
.... you get the point.

I hope this works. I'll post another alpha as soon as I implement this.

YoHoJo
11-08-2006, 03:28 AM
why not just post the completed product instead of just adding little chunks and making new threads for it?
Just ask for help on msn.
or post a small section o fthe script in help section
then slowly but surely you will have a complete product that uber pwns tut island yay!

Boreas
11-08-2006, 03:31 AM
The number thing is a good idea. This way number will only increase after the corresponding procedure is successfully completed. For now at least, I would suggest letting the user figure out the place. Get the basics done, and it will be useful for testing and writing. Making it figure out where you are could be a nice add on feature later on, but would waste time at the moment. It would also be easier to do this after you finish all the procedures.

solarwind
11-08-2006, 03:36 AM
The number thing is a good idea. This way number will only increase after the corresponding procedure is successfully completed. For now at least, I would suggest letting the user figure out the place. Get the basics done, and it will be useful for testing and writing. Making it figure out where you are could be a nice add on feature later on, but would waste time at the moment. It would also be easier to do this after you finish all the procedures.

Sick! I'll do that. Yeh, right now I'll try and get the basics done first and make sure it can run through from just start to end first. Good idea.

Boreas
11-08-2006, 05:35 AM
Perhaps have something like a

const
StartingPoint=0;

var
CurrentPoint:integer;

MainLoop
CurrentPoint:=StartingPoint;

Then each procedure as if CurrentPoint=blahblah, and you could even make them repeat until they work properly, and when they do work properly CurrentPoint:=CurrentPoint+1.

(Having the const and var means ease of setup with const plus the ability to increase the value with var. It also means you can stick a WhatPointAmIAt procedure in place of the CurrentPoint:=StartingPoint at a later time.)

solarwind
11-08-2006, 05:49 AM
Perhaps have something like a

const
StartingPoint=0;

var
CurrentPoint:integer;

MainLoop
CurrentPoint:=StartingPoint;

Then each procedure as if CurrentPoint=blahblah, and you could even make them repeat until they work properly, and when they do work properly CurrentPoint:=CurrentPoint+1.

(Having the const and var means ease of setup with const plus the ability to increase the value with var. It also means you can stick a WhatPointAmIAt procedure in place of the CurrentPoint:=StartingPoint at a later time.)


Yeah, that's exactly what I was going to do, but instead of incrementing current point, I thought of actually sticking in a number at first, so I would know exactly what was going on.

Damn, SCAR should have more debugging functions like variable watches and step through.

Also, it'd be cool to have an autoindenter.

lardmaster
11-08-2006, 09:22 PM
you still havent answered my question, are you using text detection to figure out where you are in the tut, like i sugested on PM?

solarwind
11-08-2006, 11:31 PM
you still havent answered my question, are you using text detection to figure out where you are in the tut, like i sugested on PM?

Ya man, that was my original approach, but I ditched that idea because it's too slow. It lags a lot and that's not what I want. Remember, another key to programming is efficiency. I made a better approach. Detect only once at the start and store that as an integer and retrieve the value from the integer whenever I call a procedure. That's way more efficient. But I wont put in any failsafes until I can complete the entire tutorial island at least once.

Hey321
11-09-2006, 12:04 AM
Hey, Solar i have an idea, although i'm not a very good scripter i was thinking, why not make it at the start to check if the starter is on the screen and if it isn't then click the MIDDLE of the arrow. As when i tried it i had to move it back to when the guy was on the screen.

solarwind
11-09-2006, 12:10 AM
Hey, Solar i have an idea, although i'm not a very good scripter i was thinking, why not make it at the start to check if the starter is on the screen and if it isn't then click the MIDDLE of the arrow. As when i tried it i had to move it back to when the guy was on the screen.

Yeah, I fixed that today.

IronTeapot
11-09-2006, 12:18 AM
Ok a few problems. You MUST have HighestAngle; in at the start. It didnt raise the angle, and when the red guide walked behind the wall. the program sorta froze up a bunch. Then the guide walked all the way to left side and my character talked to him there. when it was time to find the door, it couldnt be found, froze for a bit, thought it found the door, and started looking for the survival guide. Having HighestAngle is essential for having the most viewing area. if you need it back down just use LowestAngle; LA isnt in srl, but just take HA, and edit it to use the down arrow. Heres my version of it. Just add it to the bottom of login.scar



{************************************************* ******************************
procedure LowestAngle;
By: IronTeapot, Based on Starblaster100's HighestAngle
Description: Makes the Screen at the lowest angle it can be
************************************************** *****************************}
procedure LowestAngle;
begin
if (Loggedin) then
begin
keydown(40);
sleep(1000 + random(100) + random(200));
keyup(40);
wait(1000 + random(100));
end;
end;


Also instead of using



ClickToContinue;
Sleep(500);
ClickToContinue;


all those times, you can just use TalkToRand; The main loop is also quite messy. Instead, try having it do each thing in a procedure. (each guide+ related actions, Walking to a guide, doing different things for the guide) then you just call to them in your main loop.

begin
findguide;
talktoguide;
findandexitdoor;
gotosurvival;
talktosurvival;
cutlogs;
burnlogs;
catchfish;
etc...

this way you can have it repeat in the procedure if it fails to light a fire, or burns a fish.
EX:
cutlog
burnlogs
if not(burnlogs)then (move somewhere and (burnlogs))

you can also call your cut log and burn log procedures again when you have to cook the fish ((and call it once again as well as the catchfish procedure) if you burn the shrimp)

You can shorten your finddtm lines with the following from dtm.scar

function FindInvDtm(var x, y: Integer; DTM: Integer): Boolean;
By: Dankness
Description:
Finds Inventory DTM.

Lastly instead of using all the sleeps when your walking, just use MouseFlag(x,y,#,#) instead of just mouse. This way it will wait until the flag is gone, without having all the extra Wait lines.

But yeah. once you shorten up alot of the current version, mainly the clicktocontinues into talk to rand. it will be alot better. and eaiser on the eyes.

Boreas
11-09-2006, 12:28 AM
Check out the banker I posted somewhere, it looks for the bank symbol, and if it cant find it, then it rotates the screen til it can, then it clicks the bank symbol. Then it looks for the yellow banker dot, and if it cant then it rotates the screen until it can, then it looks for the bank booth. When something doesn't work, theres a;ways something else it can do, like going up a step, or trying again. Or logging out and in so that the banksymbol changes position etc. You want stuff like this for every possible outcome so that it doesn't freeze or continue on without doing something like Iron said.

solarwind
11-09-2006, 12:52 AM
Ok a few problems. You MUST have HighestAngle; in at the start. Done. It didnt raise the angle, and when the red guide walked behind the wall. the program sorta froze up a bunch. Then the guide walked all the way to left side and my character talked to him there. when it was time to find the door, it couldnt be found, froze for a bit, thought it found the door, and started looking for the survival guide. Having HighestAngle is essential for having the most viewing area. if you need it back down just use LowestAngle; LA isnt in srl, but just take HA, and edit it to use the down arrow. Heres my version of it. Just add it to the bottom of login.scar



{************************************************* ******************************
procedure LowestAngle;
By: IronTeapot, Based on Starblaster100's HighestAngle
Description: Makes the Screen at the lowest angle it can be
************************************************** *****************************}
procedure LowestAngle;
begin
if (Loggedin) then
begin
keydown(40);
sleep(1000 + random(100) + random(200));
keyup(40);
wait(1000 + random(100));
end;
end;


Also instead of using



ClickToContinue;
Sleep(500);
ClickToContinue;


all those times, you can just use TalkToRand; Ok, I did do that, but when I did, I figured it stops when it finds blue thext in the chat area. This was bad. It stopped when there was a blue title and the npc had more to say. I might try fixing that later. The main loop is also quite messy. Instead, try having it do each thing in a procedure. (each guide+ related actions, Walking to a guide, doing different things for the guide) then you just call to them in your main loop. Done.

begin
findguide;
talktoguide;
findandexitdoor;
gotosurvival;
talktosurvival;
cutlogs;
burnlogs;
catchfish;
etc...

Done.

this way you can have it repeat in the procedure if it fails to light a fire, or burns a fish.
EX:
cutlog
burnlogs
if not(burnlogs)then (move somewhere and (burnlogs))

Will do.

you can also call your cut log and burn log procedures again when you have to cook the fish ((and call it once again as well as the catchfish procedure) if you burn the shrimp) Done.

You can shorten your finddtm lines with the following from dtm.scar

function FindInvDtm(var x, y: Integer; DTM: Integer): Boolean;
By: Dankness
Description:
Finds Inventory DTM.

Done.

Lastly instead of using all the sleeps when your walking, just use MouseFlag(x,y,#,#) instead of just mouse. This way it will wait until the flag is gone, without having all the extra Wait lines.

Done.

But yeah. once you shorten up alot of the current version, mainly the clicktocontinues into talk to rand. it will be alot better. and eaiser on the eyes.

Gotcha.

Thanks a lot for all the help and feedback!!!

IronTeapot
11-09-2006, 01:04 AM
Right, i would get that problem with the blue text at the top of the chat box when i was writing a tutrunner. i just went in to the .scar that talktorand is in and made a procedure called talktorandtut. where i changed the box dimensions to start lower then where the blue text is. i lost it when i updated srl, but you can figure out how to make it. Cant wait to see the updated version :)

solarwind
11-09-2006, 01:55 AM
Right, i would get that problem with the blue text at the top of the chat box when i was writing a tutrunner. i just went in to the .scar that talktorand is in and made a procedure called talktorandtut. where i changed the box dimensions to start lower then where the blue text is. i lost it when i updated srl, but you can figure out how to make it. Cant wait to see the updated version :)

Yeah, I'm trying to fix that right now. I have another problem. What font would I use to read this text? (The bottom text in the chat window in the picture below).

http://img393.imageshack.us/img393/3205/tutorial1ne6.th.jpg (http://img393.imageshack.us/my.php?image=tutorial1ne6.jpg)

This is the exact same text that is used throughout the tutorial when you gain a level and so on. I am trying to find specific objects unique to the area, round off where I am, search deeper and so on. I need to know what text that is to do that.

IronTeapot
11-09-2006, 02:11 AM
I don't know the text, but it shouldn't be something that would cause too much problems, unless you actually want to level a bit on tut island. You can have a procedure as one of your fail safes like boreas was talking about. If you cant do something, try clicking in the chat box. Or maybe try using a dtm or a bitmap of some of the text.

Boreas
11-09-2006, 02:18 AM
The text looks like UpChars. I used the magnifier in paint and compared the k and the n.

solarwind
11-09-2006, 02:25 AM
The text looks like UpChars. I used the magnifier in paint and compared the k and the n.

Thanks. So how do I use one of the functions to find that text?

That is, what function would I use to
- Return the text in the text box as a string
- Check if my text matches or is inside that text

Boreas
11-09-2006, 02:34 AM
Check in Text.scar

function ClickText(txt:string;font,xs,ys,xe,ye:integer;left :boolean):boolean; | by Stupid3ooo

is useful

lardmaster
11-09-2006, 02:46 AM
or istextat

solarwind
11-09-2006, 02:54 AM
Edit: Screw the whereami procedure for now. I'll add that later.

solarwind
11-09-2006, 05:56 AM
Just realised something...

Part of the reason the script was screwing up was because the newly created characters don't default to very-bright. :duh:

Fixed that now.

Update: Script working better. (Added a firemaking failsafe, random character look picker and now can finish the chef.)

$anta
11-09-2006, 12:23 PM
It ain't looking very good dude?
Oh, well keep on going! :P

solarwind
11-09-2006, 05:42 PM
It ain't looking very good dude?
Oh, well keep on going! :P

That's a really old version. I removed it. The version I have now gets all the way up to the combat instructor. It's like 50% done. Still needs improvement. I got it through to the combat instructor, but sometimes, it just needs a nudge here and there, like, sometimes it tries to open a door and mis clicks and doesn't really open it (thinking that it had). All you have to do is quickly click the door before it continues from the sleep. I'll fix all that after I can get a character from start to lumby.