|
tahnar Beginner
Joined: 21 Mar 2007 Posts: 14
|
Posted: Mon Apr 02, 2007 11:48 pm
Pausing an Automap Walk |
One of the things I love about the mapper is the ability to double-click on a room and have it automatically take me there from my current location (hey, who does NOT like that?).
A problem, however, is that certain room exits have a built-in delay in execution for the room. If I put in a #WAIT or other delay in the Walk Script section of the mapper, the room gives the delay every time I enter the room on a walk, which is not the desired effect. For instance:
Room A has two exits. A normal exit NORTH takes you to room B. The other exit is an airlock, requiring you to PRESS BUTTON. That cycles the airlock and, 5 seconds later, deposits you in ROOM C.
What I need is for the walker to take me through at top speed as long as I am going from room A to B or B to A, but if I am passing between A and C (or reverse), it needs to delay a few seconds before sending the next movement command. Currently, it sends the commands correctly, but then keeps trying to move me along the path before the airlock has cycled.
If I was using a script for the walk, it would be easy - I would just put a delay command immediately following the PRESS BUTTON command. However, Automapper is generating the movement commands, not me. So is there any way to force it to pause for a few seconds every time it passes through one of these barriers?
Thanks! |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Tue Apr 03, 2007 2:13 am |
Sounds you want to either update the room script for the mapper, or even better yet the commands for that particular exit.
For example,
Code: |
#SEND press button;#pause; #ALARM +5 {#STEP} |
What this does is send the press button command, pauses the slow walk then sets alarm that will resume slow walk in 5 seconds.
I hope that helps. |
|
_________________ Asati di tempari! |
|
|
|
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Tue Apr 03, 2007 2:29 am |
Or,
Put this in the walk script of the offending room
Code: |
#call %walkmode(2)
#pause
press button
#wait 2000
#step
#ok
#call %walkmode(0) |
Change the length of the wait command as needed.
Edit: This script assumes that you are in FAST mode. It switches you to safe mode pauses the walk, waits, resumes the walk, confirms the next step then throws you back into fast walk mode. This allows you to zoom around everywhere else on the map in Fast walk mode and pause for a single room. |
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram
Last edited by Arminas on Tue Apr 03, 2007 2:42 am; edited 1 time in total |
|
|
|
tahnar Beginner
Joined: 21 Mar 2007 Posts: 14
|
Posted: Tue Apr 03, 2007 2:36 am |
Conceptually, that helps. It was something I had thought of but didn't get the commands for. However, the problem is (sorry I didn't mention above), I'm using Speedwalk, not Slow Walk. Slow walk does not really work too well (read: at all) in this game due to having no real prompt as a trigger.
I tried it in Speedwalk and got no new result - in other words, it just continued attempting to barrel past the delay point without waiting. The room properties look like this under Exits:
Other Com: press button;#pause;#alarm +5 {#step}
I have tried it as #send {press button};#pause;#alarm {+5} {#step} and various bracket combinations thereof. I have also tried it with Slow Walk and Safe Walk, neither of which works well at all in general. |
|
|
|
tahnar Beginner
Joined: 21 Mar 2007 Posts: 14
|
Posted: Tue Apr 03, 2007 2:43 am |
Oops... I replied in-between postings!
Arminas, your suggestion really sounds good. The problem is (now!), suddenly when I enter anything into the Walk Script (or Room Script) fields and click the green checkmark to save it, it puts quotes around the entire thing and just sends it as a game command! This is new behavior for me - I may have to dig a bit to figure out why it's doing that now. I have script commands in other rooms which don't have the quotes around but this room now decides it doesn't wanna play nicely... |
|
|
|
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Tue Apr 03, 2007 2:46 am |
BAH! That is what I get for posting a zmud script before testing in cmud. *grumbles* I'll try to work around this issue.
|
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram |
|
|
|
Arminas Wizard
Joined: 11 Jul 2002 Posts: 1265 Location: USA
|
Posted: Tue Apr 03, 2007 2:52 am |
OK, have a workaround.
Create an alias and name it buttonPause
Paste the above into the value and save it.
Now place the word buttonPause into the walkscript of the room and click the save checkmark. |
|
_________________ Arminas, The Invisible horseman
Windows 7 Pro 32 bit
AMD 64 X2 2.51 Dual Core, 2 GB of Ram |
|
|
|
tahnar Beginner
Joined: 21 Mar 2007 Posts: 14
|
Posted: Tue Apr 03, 2007 3:47 am |
Perfect! With a little bit of fiddling, it works like a charm. Turns out the Automapper won't update my map position unless I send SOME legitimate command in the "other command" field, so I put a GLANCE there to keep it satisfied.
This works great for the rooms with only one way to go. It's a little more problematic for those with a juncture (can go in the airlock OR go North) - the "Walkscript" functionality sends me off through airlock whether I want to or not. I can put buttonPause as the "Other Command" instead but then, as I noted above, it doesn't update the map anymore after I move.
However, this already saves me a lot of work - there is only one place so far that has a juncture to manage. The others similar to it are single-exit rooms so this works exactly as required.
Thanks much! |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Tue Apr 03, 2007 2:18 pm |
I suspected that might happen with is why I suggested putting it into the command for the exit itself. So basically put Arminas' code (which accounts for speedwalk, or better the recommended alias) and put that in the exit command. That should do the trick.
|
|
_________________ Asati di tempari! |
|
|
|
|
|