|
Lasivian Wanderer
Joined: 25 Jan 2002 Posts: 76 Location: USA
|
Posted: Wed Dec 26, 2007 9:06 am
Recall |
In the mud i'm on I can now recall any temple.
But I can't figure out how to stop the mapper frm thinking I only have one recall point. It appends "#RECALL" every time I recall and never takes me to the right room, even if I try and say that the specific recall i'm doing is a different portal.
Any ideas? |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Wed Dec 26, 2007 10:39 am |
The mapper's only designed for you to have one recall point. You could use a variable to store the room ID of your current recall room (%roomnum will return it) and then use that variable with the #teleport command to move the dot on the mapper when you recall.
|
|
|
|
Lasivian Wanderer
Joined: 25 Jan 2002 Posts: 76 Location: USA
|
Posted: Wed Dec 26, 2007 9:18 pm |
Yes, but anytime I type a command beginning with "recall" it overrides my own aliases for that
I need to know how to disable the internal system recall so my own will work
IE. if I make an alias for "Recall Thalos" it does this: "Recall Thalos;#recall" no matter what alias I put in for "Recall Thalos" |
|
|
|
iljhar GURU
Joined: 10 Oct 2000 Posts: 1116 Location: USA
|
Posted: Wed Dec 26, 2007 10:53 pm |
ZMud changes your alias to put in the #recall command? I don't think I've seen this happen before, but I haven't used ZMud in a while, so I can't say for sure.
I would create a generic recall alias, something like:
#alias recall {~recall %1;#if (%1 = "Thalos") {#teleport 123} {#if (%1 = "Melos") {#teleport 456} {#recall}}} |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Thu Dec 27, 2007 12:28 am |
It's an issue with how ZMud searches the settings file structure. Here's an illustration of the process as regards the default, just-created settings file:
1)default class (can be anything, but at this point is the NONE folder)
2)NONE (root level)
3)System
4)System|Automapper
5)System|AutomapperAll (there's an #ALIAS here--Recall)
6)System|Directions (there are 6 #DIRECTIONS here--n, s, e, w, u, d)
7)System|DirectionsDiag (there are 4 #DIRECTIONS here--h, j, k, L) <-- capped for clarity
8)System|Keypad (there are 7 macros here--KEY8, KEY4, KEY5, KEY6, KEY2, ADD, SUB)
9)System|KeypadDiag (there are 4 macros here--KEY7, KEY9, KEY1, KEY3)
10)System|Pueblo
11)Autolog
This is where the user-created stuff appears. Let's say that the user created a ExtendedRecall class that contains an alias named Recall:
12)ExtendedRecall (there's an #ALIAS here--Recall)
So, now we have two classes with a recall alias inside. How does ZMud know which one to use when you type in RECALL whatever? Simple, it starts at the top of the aforementioned list and works downwards until it finds the first one. Because the alias in the AutomapperAll class is checked--and found--earlier in the process, the parser never even gets to see that the ExtendedRecall class has a Recall alias in it.
To get the alias in the ExtendedRecall class to work, you have to place it in the AutomapperAll class (which will force you to choose to overwrite the inherited version) OR confine it to the root/System level (Automapper class is strictly for edit mode, which means in follow mode you lose the access to the proper recall alias). |
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Taz GURU
Joined: 28 Sep 2000 Posts: 1395 Location: United Kingdom
|
Posted: Thu Dec 27, 2007 12:35 am |
In zMUD there already exists an alias called recall and it is set to ~recall %-1;#RECALL it is one of the default settings and exists in System|AutomapperAll inherited from default.mud, you should override it by creating your own recall alias.
This will have to be done for any new mud connection you make as editing the default.mud is frowned upon as it is replaced during updates. You never know 721 may not be the last version of zMUD so it is still a sensible course of action.
EDIT: As Matt pointed out the search order is important for overriding defaults, I always slap the recall override in <none> |
|
_________________ Taz :) |
|
|
|
Lasivian Wanderer
Joined: 25 Jan 2002 Posts: 76 Location: USA
|
Posted: Sat Dec 29, 2007 12:00 am |
I just disabled it in default to get rid of it.
Thanks for all the info. |
|
|
|
|
|