PDA

View Full Version : escort scripting



Outdrsyguy1
10-25-2007, 12:47 AM
I've been doing some escort quests but it's really a pain in the ass to use your maps to find your way between cities. I have all the travel scripts but i forgot the command to step through a script. that way i could just step through each time the traveller follows me and that would work okay i think. Any ideas what the command is or better ideas for getting the little bastard between towns?

AestheticDeath
10-25-2007, 01:30 AM
just edit your travel scripts and have a second copy of each with a waitfor arrives following you. Or whatever it says.

Sthrockmorton
10-25-2007, 01:54 AM
Or do them by hand and stop crying. Besides, it helps you learn the lay of the land...

Kontii, your Adventurer's Guild information is as follows:

You have succeeded at the Protect Traveller task 561 times and failed 27 times.

FinisWolf
10-25-2007, 02:27 AM
Personally, I love the escort tasks. Of course I guess it helps to have the trails memorized. It's not like that is hard anyway. Seriously, Mule to Vaalor only takes me 25 to 35 minutes walking anyway and the rewards for that trip rock.

A note, the waitfor will function, so well in fact, the escortee will arive, you will leave and the escortee will be ambushed. Think twice on how to write that script.

Kontii, I have to ask, how do you fail at the escort tasks? I did twice. Once was when it first came out and I cast 501 at my escortee on accident, meant to cast 401. The other time I tried using the LICH escort script, and it functioned as I described above.

Finis

Sthrockmorton
10-25-2007, 10:25 AM
Kontii, I have to ask, how do you fail at the escort tasks? I did twice. Once was when it first came out and I cast 501 at my escortee on accident, meant to cast 401. The other time I tried using the LICH escort script, and it functioned as I described above.

Finis

Well, I started them when I was about 60 trains, from Icemule (where that was all I could get), and just did them continuously, so occasionally (1 in 20 times) I'd just get in the groove of walking and not even notice the ambushers.
-Or I get caught up on OOC or the thought net and not be paying attention to the trail.
-Or armor hindrance would kick in for 2-3 casts in a row (11%), and they would hit my traveller before I could e-wave.
-Or I'd run into Asarious' (capped) freaking bandits and while trying to kill them, one would wander off into the room my traveller was in, at that point I was hopeless <------ happened MULTIPLE times, which makes me anxious for the bandits 2.0 update, although I imagine that's a fairly LOW priority project.
-I also had 2 or 3 failures where someone else was killing a (TR)oll in a room and attacked my (TR)aveller, I won't mention names since they were honest mistakes on their end, heh.
-I also won't lie, before I had e-wave as a rogue, I had a hard time subduing 3-4 opponents before one could get an attack off on my traveller, with no area effect manuevers or spells.

But, like I said, those were only 1 out of every 20 trips

Sheesh, I just realized how defensive this post looks, but then again, I guess nobody likes failure...

Celephais
10-25-2007, 11:19 AM
A note, the waitfor will function, so well in fact, the escortee will arive, you will leave and the escortee will be ambushed. Think twice on how to write that script.
I've been working on something similar to this except with the child escorts, planned to do travellers next and was wondering if it was just a matter of the waitfor noticing the traveler and moving on and not noticing the bandits, or was it that the traveler came, and the bandits didn't come until after a pause/out of the room.

I'm also considering a peer back addition...

thefarmer
10-25-2007, 11:50 AM
I stopped doing them when the escort would come into the room I'd go into the next, and the bandits would come and and immediately wtfpwn the escort in less than a second.

I never had a problem when they jumped out when the escort entered the room after I did, just after I left.

Celephais
10-25-2007, 12:18 PM
Hmm... so as someone who isn't scripting, what do you do to prevent this? Being relatively fast I would imagine it's possible for me to mess up not even scripting... Finis/Kontii, do you wait a few taps before moving on every room to ensure it's not the ambush room? Do you peer back?

I've only done a few escorts and I just didn't like the length of time they take.

Beguiler
10-25-2007, 01:29 PM
Would putting a short pause after each 'waitfor arrives' work to prevent the bandits jumping after you left? I'm assuming you (I) would be watching the script anyway, so could pause it, fight the baddies, and continue on.. What are the downsides?

ie:

move sw
waitfor arrives
pause 3
.
.
.

Celephais
10-25-2007, 01:43 PM
Not the way you wrote it there... unless the "..." was replaced with a look and a check for bandits.

More like...

Bandit:
<fight script>
goto move%counter%

move56:
move sw
waitfor arrives
%counter%+1 (whatever this is I forget)
match bandit bandit
pause 3
goto move%counter%

move57:
move sw
...

ELO
10-25-2007, 02:06 PM
Finis/Kontii, do you wait a few taps before moving on every room to ensure it's not the ambush room? Do you peer back?


When they ambush, they ambush right as the traveller comes in, so you can't move off without seeing the ambush. So, no, you don't have to wait before moving on, or peer back.

You have succeeded at the Protect Traveller task 464 times and failed 13 times.

Sthrockmorton
10-25-2007, 05:43 PM
When they ambush, they ambush right as the traveller comes in, so you can't move off without seeing the ambush. So, no, you don't have to wait before moving on, or peer back.

You have succeeded at the Protect Traveller task 464 times and failed 13 times.

Just put in surefire failsafes for you to see it. I.E. Highlight the bandit/mugger/thief entry lines in something you won't miss. Other than that, its all about being cautious. An Icemule/Landing, Icemule/Solhaven, or Landing/Solhaven trip only takes me like 7-15 mins (depending on which one), so they're not all that time consuming.

The only places I force myself to pause for about 3-4 seconds is where there are ice patches in the next room. Nothing is worse than this scenario:

