|
dreamopolis Beginner
Joined: 21 Nov 2006 Posts: 21
|
Posted: Wed Jul 28, 2010 11:58 am
How to configure the mapper correctly and using non standard movement controls |
Hi,
I'm having some problems configuring the mapper.
I'm playing SoI, a Diku based RPIMUD. Here is an example of a standard in game screen:-
Quote: |
Room name goes here
Exits: north east south west
Room description here.
Items in room go here
<****** / ||||||> |
Problem 1)
The auto-configure for the mapper does not find the correct room name and directions etc. And -if- in the chance it does, it very often looses the configuration after a few reboots of CMUD.
Problem 2)
I need a way to properly configure and set up the mapper so that it recognizes when I use the commands sneak n, sneak e, sneak s, sneak w. Right now, the mapper only recognizes n,e,s,w.
I'm a total CMUD programing noob. I don't have a clue about anything above setting up a basic alias.
Please help. |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Wed Jul 28, 2010 5:07 pm |
It seems that for whatever reason the automapper can not dependably parse and identify the room descriptions. The best alternative this is to override the Mapper by using the #TAG command.
The links above should serve as a gentle introduction to the process. As you proceed feel free to post more specific questions and we'll be glad to help you. The best place to start is by reading Overriding the Mapper in the documentation.
[Edit]As for non-standard movement you would add a new direction via the menu or the #DIRECTION command. |
|
_________________ Asati di tempari! |
|
|
|
dreamopolis Beginner
Joined: 21 Nov 2006 Posts: 21
|
Posted: Wed Jul 28, 2010 7:54 pm |
Thank you for the help, but I really can't make sense of the Overriding the mapper documentation.
One example is this:
#TRIGGER {^~[(*)~]} {#TAG name {%1}}
What do I need to edit out of that so that the mapper recognizes the exits in a room?
Would it be
#TRIGGER {exits:} {#TAG exits {%1}}
or something else?
The documentation isn't really helpful to let you know what you need to edit out to enable to use them. |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Wed Jul 28, 2010 9:29 pm |
The over riding the mapper was only the introduction. The other link was a line to the #TAG command. But you were close. You're exit line TRIGGER would be something like this
Code: |
#TRIGGER {Exits:(*)} {#TAG exits {%1}} |
|
|
_________________ Asati di tempari! |
|
|
|
dreamopolis Beginner
Joined: 21 Nov 2006 Posts: 21
|
Posted: Thu Jul 29, 2010 11:25 am |
Tech wrote: |
Code: |
#TRIGGER {Exits:(*)} {#TAG exits {%1}} |
|
Could you please explain to me what each part of that code means? Then maybe I can make a bit more sense of how to use this in other ways.
Thank you so much for the help! It's very much appreciated. |
|
|
|
mr_kent Enchanter
Joined: 10 Oct 2000 Posts: 698
|
Posted: Thu Jul 29, 2010 12:34 pm |
An explanation for
Code: |
#TRIGGER {Exits:(*)} {#TAG exits {%1}} |
Command: #TRIGGER
#TRIGGER: The command to create a new trigger setting.
Pattern: {Exits:(*)}
{...}: This phrase is the pattern portion of the #TRIGGER command. These braces act as delimiters for the pattern.
Exits: : This is literal text that the trigger will attempt to match from the MUD output.
(*): This is a construct to match any text and further, make that text available for further processing. '*' is the wildcard for matching any text; by placing parenthesis around the wild card, the value is preserved and made available in the action portion of the #TRIGGER command.
Action: {#TAG exits {%1}}
{...}: This phrase is the action portion of the #TRIGGER command. These braces act as delimiters for the action.
#TAG: The command used to assign text/information to predefined parameters/variables for use by the mapper.
exits: A predefined mapper parameter/variable to alert the mapper that the particular line should be used to recognize the exits of the room. Others are 'name', 'desc', etc.
{%1}: an inclusive reference to the information captured by the '(*)' wildcard construct.
This line creates a trigger which watches for
Code: |
Exits: <variable text> |
When a line matches, the trigger then tells the mapper that the <variable text> portion, now referenced by '%1' contains the exit information for the room.
More information here, here and here. |
|
Last edited by mr_kent on Thu Jul 29, 2010 12:50 pm; edited 1 time in total |
|
|
|
dreamopolis Beginner
Joined: 21 Nov 2006 Posts: 21
|
Posted: Thu Jul 29, 2010 12:46 pm |
Thank you very much
|
|
|
|
|
|