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
bskrzysiek
Newbie


Joined: 29 Jan 2015
Posts: 9

PostPosted: Wed Feb 04, 2015 9:37 am   

Problem with using map in a mud with gates and doors
 
In the mud I'm playing there are a lot of gates which have to be unlocked by commends like “knock the door” etc., then I have to wait and after some time there is a message like “Gate is now opened.” and the new direction (for example west) is visible after using “look” command.

When I use my map to speed walk and a gate is closed I receive message from the mud like “The gate is closed. You can’t go to that direction.”. But dot which indicates my location on the map is still moving which results in bad location indication.

How to undo dot movement in such scenario when door or gate is closed? I tried trigger like below but it didn’t helped?
Code:
<pattern>$Gate is closed. You can’t go to that direction.</pattern>
<value>#STOP;#NODIR</value>
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4671
Location: Pensacola, FL, USA

PostPosted: Wed Feb 04, 2015 2:59 pm   
 
go into room properties
find the exit in question
change the name field to the commands required for the gate

nod soandso north;north
knock gate south;south

you can substitute the north with something like:
#TEMP "nextMove" {is now open} {north}

as for the dot, make a #NODIR trigger, you may need to be in slow or safe mode for there to be time for it to matter, no need for the #STOP
_________________
Discord: Shalimarwildcat
Reply with quote
bskrzysiek
Newbie


Joined: 29 Jan 2015
Posts: 9

PostPosted: Thu Feb 05, 2015 9:01 am   
 
I tried what you proposed but it didn't help because dot is still moving even if the movement was not successful.

I think I would need to have sth like this:

"go north" AND IF mud sends "The gate is closed" THEN execute trigger below and freeze dot movement ELSE send to mud "go north" and move dot to north
#TRIGGER(or #TEMP) {The gate is closed.} {knock the gate}
#WAITFOR {Gate is now opened.} {go north AND move dot to north}

I tried to put TEMP trigger in name field but is has quite short length limitation. I guess maybe something like i wrote above would work? How to write it exactly and where to put it (maybe in Room Properties - Scripts)? And how to control dot movement?


I have also problem with #SLOW function.
When the map is off, everything is ok (I use timeout value 1 sec without option "Timeout aborts walk" checked.) - it just executes the path with proper delays between steps.
When the map is on, #SLOW works exactly like speedwalk (even if the option "Slow" is checked in the map) - it just sends all commands to mud in one moment.

How to fix it? I tried to create trigger like this but it didn't help?
Code:
<pattern>-= (*) =-</pattern> - pattern is like this because mud sends name of the locations in format -= Location name =-
<value>#wait 1000;#OK</value>
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4671
Location: Pensacola, FL, USA

PostPosted: Thu Feb 05, 2015 6:35 pm   
 
Its purely a display issue, it will hold more than it looks like, you can also use an alias if you prefer.

As for speedwalking, you can set the interval between commands,

Preferences --> Scripting tab --> delay between speedwalking steps.

Also, make sure the map is in Slow mode.

Why would you want to wait before using #OK?

You can control the dot directly with #MOVE #LOC and #TELEPORT.
_________________
Discord: Shalimarwildcat
Reply with quote
bskrzysiek
Newbie


Joined: 29 Jan 2015
Posts: 9

PostPosted: Sat Feb 07, 2015 9:55 am   
 
So when map is on, "Slow walking" tab options in "Scripting" don't work? Because when map is off I can use function for example #SLOW 3n3e and steps are executed with a delay set in "Slow walking" tab?

I wanted to use #WAIT before #OK to slowdown the dot and the character movement. I thought that when in "Slow mode" CMUD waits for #OK confirmation before it executes next movement? If not like this then how does it work?

There is also a problem when map is on, that when I execute function #SLOW it works like in speed mode and functions #PAUSE and #STOP don't work (even though slow mode is enabled on on map)? How to solve this?

I don't know why but sometimes when the map is on and i double click and execute some speed walking path it often loses tune between dot and the character? Why does it happen and how to avoid it?
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4671
Location: Pensacola, FL, USA

PostPosted: Sat Feb 07, 2015 4:11 pm   
 
safe mode waits for the okay i belieeve
slow mode relies on the interval

I think i have that right at least.

#PAUSE and #STOP are for when you are using a saved #PATH i believe

as for losing track of the #LOC dot, that is usually from an incomplete set of #NOMAP #NODIR #OK triggers, if your package doesn't realize when it messed up or succeeds, how can it be expected to keep up?
You might need to create some #TAG triggers as well, if its not capturing all the room info

reconfigure the mapper after making said triggers
_________________
Discord: Shalimarwildcat
Reply with quote
teion
Wanderer


Joined: 03 May 2005
Posts: 72

PostPosted: Wed Feb 11, 2015 9:42 pm   
 
I have a lot of rooms on the mud I play on that are like this. What I do is create room and zone specific triggers for each room in question. Also aliased directions might help. Let me give you an example

#trigger {$Gate is closed. You can’t go to that direction} {#nomap;#nodir;knock the door;#temp {Gate is now openend} {west}} zone_or_room_num_here

if your pathing through those rooms you will want to pause set the trigger to #temp {Gate is now opened} {#step} however this will only work correctly in slow mode

before running a path i normally set my mapper from safe to slow mode for such triggers and settings and set it to safe mode after
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4671
Location: Pensacola, FL, USA

PostPosted: Thu Feb 12, 2015 4:25 pm   
 
so you would put the following into the name field as described above

knock the door;#WAITFOR {Gate is now opened} {west}

Then it should never run into the gate for that exit

But on the off chance it does:

#TR {You can't go {in|to} that direction} {#NODIR}

And safe mode is usually safer, is it waits for step confirmation.
_________________
Discord: Shalimarwildcat
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