1)Kontii moves west...
2)Traveller comes.
3)Bandits arrive.
4)Kontii's fingers act quicker than his mind and he moves west again :(
5)Kontii tries to immediately go back to the traveller to protect him, slips and falls comically on his rear. RT 6 seconds...
6)Kontii fails the task :'(

Aside from that, there's not a whole lot of science involved in how I escort. Just pay attention as you walk through. Although that's probably why I fail one in twenty. There's plenty of room for human error.

Celephais
10-25-2007, 05:48 PM
.. Simply enough after waitfor arrives you could just

match bandit bandit
match keepgoing obvious
look
matchwait

That and I thought they fixed 410 and moving on.

ELO
10-25-2007, 05:49 PM
As far as scripting is concerned, couldn't capped spell-casting a-holes just do this?

Not anymore. They changed it so that the bandits chase you down if you just e-wave and move on. :(

The Ponzzz
10-25-2007, 05:52 PM
People use maps? Shit, who doesn't know the way from each town by now!?

Sthrockmorton
10-25-2007, 06:13 PM
Not anymore. They changed it so that the bandits chase you down if you just e-wave and move on. :(

Damn, maybe I'll start doing escorts again. I got so sick of running into Asarious' bandits and having to wait 30 minutes to finish my task.

ELO, were you one of those a-holes? Tsk Tsk ;)

ELO
10-25-2007, 09:27 PM
Damn, maybe I'll start doing escorts again. I got so sick of running into Asarious' bandits and having to wait 30 minutes to finish my task.

ELO, were you one of those a-holes? Tsk Tsk ;)

Negative. I had to kill all my bandits. :(

Though, had I thought to just e-wave them and run, I would have been.

FinisWolf
10-26-2007, 12:26 AM
Well, I started them when I was about 60 trains, from Icemule (where that was all I could get), and just did them continuously, so occasionally (1 in 20 times) I'd just get in the groove of walking and not even notice the ambushers.
-Or I get caught up on OOC or the thought net and not be paying attention to the trail.
-Or armor hindrance would kick in for 2-3 casts in a row (11%), and they would hit my traveller before I could e-wave.
-Or I'd run into Asarious' (capped) freaking bandits and while trying to kill them, one would wander off into the room my traveller was in, at that point I was hopeless <------ happened MULTIPLE times, which makes me anxious for the bandits 2.0 update, although I imagine that's a fairly LOW priority project.
-I also had 2 or 3 failures where someone else was killing a (TR)oll in a room and attacked my (TR)aveller, I won't mention names since they were honest mistakes on their end, heh.
-I also won't lie, before I had e-wave as a rogue, I had a hard time subduing 3-4 opponents before one could get an attack off on my traveller, with no area effect manuevers or spells.

But, like I said, those were only 1 out of every 20 trips

Sheesh, I just realized how defensive this post looks, but then again, I guess nobody likes failure...

I totally spaced you were a rogue. To me those are damn good numbrs for a rogue to be honest. BTW congrats on 600 escort tasks, from what I have heard a ton of folks let those go as they thing they are too hard and or tedious. I personally love them (with my chars that can drop multiple targets in one cast, the ones that don't have that ability, I don't even try.).

Finis

FinisWolf
10-26-2007, 12:30 AM
I've been working on something similar to this except with the child escorts, planned to do travellers next and was wondering if it was just a matter of the waitfor noticing the traveler and moving on and not noticing the bandits, or was it that the traveler came, and the bandits didn't come until after a pause/out of the room.

I'm also considering a peer back addition...

The problem as I see it is that the waitfor will wait for the traveller to arrive, and as soon as that criteria is met your char will move.

There needs to be a look again or some other check to be sure you were not ambushed, but that can get tricky, seeing as the script met criteria 1 (waiting for the escortee).

There are many other script writers alot more adept at scripting then I that probably would be able to do something even better then a second look. My guess is to use LICH or something similiar to have two scripts running, one for the escort task, and the other to take care of being ambushed (stopambush), but I am not sure how the stopambush script would go about pausing the escort script.

I would be interested in hearing the solution though. Or solutions.

Finis

FinisWolf
10-26-2007, 12:40 AM
Hmm... so as someone who isn't scripting, what do you do to prevent this? Being relatively fast I would imagine it's possible for me to mess up not even scripting... Finis/Kontii, do you wait a few taps before moving on every room to ensure it's not the ambush room? Do you peer back?

I've only done a few escorts and I just didn't like the length of time they take.

It is my experience that the ambushers leap from hiding simultaneously (or very close to) the arrival of the escortee.

The problem I see here is that this is so close together, without that second look, or a second script running, your script will miss it and move, when you need to stay and battle.

There have been times that I have moved out of the room and had to return to defeat the ambushers. So the answer is no, I do not pause at all. It's simply based on my hand eye coordination speed.

I have never had my escortee get ambushed after I left a room either so I see no reason for a peer back command.

Finis

FinisWolf
10-26-2007, 12:43 AM
Just put in surefire failsafes for you to see it. I.E. Highlight the bandit/mugger/thief entry lines in something you won't miss. Other than that, its all about being cautious. An Icemule/Landing, Icemule/Solhaven, or Landing/Solhaven trip only takes me like 7-15 mins (depending on which one), so they're not all that time consuming.

The only places I force myself to pause for about 3-4 seconds is where there are ice patches in the next room. Nothing is worse than this scenario:

1)Kontii moves west...
2)Traveller comes.
3)Bandits arrive.
4)Kontii's fingers act quicker than his mind and he moves west again :(
5)Kontii tries to immediately go back to the traveller to protect him, slips and falls comically on his rear. RT 6 seconds...
6)Kontii fails the task :'(

Aside from that, there's not a whole lot of science involved in how I escort. Just pay attention as you walk through. Although that's probably why I fail one in twenty. There's plenty of room for human error.

Exactly.

Finis

