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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
billaben
Wanderer


Joined: 02 Sep 2005
Posts: 60

PostPosted: Thu Sep 15, 2005 6:02 am   

Problems with #OK and #NODIR
 
I understand #OK and #NODIR themselves. I have so far used them to reliably recognized blocked movement from normal things like, no exit in that direction, or sitting, sleeping, unable to fly, basic errors of that sort. This covers most situations but still leaves one very big problem.

Which is the fact that in RetroMud mobs can act as blockers preventing movement in a direction. Unfortunatelly, every mob that does this seems to have a unique message (sometimes more than one of which one is selected at random) which it sends when it does this. There are literally hundreds of possible messages a mob might send if it blocks movement. And just to add insult to injury any new areas that are developed for the mud are just as likely to add even more possible messages.

Because of this, I am looking at coming up with an alternate means to confirm movement when moving in or editing (exploring) a map.

Here are some samples of what I might get when I move.

Code:
Hp: 733/733 Sp: 42/42 Ep: 233/333 Gold: 0 Exp: 29351 >
Nightvision: #
You are done using your skill.
You are infused with an owl's spirit!
Hp: 733/733  Sp: 42/42  Ep: 133/333
nw
Sauronan City - Eclipse Gate
  You stand before the Eclipse Gate of Sauronan, the Celestial City of
Immortals.  The Crystal Tower looms above the city, its mile high
spires sparkling with radiance.  To the south you see the harbor
district.
   The sky is overcast and a heavy wind blows rain into your face. It is dark
and shadowy here.
Obvious exits are: gate, north, northeast, northwest, south, southeast,
southwest, up, and west.
a knife, many bloody heads of Paladin (1 charge), five bloody heads of Templar
(1 charge), an ansuz rune (2 charges) and an sowilo rune (3 charges)
Hp: 733/733 Sp: 42/42 Ep: 133/333 Gold: 0 Exp: 29351 >

This is common, but if I have infravision and it is too dark (or light)...
Code:

Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >
Lass s
yearns for her lost homeland.
Outside [infravision: too dark](e,gate,ne,nw,s,se,sw,up,w)
moderate weak heat source
Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >


Without infravision....
Code:
Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >s
It is too dark to see here.
Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >

or
Code:
Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >s
It is too light to see here.
Hp: 733/733 Sp: 42/42 Ep: 333/333 Gold: 0 Exp: 29351 >


Conveniently enough the title,roomdescription, and exits are all color coded with ascii so I already have good methods for detecting and tagging these segments. My instinct here is to search for this information and the prompt. That way if the prompt is found without finding the room information first, #NODIR.

Unfortunatelly, it appears that zmud will not process the current line from the mud until the next line is sent. Meaning it will get all the way to the prompt and stop without processing it yet. It will do nothing until the next line is sent from the mud be it chat, me typing, a random room effect message whatever. While it is waiting for this next line to be sent the Automapper seems to like to 'help' but making the decision for me. Typically it decides the move was okay and picks something absurd to feed into the title and description block (like the prompt which is already tagged).

So I am still sitting on a script that will handle failed movement for anything EXCEPT exits blocked by monsters. Any ideas you might have for designing another reliable method to verify movement with this type of output would be greatly appreciated.
Reply with quote
MattLofton
GURU


Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Thu Sep 15, 2005 9:15 pm   
 
Quote:

Unfortunatelly, it appears that zmud will not process the current line from the mud until the next line is sent. Meaning it will get all the way to the prompt and stop without processing it yet.


In trigger options for the prompt trigger (this also includes #CONDITION states for multi-state triggers), make sure that newline is unchecked and prompt is checked. This will cause ZMud to execute your prompt trigger immediately, rather than waiting for the next newline (which would of course appear with the next line from the mud or with the next command you send to the mud.)
_________________
EDIT: I didn't like my old signature
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD 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