Register to post in forums, or Log in to your existing account
 

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
tahnar
Beginner


Joined: 21 Mar 2007
Posts: 14

PostPosted: 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!
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: 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!
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: 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
Reply with quote
tahnar
Beginner


Joined: 21 Mar 2007
Posts: 14

PostPosted: 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.
Reply with quote
tahnar
Beginner


Joined: 21 Mar 2007
Posts: 14

PostPosted: 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...
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: 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
Reply with quote
Arminas
Wizard


Joined: 11 Jul 2002
Posts: 1265
Location: USA

PostPosted: 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
Reply with quote
tahnar
Beginner


Joined: 21 Mar 2007
Posts: 14

PostPosted: 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!
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: 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!
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD General Discussion All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

© 2009 Zugg Software. Hosted by Wolfpaw.net