FinisWolf
10-26-2007, 12:47 AM
People use maps? Shit, who doesn't know the way from each town by now!?

I think that is the point that Kontii and I are making. There is no need for maps, and hell, unless we get mind numbed, we even probably know exactly where each ice path is. All in all, a script won't improve the speed a helluva-lot.

For me I would rather just do it, instead of spending an hour writing the script.

Granted given time, you would get your hour back.

Finis

Drew
10-26-2007, 01:09 AM
You have succeeded at the Protect Traveller task 92 times and failed 4 times.


I failed the very first one, the other three were half-krolvin travelers that I killed.

Sthrockmorton
10-26-2007, 03:15 AM
I totally spaced you were a rogue. To me those are damn good numbrs for a rogue to be honest. BTW congrats on 600 escort tasks


Appreciate the good words Finis. Always nice to get recognized when you put in the time...



I failed the very first one, the other three were half-krolvin travelers that I killed.

Haha, I like your style...

Outdrsyguy1
10-26-2007, 10:33 AM
so does anyone know the command to step through a paused script in stormfront?

FinisWolf
10-26-2007, 10:56 AM
"step through" ?

I am not sure what you mean.

It sounds like you know how to pause the script, and if you know how to do that, you likely know how to unpause it.

Could you articulate your question differently please?

Finis

Outdrsyguy1
10-26-2007, 12:00 PM
i'm sorry, You can pause the script using shift-escape and unpause it by hitting escape. You have to do it over and over very fast if you just want one command and if you screw up and hit escape 2 times you cancel the script. I know there is a command to cause the script to advance one line and execute the next command. In other words your travel script would move one room at a time everytime you entered the "xxxstepcommandxx". It would be an easy way to use a travel script and advance one room at a time whith a traveller in tow withough having to re-write the script.

main:
goto nextroom
put say whew, i made it!
goto main

you would hit "step command" and go to next room
then when you type "step command" next time you would say whew, i made it!
then next "step command" would take you to next room.

I know there used to be a command in the wizard FE for it and i assume it's the same, i just cant' remember it.

TheEschaton
10-26-2007, 12:16 PM
You can just put a waitfor after every step.

waitfor xxxstepxxx

would just wait for you to input 'xxxstepxxx' or for the game to output it. The key is, obviously, to match on something that'll never be output by the game, and won't cause you to do any action in game.

-theE-

Celephais
10-26-2007, 12:30 PM
Yeah just do what TheE said with something like exp or info or mana commands... maybe even something like "title show" command... what's that output?

waitfor your current title is

Akaylas
10-26-2007, 05:22 PM
The command yes is made specifically for this purpose. Not outside description, but gives a line to you.

For the record, non-block programming sucks.

Edit: Oh, there are certain verbs, when performed on items that are not action for said verb, which will halt script computation (execution?). For instance, I have a zest-test script. When it gets to twist, typically it pauses simply because most items are 1) not scripted for twist and 2) Do not have an error message for twist (You can't do that!). So since there's no output from the command, stormfront doesn't know how to interpet the command is done, or at least I think that's why it does that.

FinisWolf
10-27-2007, 01:01 AM
Yes and More are the two that I utilize for things like this.

Finis

Shaelun
10-28-2007, 12:22 AM
There are many other script writers alot more adept at scripting then I that probably would be able to do something even better then a second look. My guess is to use LICH or something similiar to have two scripts running, one for the escort task, and the other to take care of being ambushed (stopambush), but I am not sure how the stopambush script would go about pausing the escort script.

I would be interested in hearing the solution though. Or solutions.

Finis

In one script:


# whatever stuff it's doing would go here...

pause_script "escort"

# insert code to wait until the journey should continue...

unpause_script "escort"

# and back to doing stuff...

If you don't provide a script name to pause when using pause_script, the script using that command gets paused. unpause_script doesn't work that way, of course, since a paused script is exactly that -- paused and unable to do anything.

Unfortunately these only work on scripts Lich is currently running, so you can't pause a script SF is executing. It'll work fine on said script if you have Lich run it instead, though.

TheEschaton
10-28-2007, 02:16 AM
Hmmm, so theoretically, you could have an escort script which pauses ;goto?

Although I imagine there's some diagnostic stuff in the beginning that you shouldn't be pausing on since it won't output anything, eh?

Shaelun
10-28-2007, 03:08 AM
The goto script shouldn't have any problem at all being paused and unpaused randomly. I'm not sure what you mean by "diagnostic stuff," but if you're talking about the map-loading the first time it runs, that should be fine too.

While a script is paused, it still gets "handed," every game line Lich witnesses -- it just can't actually look at them until it's unpaused. They'll sit there for the script to check later, so it won't miss seeing something that it might be waiting for.

TheEschaton
10-28-2007, 12:32 PM
So if I made an escort script which merely ran the goto script with pausing, how would I pause it after every command?

-TheE-

Shaelun
10-28-2007, 01:27 PM
Well... I guess you could make a copy of goto.lic called gotopause.lic or something, and down where the actual moving takes place, stick the pause_script line in.

That's gonna cause a lot of scroll though ("xxx has been paused, xxx has been unpaused, so on and so on,"), so you'll probably want to stick a toggle_echo command in right before and right after the pause_script line. That way you'll suppress the pausing/unpausing stuff.

Play around with it. It's a little messy, but it'll work if you tinker with it.

FinisWolf
10-28-2007, 07:50 PM
You could also get rid of some of those lines by squelching the lines that are not necessary. Just a thought.

Finis

Celephais
10-29-2007, 12:50 AM
Finally got around to doing this... 9:32.53 (subtracted time to fight) to run from Ta'Ill to Zul scripted with traveller in tow. Ideal conditions, hasted over RT areas, no "relooking" or anything, 750 exp... I'm okay with doing it if I'm not on gift, but on gift I'll likely turn it down for a quicker turnaround.

What kind of other traveller types can I expect? I got traveller and scribe... any others? What about the bandits, are they always of the noun "rogue", "highwayman", and "bandit"?

ELO
10-29-2007, 08:57 AM
Finally got around to doing this... 9:32.53 (subtracted time to fight) to run from Ta'Ill to Zul scripted with traveller in tow. Ideal conditions, hasted over RT areas, no "relooking" or anything, 750 exp... I'm okay with doing it if I'm not on gift, but on gift I'll likely turn it down for a quicker turnaround.

What kind of other traveller types can I expect? I got traveller and scribe... any others? What about the bandits, are they always of the noun "rogue", "highwayman", and "bandit"?

Traveller, scribe, magistrate, official... um?

Rogue, highwayman, bandit, thug... brigand?

Danical
10-29-2007, 04:14 PM
I've got a script that works splendidly but I use open 1030 to clear the room out so the bandits don't axe my escort.

I've come very close to killing a few people that way.

I'll stick to Nelemar for the easy fry.

ELO
10-29-2007, 04:52 PM
Traveller, scribe, magistrate, official... um?

Rogue, highwayman, bandit, thug... brigand?

Outlaws.

Celephais
10-29-2007, 07:14 PM
yeesh... add mugger to that list.

DoctorUnne
06-30-2009, 05:17 PM
I've got a script that works splendidly but I use open 1030 to clear the room out so the bandits don't axe my escort.

I've come very close to killing a few people that way.

I'll stick to Nelemar for the easy fry.

Did a search for escort scripts and this was the only decent thread I could find.

Dan is this a SF script? If it is could you send it to me please? I'd have to change the fighting parts since I'm an ambushing rogue but is it worth trying to script?

Or will it be too hard to script and I should just stick to doing escorts manually? How much time does the script save vs. doing it manually do you think (in addition to not being damn tedious)?

My bandit fighting would go something like ewave, hide, ambush head, hide, ambush head until they're all dead. I could try to write that properly but I'm a noob scripter so any help would be appreciated on this part of the script.

Also I assume you have something to deal with other random monster encounters so I'd have to modify that part too.

Bhuryn
06-30-2009, 05:23 PM
If you use psinet escort tasks are a total joke. You need to occasionally move for it (like icy patches on the way to icemule) but you can basically start it from anywhere and it takes 5 lines of code.

Start:
put stepto <room#>
waitfor following you.
pause 1 (you can sometimes get away without this but it'll give you a second to hit esc if the bandits show up)
goto start

DoctorUnne
06-30-2009, 05:37 PM
If you use psinet escort tasks are a total joke. You need to occasionally move for it (like icy patches on the way to icemule) but you can basically start it from anywhere and it takes 5 lines of code.

Start:
put stepto <room#>
waitfor following you.
pause 1 (you can sometimes get away without this but it'll give you a second to hit esc if the bandits show up)
goto start

Oh sweet!

You know as I was reading this thread I was thinking to myself it sounds like this was before the advent of stepto but I wasn't sure.

I do indeed use Psinet. A couple additional questions though.

1) Is stepto reliable for long distances like TV from Icemule? That would be impressive if it is

2) Assuming I'm watching the script and paying attention for bandits it seems like I should be able to get away with not pausing it. I'll go to the next room but as soon as I realize it I'll run back and usually it's before the bandits can do anything. I mean sometimes I do that even when I'm doing it manually just because I'm trying to move so fast.

3) As you mention it doesn't work in the icy areas and I assume it doesn't work in places like the ropes and where you need to search in the tree, solve the maze puzzle etc. Do you just pause the script and do these parts manually?

4) What about all the other random monster encounters? I guess you have to pause for those too?

Bhuryn
06-30-2009, 05:41 PM
Stepto can really only handle the basical cardinal movements plus simple go movements. Honestly though they're the ones that suck anyway. I wouldn't bother escorting anything other between WL and Solhavean (500-600xp) or WL and Icemule (1k exp) they're just not worth the time investment. Maybe Illy to TaVaalor but I donno how long that takes, never really spent time over there.

You don't have to pause it no, it'll just keep going when you move again. I just mention that as some people use scripts for combat. You don't have to pause for random encounters if you have the pause 1 in there after the waitfor since pause seems like it will automatically pause for whatever your hard RT is even if you specify a number. You can just use "pause" without a number to be sure.

I can actually complete the bounties like this without ever restarting the script 99% of the time.

Donquix
06-30-2009, 05:46 PM
It's easy to make it work in the icy areas. i had it working but the server ate my scripts and i lost it, haven't had the desire to fix it.

All the icy rooms, when you try to leave them, will report something like "icy, northwest" when you try to stepto, so i just added a match so that when it does the "stepto %1" it matches for each of the directions, and then does a regular move command accordingly. Worked fine, and with the delay waiting for the escort to walk in i never fell. Could have been lucky there but it worked fine. You can add pause if you're worried about it.

you could also have it take two arguments (where you are going and where you are coming from) and then on the step command also match for the ambush text, And if it sees that, to respond with "stepto %2" (%2 being the room you started in) to make it go back

Or do what i do, this is assuming you aren't trying to 100% automate as i didn't want that, i just put stepto (room i started in) on my clipboard, and when i see the ambush paste-enter and i walk back and start kicking ass.

DoctorUnne
06-30-2009, 06:27 PM
I'm based in Icemule and wasn't planning on doing anything past ZL, so I guess I was questioning whether if you input stepto the ZL destination from outside the Icemule gates will Psinet actually figure that out? It sounds like it can which is pretty cool.

I see what you're saying about not needing to pause for the random encounters, since the traveler won't follow until you've disabled the monster at which point you're ready to move again anyway.

I like your ideas on the icy patches and the ambushes but I'm not familiar with how match works

So would something like this work? I'm assuming if no match is found (i.e. no ambush messaging or ice patch messaging) it just goes to the next line in the script but I'm not sure so if I'm wrong please help me. Also I don't see why the stepto %2 would be necessary since if the ambush messaging matches then you don't move?

Start:
put stepto %1
match north icy, north
match northeast icy, northeast
match east icy, east
match southeast icy, southeast
match south icy, south
match southwest icy, southwest
match west icy, southwest
match northwest icy, northwest
match up icy, up
match down icy, down
waitfor following you
match ambush <ambush messaging>
goto start

ambush:
put ewave
put hide
exit (I'd have to run the script again afterwards but no big deal)

north:
put north
goto start

northeast:
put northeast
goto start

east:
put east
goto start

southeast:
put southeast
goto start

south:
put south
goto start

southwest:
put southwest
goto start

west:
put west
goto start

northwest:
put northwest
goto start

up:
put up
goto start

down:
put down
goto start

Bhuryn
06-30-2009, 06:29 PM
It doesn't handle anything really beyond the basics. I wouldn't bother with Zul anyway, it's just not worth it.

Donquix
06-30-2009, 07:06 PM
that's not how much works. You need your matchstrings, and then a matchwait. It won't evaluate matches until it's int he matchwait pause, and it won't move on from that until it matches with something.

It also matches in the order you have the matchs. For example, if you had a script that looked like this...


match donquixsucks Donquix
match cakerules cake
matchwait

donquixsucks:
put say donquix sucks!
exit

cakerules:
put say I love cake!
exit

and after starting the script, you saw the following...

Donquix says, "i love cake!"

you would say "donquix sucks!" and the script would end, because the "donquix" match was above the "cake" match, even though both happened on the same line of text.

This is important because the order matters on the directions here....



match north icy, north
match northeast icy, northeast
match east icy, east
match southeast icy, southeast
match south icy, south
match southwest icy, southwest
match west icy, southwest
match northwest icy, northwest
match up icy, up
match down icy, down
waitfor following you
match ambush <ambush messaging>

Every room where you say "icy, northwest" will match to NORTH because north is first in your match array and "icy, northwest" will satisfy it. Because of that, you have to have all the diagonal directions first, and the cardinals last, in your match order.

Your syntax is off as well, it has to look like this...

match strings
command to do
matchwait

labels

so...



start:
match northeast icy, northeast
match northwest icy, northwest
(etc.)
put stepto %1
matchwait

In order for it to work if you don't see any of the icy messaging, or the ambush messaging, you have to pick something generic to match to just to get it to loop back. One that might work is matching to the phrase "Obvious exits:" because if you see that it means you took a step and thus receive a new room description. I think that's what i used, i forget. (getting voln needs or doing a look might cause the script to error out, but oh well. it works)

so you could have...

match start Obvious exits:

DoctorUnne
06-30-2009, 10:31 PM
I see, ok how about this. I tried modifying it. The part I'm still stuck on is the move section... I wait for the traveler to follow and then it's good if I get the ambush messaging. But if I don't get the ambush messaging how do I get it to go back to start? Does what I wrote work? Thanks for all your help by the way

Start:
put stepto %1
match northeast icy, northeast
match northwest icy, northwest
match southeast icy, southeast
match southwest icy, southwest
match north icy, north
match east icy, east
match south icy, south
match west icy, southwest
match up icy, up
match down icy, down
match move obvious exits:
matchwait

northeast:
put northeast
goto start

northwest:
put northwest
goto start

southeast:
put southeast
goto start

southwest:
put southwest
goto start

north:
put north
goto start

east:
put east
goto start

south:
put south
goto start

west:
put west
goto start

up:
put up
goto start

down:
put down
goto start

move:
waitfor following you
match ambush <ambush messaging>
goto start
matchwait

ambush:
put ewave
put hide
exit (I'd have to run the script again afterwards but no big deal)

Kinslar
07-01-2009, 06:36 PM
I don't know about the moving commands under the START: label. Remember the match command will use the first criteria it matches. So with that list it will always go NE if that is available.


move:
waitfor following you
match ambush <ambush messaging>
goto start
matchwait

The matchwait command won't work with the goto start command. The matchwait command needs a normal interface command (look, put, glace etc) to key off as far as I know.

LadyLaphrael
07-01-2009, 07:10 PM
There is one typo along the way to Icemule as far as the slippery rooms. I can't remember which room specifically, but one tells you that you can't continue norhteast, icy (you'll have to verify the exact typo, but I think that's it). You may want to tack there in there, too, if you get this going.

Donquix
07-01-2009, 07:47 PM
There is one typo along the way to Icemule as far as the slippery rooms. I can't remember which room specifically, but one tells you that you can't continue norhteast, icy (you'll have to verify the exact typo, but I think that's it). You may want to tack there in there, too, if you get this going.

They all look uniform, maybe it got fixed.


>path 1000 10510
1000: [Town Square Central] - Cardinal: Northwest -> 1034
1034: [Town Square, Northwest] - Cardinal: North -> 1035
1035: [Wehnimer's, Talon St.] - Cardinal: North -> 1036
1036: [Wehnimer's, North Ring Rd.] - Cardinal: East -> 1037
1037: [Wehnimer's, North Ring Rd.] - Cardinal: North -> 1038
1038: [Wehnimer's, Land's End Rd.] - Basic: "go gate" -> 1102
1102: [Wehnimer's, Outside Gate] - Cardinal: Southwest -> 1109
1109: [Wehnimer's, Exterior] - Cardinal: South -> 1111
1111: [Wehnimer's, Exterior] - Cardinal: West -> 1113
1113: [Lower Dragonsclaw, Forest] - Cardinal: Southwest -> 1115
1115: [Lower Dragonsclaw, Forest] - Cardinal: Southwest -> 1117
1117: [Lower Dragonsclaw, Forest] - Cardinal: South -> 1118
1118: [Lower Dragonsclaw, Forest] - Cardinal: South -> 1119
1119: [Lower Dragonsclaw, Forest] - Cardinal: South -> 1121
1121: [Lower Dragonsclaw, Forest] - Cardinal: South -> 1128
1128: [Lower Dragonsclaw, Forest] - Cardinal: South -> 1129
1129: [Lower Dragonsclaw, Forest] - Cardinal: Southwest -> 1132
1132: [Lower Dragonsclaw, Forest] - Basic: "go clearing" -> 1152
1152: [Upper Trollfang] - Cardinal: Southeast -> 1153
1153: [Upper Trollfang] - Cardinal: Southeast -> 1154
1154: [Upper Trollfang] - Cardinal: Southeast -> 1155
1155: [Upper Trollfang] - Cardinal: Southeast -> 1162
1162: [Upper Trollfang] - Cardinal: Southeast -> 1163
1163: [Upper Trollfang] - Cardinal: East -> 1164
1164: [Upper Trollfang] - Cardinal: East -> 1165
1165: [Upper Trollfang] - Cardinal: Northeast -> 1166
1166: [Upper Trollfang] - Cardinal: East -> 1167
1167: [Upper Trollfang] - Cardinal: East -> 1172
1172: [Upper Trollfang] - Cardinal: East -> 1173
1173: [Upper Trollfang] - Basic: "go trail" -> 2422
2422: [Upper Trollfang] - Cardinal: North -> 2423
2423: [Upper Trollfang] - Cardinal: Northeast -> 2424
2424: [Upper Trollfang] - Cardinal: East -> 2425
2425: [Upper Trollfang] - Cardinal: Southeast -> 2426
2426: [Upper Trollfang] - Cardinal: East -> 2427
2427: [Upper Trollfang] - Cardinal: Northeast -> 2428
2428: [Upper Trollfang] - Cardinal: North -> 2429
2429: [Upper Trollfang] - Cardinal: Northeast -> 2430
2430: [Upper Trollfang] - Cardinal: North -> 2431
2431: [Upper Trollfang] - Cardinal: North -> 2432
2432: [Upper Trollfang] - Cardinal: North -> 2433
2433: [Upper Trollfang] - Basic: "go fallen trunk" -> 1966
1966: [Upper Trollfang] - Cardinal: Northwest -> 1737
1737: [Upper Trollfang] - Cardinal: Northeast -> 1738
1738: [Upper Trollfang, Foothills] - Cardinal: Up -> 1739
1739: [Upper Trollfang, Foothills] - Cardinal: North -> 1740
1740: [Upper Trollfang, Foothills] - Cardinal: Up -> 1741
1741: [Upper Trollfang, Foothills] - Cardinal: Up -> 1742
1742: [Upper Trollfang, Glatoph] - Cardinal: East -> 1967
1967: [Upper Trollfang, Glatoph] - Cardinal: Northeast -> 1968
1968: [Upper Trollfang, Glatoph] - Cardinal: Northeast -> 1969
1969: [Glatoph, Glacier] - Basic: "go glacier" -> 2536
2536: [Glatoph, Glacier] - Cardinal: Northeast -> 2537
2537: [Glatoph, Glacier] - Cardinal: North -> 2538
2538: [Glatoph, Glacier] - Cardinal: East -> 2540
2540: [Glatoph, Glacier] - Cardinal: Northeast -> 2541
2541: [Glatoph, Glacier] - Cardinal: Northeast -> 2542
2542: [Glatoph, Glacier] - Cardinal: East -> 2543
2543: [Glatoph, Glacier] - Cardinal: Northeast -> 2544
2544: [Glatoph, Glacier] - Cardinal: Southeast -> 2545
2545: [Glatoph, Glacier] - Cardinal: East -> 2546
2546: [Glatoph, Glacier] - Cardinal: Southeast -> 2547
2547: [Glatoph, Glacier] - Cardinal: East -> 2548
2548: [Glatoph, Glacier] - Cardinal: Southeast -> 2549
2549: [Glatoph, Glacier] - Basic: "go chasm" -> 10321
10321: [Glatoph, Glacier Chasm] - Cardinal: Down -> 10320
10320: [Glatoph, Glacier Chasm] - Cardinal: East -> 10319
10319: [Glatoph, Glacier Chasm] - Cardinal: Down -> 10318
10318: [Glatoph, Chasm Floor] - Cardinal: North -> 10317
10317: [Glatoph, Icy Passage] - Cardinal: North -> 10316
10316: [Glatoph, Icy Passage] - Cardinal: Northeast -> 10315
10315: [Glatoph, Icy Passage] - Cardinal: North -> 10314
10314: [Glatoph, Icy Passage] - Cardinal: North -> 10313
10313: [Glatoph, Icy Passage] - Cardinal: North -> 10312
10312: [Glatoph, Icy Passage] - Cardinal: Northeast -> 10311
10311: [Glatoph, Icy Passage] - Special to 10310: "northeast, icy"
10310: [Glatoph, Icy Passage] - Cardinal: Northeast -> 10309
10309: [Glatoph, Icy Passage] - Special to 10308: "north, icy"
10308: [Glatoph, Icy Ravine] - Cardinal: North -> 10307
10307: [Glatoph, Icy Ravine] - Cardinal: Northeast -> 10306
10306: [Glatoph, Icy Ravine] - Cardinal: North -> 10305
10305: [Glatoph, Icy Ravine] - Cardinal: Northeast -> 10304
10304: [Glatoph, Shallow Gully] - Cardinal: North -> 10303
10303: [Snowy Plains, Bridge] - Basic: "go bridge" -> 10302
10302: [Snowy Plains, Bridge] - Cardinal: Northeast -> 10301
10301: [Snowy Plains, The River] - Cardinal: East -> 10300
10300: [Snowy Plains, The River] - Special to 10299: "east, icy"
10299: [Snowy Plains, The River] - Special to 10280: "southeast, icy"
10280: [Snowy Plains, White Ice Lake] - Special to 10278: "southeast, icy"
10278: [Snowy Plains, White Ice Lake] - Cardinal: East -> 10277
10277: [Snowy Plains, White Ice Lake] - Cardinal: East -> 10276
10276: [Snowy Plains, White Ice Lake] - Cardinal: East -> 10275
10275: [Snowy Plains, White Ice Lake] - Cardinal: Northeast -> 10274
10274: [Snowy Plains, White Ice Lake] - Cardinal: Northeast -> 10273
10273: [Snowy Plains, White Ice Lake] - Cardinal: East -> 10272
10272: [Icemule Trace, Snowy Plains] - Cardinal: East -> 10271
10271: [Icemule Trace, Snowy Plains] - Special to 10270: "east, icy"
10270: [Blue Glacier, Mountain Pass] - Special to 10269: "northeast, icy"
10269: [Blue Glacier, Mountain Pass] - Basic: "climb rockslide" -> 10268
10268: [Blue Glacier, Mountain Pass] - Cardinal: East -> 10267
10267: [Blue Glacier, Mountain Pass] - Special to 10266: "northeast, icy"
10266: [Blue Glacier, Mountain Pass] - Special to 10265: "northeast, icy"
10265: [Blue Glacier, Mountain Pass] - Cardinal: Northeast -> 10264
10264: [Blue Glacier, Mountain Pass] - Cardinal: East -> 10263
10263: [Blue Glacier, Mountain Pass] - Special to 10262: "norhteast, icy"
10262: [Blue Glacier, Mountain Pass] - Cardinal: North -> 10261
10261: [Icemule Trail, Tundra] - Special to 10260: "north, icy"
10260: [Icemule Trail, Tundra] - Cardinal: Northeast -> 10259
10259: [Icemule Trail, Tundra] - Cardinal: North -> 10258
10258: [Icemule Trail, Tundra] - Special to 10257: "northwest, icy"
10257: [Icemule Trail, Tundra] - Cardinal: West -> 10256
10256: [Icemule Trail, Tundra] - Basic: "go river" -> 10255
10255: [Icemule Trail, Icy River] - Basic: "climb bank" -> 10254
10254: [Icemule Trail, Tundra] - Cardinal: Northeast -> 10253
10253: [Icemule Trail, Tundra] - Cardinal: Northeast -> 10252
10252: [Icemule Trail, Snowy Forest] - Basic: "go trail" -> 10251
10251: [Icemule Trail, Snowy Forest] - Special to 10250: "north, icy"
10250: [Icemule Trail, Snowy Forest] - Basic: "climb tree" -> 10249
10249: [Icemule Trail, Tree Path] - Cardinal: East -> 10248
10248: [Icemule Trail, Tree Path] - Cardinal: Down -> 10246
10246: [Icemule Trail, Snowy Forest] - Special to 10245: "north, icy"
10245: [Icemule Trail, Snowy Forest] - Cardinal: North -> 10244
10244: [Icemule Trail, Snowy Forest] - Special to 10242: "northeast, icy"
10242: [Icemule Trail, Snowy Forest] - Cardinal: Northeast -> 10241
10241: [Icemule Trail, Snowy Forest] - Cardinal: Northeast -> 8031
8031: [Icemule Trace, Forest] - Special to 8030: "west, icy"
8030: [Icemule Trace, Forest] - Cardinal: Northeast -> 8029
8029: [Icemule Trace, Forest] - Cardinal: North -> 8028
8028: [Icemule Trace, Forest] - Cardinal: North -> 8027
8027: [Icemule Trace, Forest] - Cardinal: North -> 8025
8025: [Icemule Trace, Forest] - Cardinal: East -> 8024
8024: [Icemule Trace, Forest] - Cardinal: North -> 8001
8001: [Icemule Trace, Exterior] - Cardinal: Southeast -> 8002
8002: [Icemule Trace, Exterior] - Cardinal: East -> 8003
8003: [Icemule Trace, Exterior] - Cardinal: East -> 8004
8004: [Icemule Trace, South Gate] - Cardinal: East -> 8005
8005: [Icemule Trace, Exterior] - Cardinal: East -> 8006
8006: [Icemule Trace, Exterior] - Cardinal: East -> 8007
8007: [Icemule Trace, Exterior] - Cardinal: East -> 8008
8008: [Icemule Trace, Exterior] - Cardinal: Northeast -> 8009
8009: [Icemule Trace, Exterior] - Basic: "go path" -> 10507
10507: [Sunfist Courtyard] - Basic: "go door" -> 10508
10508: [Sunfist Outpost, Foyer] - Cardinal: West -> 10510
10510: [Sunfist Outpost, War Room]

thefarmer
07-01-2009, 07:59 PM
10263: [Blue Glacier, Mountain Pass] - Special to 10262: "norhteast, icy"

Donquix
07-01-2009, 08:10 PM
yeah i just found it too, testing. thanks farmer.

Donquix
07-01-2009, 08:48 PM
Ok, this SHOULD work. Like i said, i ran basically this script and never fell (with no survival training) just thanks to the natural delay waiting for the escort. Basically just redid some order, accounted for the one typo in psinet.

Just need to get the ambush messaging that happens when you try to move rooms.

Usage would be something like .escort (destination room) (room you started in)

so from the north gate in the landing to IMT it would be .escort 7568 1038


goto movestart

Start:
waitfor following you
movestart:
match northeast northeast, icy
match northeast norhteast, icy
match northwest northwest, icy
match southeast southeast, icy
match southwest southwest, icy
match north north, icy
match east east, icy
match south south, icy
match west west, icy
match up up, icy
match down down, icy
match ambush <ambush messaging>
match start obvious exits:
match start obvious paths:
match arrived Reached destination.
put stepto %1
matchwait

northeast:
move northeast
goto start

northwest:
move northwest
goto start

southeast:
move southeast
goto start

southwest:
move southwest
goto start

north:
move north
goto start

east:
move east
goto start

south:
move south
goto start

west:
move west
goto start

up:
move up
goto start

down:
move down
goto start

ambush:
put stepto %2
put ewave
put hide
exit (I'd have to run the script again afterwards but no big deal)

arrived:
echo YOU MADE IT. WONDER IF THE POOR SAP YOU WERE ESCORTING IS STILL ALIVE.
exit

thefarmer
07-01-2009, 08:54 PM
That's a lot of effort just to get around pasting in STEPTO #

Donquix
07-01-2009, 09:12 PM
Possibly, but wasn't it fun to do?

DoctorUnne
07-01-2009, 09:57 PM
You are the fucking man, thanks. I'm going to try this out right now on the Ice to ZL escort I just got and we'll see how it goes.

DoctorUnne
07-02-2009, 03:53 PM
The movement part worked great. I had to do a bunch of the moves manually (like searching in the tree, climbing the ropes etc.) but that's no big deal.

The only thing I'm concerned about and didn't get to test was the ambushing part. I was only ambushed once, and it was when I was in the swamp and in RT. I just stopped the script since I didn't it to make me move again (and incur another 10 seconds of RT).

My concern is you mention you need the "ambush messaging when you try to move rooms." I don't think there is such a messaging. The ambush happens right after the traveler arrives following you, and the only part of the messaging that's consistent across all ambushes is the traveler yelling "It's an ambush!" I don't think the match will pick that up since it's not occurring after you stepto, it's occurring after the traveler arrives.

I think what would happen is you'd enter a room, the traveler would follow you (thus triggering stepto %1), and then the ambush happens. When you stepto, the next thing you'll see is obvious exits, which brings the script back to waitfor following you again. I don't think it will ever divert to the ambush section of the script, and you'll still have to manually input stepto %2 into the command line to get back to the ambush room.

Does that make sense? Does anyone see a way around this? Basically I'm just trying to get the first few seconds of my ambush reaction scripted so that I don't have to be totally on my toes ready to paste in stepto %2 and start fighting.

Bhuryn
07-02-2009, 04:05 PM
One thing you could do is after the pause output something and use that to match against since the ambush occurs pretty much instantaneously upon entering the room.

DoctorUnne
07-02-2009, 04:16 PM
One thing you could do is after the pause output something and use that to match against since the ambush occurs pretty much instantaneously upon entering the room.

Could you explain in more detail? I kind of see what you're trying to say but don't see how you would actually implement it. Even better would be show me what you mean by editing Donquix's last script. Thanks.

Bhuryn
07-02-2009, 04:21 PM
Without being able to test if it works since I'm at work:

start:
MATCH ambush <some common string from the ambush msg>
MATCH start Youcango!
put stepto #
matchwait
pause .5
put Youcango!

ambush:
exit

DoctorUnne
07-02-2009, 05:08 PM
Without being able to test if it works since I'm at work:

start:
MATCH ambush <some common string from the ambush msg>
MATCH start Youcango!
put stepto #
matchwait
pause .5
put Youcango!

ambush:
exit

Oh I see. Does that work putting a command after the matchwait like that? I thought matchwait had to find a match from the command right above it before doing anything else? If not, maybe this would work.

goto movestart

Start:
waitfor following you
match movestart clear
match ambush it's an ambush!
pause .5
matchwait
echo clear

movestart:
match northeast northeast, icy
match northeast norhteast, icy
match northwest northwest, icy
match southeast southeast, icy
match southwest southwest, icy
match north north, icy
match east east, icy
match south south, icy
match west west, icy
match up up, icy
match down down, icy
match ambush <ambush messaging>
match start obvious exits:
match start obvious paths:
match arrived Reached destination.
put stepto %1
matchwait

northeast:
move northeast
goto start

northwest:
move northwest
goto start

southeast:
move southeast
goto start

southwest:
move southwest
goto start

north:
move north
goto start

east:
move east
goto start

south:
move south
goto start

west:
move west
goto start

up:
move up
goto start

down:
move down
goto start

ambush:
put ewave
put hide
exit (I'd have to run the script again afterwards but no big deal)

arrived:
echo YOU MADE IT. WONDER IF THE POOR SAP YOU WERE ESCORTING IS STILL ALIVE.
exit

Menelous
07-16-2009, 05:45 AM
I don't use psinet, but here is what I use in the SF script someone sent me.... I've never had a single problem it with.


movement:
MATCH ambush suddenly leaps from his hiding place!
MATCH ambush suddenly leaps from her hiding place!
MATCH ambush suddenly jumps out of the shadows!
MATCH ambush fearfully exclaims, "It's an ambush!"
MATCH ambushcheck , following you.
MATCHWAIT
ambushcheck:
MATCH ambush suddenly leaps from his hiding place!
MATCH ambush suddenly leaps from her hiding place!
MATCH ambush suddenly jumps out of the shadows!
MATCH ambush fearfully exclaims, "It's an ambush!"
MATCH continue >
MATCHWAIT

Maerit
07-16-2009, 11:59 AM
Just put a look function into the script, that's what I did. I'm at work, so I can't pull it up, but basically once you get the "following you" match, don't stepto, look. The ambush happens immediately after the escort enters the room. So just toss in a look function that matches the various ambushers and use that to call either the next stepto or the ambush function.