|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 05, 2012 2:36 pm
Annoying automapper problem |
I set up a trigger to create doors based on what the mud answers. The 'silver curtain' is closed -> creates a door on the map to the direction, named curtain.
Now, the automapper started to send open (direction) commands in separate lines, also ignoring door names... what the hell?
I deleted the door to test it:
*I try to go west through the closed curtain, I hit number 4 on the keypad:
w
The 'silver curtain' is closed.
*I check the map, a door is created and named 'curtain' to the right direction (to the west), now I want to go through it again, hit number 4 on numpad:
open
w
Open what?
What to do now? |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jun 05, 2012 4:46 pm |
Go to your Map Properties. You should be able to find Strings And Doors there. There is a setting there which defines the command to use to go through a door. By default, it is set to use "open directionname" because that is a common method in muds. You can change that to use "open doorname" instead. I believe that in that setting, %1 refers to the door direction, and %2 refers to the door name. So changing the setting to "open %2" should work.
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 05, 2012 8:42 pm |
Thanks but I already set that, that's why I say it's ignoring it. But since then it actually started to work alright after a restart.
Now it makes a totally different problem. When I start mapping an area, everything is going smooth, until I reach a closed door. I modified the trigger so when it receives a closed door from a direction, it opens it, creates a door marker on the map, then enters through it. The mapper generates the room correctly at this time, but also keeps the direction somehow in the buffer, and the next room will be created in the same direction regardless where I go from that point. For example:
I go south -> a new room is created, filled with every details perfectly.
I go south -> a door is closed -> trigger fires -> door is opened -> door marker created to given direction -> it goes through the open door ->
-> a new room is created to the south, filled with details etc -> from this location I go west -> no closed doors, so the MUD respond as I walked west -> the mapper creates a new room to the south again and fills it with the details -> I go north from the new location -> no closed doors, etc ->the mapper creates a new room to the west
and so on. It shifts one step behind... What causes this? |
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 05, 2012 9:15 pm |
Okay, I found out! I had to put #NODIR as the last command of my trigger. Awesome! Thanks for the reply!
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Thu Jun 07, 2012 8:59 pm |
Is there any command that clears the last commands buffer? because if I use a button which sends three commands, the %lastdir variable is going to be the first of the three, then the second, and so on. It won't be the real last one...
Also, is there any setup which would ignore colours and special characters in room names and descriptions? When I enter a room wich has its name and description in yellow, the mapper ignores the whole lot, and writes the exits as room name... |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Fri Jun 08, 2012 3:56 pm |
I don't know any way to clear the last commands buffer, but the behavior you describe sounds correct. Cmud has to handle each command in order, so %lastcom (I assume you mean %lastcom rather than %lastdir?) has to be the last command that Cmud has actually worked on.
As for the colors, you will have to explain a bit more about how you are handling mapping. Are you using a simple configuration from the mapper, or are you supplementing it with #TAG commands? Do you have any #NOMAP triggers? When you did your mapper configuration, did you use a room with colored text to configure in? Can you show us some actual text from the mud (including some lines before and after it), enclosed in [code] ... [/code] tags? |
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Fri Jun 08, 2012 4:07 pm |
Yep, I'll try to put together everything...
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Fri Jun 08, 2012 5:47 pm |
Oh-kay...
I'm using %lastdir, that's why it's even more confusing. First I'll paste my triggers regarding the automapper. I used the automatic configuration of it, and usually most of the rooms on this mud are colored. But I remember that I tried to do it at the full yellow one, and it failed. It probably is because of the special characters, because in the wilderness the description of each 'room' has a small ASCII 9x9 map. You'll see. But on the other hand, sometimes it doesn't work on inside areas without map.
So here are my two classes of triggers.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<class name="nodir">
<trigger priority="3120">
<pattern>The * is closed.</pattern>
<value>#T+ doors;open %lastdir;#door %lastdir</value>
</trigger>
<trigger priority="3150">
<pattern>Alas, you cannot go that way.</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3220">
<pattern>I see no*here.</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3110">
<pattern>You fly higher into the air.</pattern>
<value>#NODIR</value>
</trigger>
<trigger priority="3120">
<pattern>You fly lower toward the ground.</pattern>
<value>#NODIR</value>
</trigger>
<trigger priority="3200">
<pattern>You can't fit yourself in that.</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3240">
<pattern>The door is impenetrable to your ethereal form.</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3280">
<pattern>You attempt to swim, but</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3320">
<pattern>It's too steep for you to climb unaided.</pattern>
<value>#nodir</value>
</trigger>
<trigger priority="3340">
<pattern>You lack the key.</pattern>
<value>#nodir</value>
</trigger>
</class>
</cmud>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<class name="doors" initenable="true" enabled="false">
<trigger priority="3170">
<pattern>You open *.</pattern>
<value>%lastdir;#nodir;l;#T- doors</value>
</trigger>
<trigger priority="3180">
<pattern>It's locked.</pattern>
<value>unlock %lastdir</value>
</trigger>
<trigger priority="3190">
<pattern>You can't do that.</pattern>
<value>#nodir;l;#T- doors</value>
</trigger>
<trigger priority="3200">
<pattern>You unlock *.</pattern>
<value>open %lastdir;%lastdir;#nodir;l;#T- doors</value>
</trigger>
<trigger priority="3210">
<pattern>You lack the key.</pattern>
<value>#nodir;l;#T- doors</value>
</trigger>
<trigger priority="3190">
<pattern>It can't be unlocked.</pattern>
<value>#nodir;l;#T- doors</value>
</trigger>
<trigger priority="3210">
<pattern>Open what</pattern>
<value>#nodir;l;#T- doors</value>
</trigger>
</class>
</cmud>
Now... I included the 'l' (look) command during testing, because I thought it would help resetting the %lastdir variable. I still don't know if it's better with or without. Because of this extra look, sometimes, when there are a few commands in the buffer and I'm trying to move towards a closed door, once the buffer gets empty and I finally manage through the door, the mapper creates the next room, and does it again one step further.
Here's a button, an alias and a trigger I used in the example I give you soon. I use a class and variables because when I eat I use a trigger to write how many portions I still have, and the same trigger turns the class back off (because it happens that I eat things, which aren't counted in my list, fe.: a fruit I just bumped into and felt like eating it.)
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<button autosize="false" width="61" height="25" autopos="false" left="660" top="0" toolstyle="true" transparent="false" color="#8080C0" textcolor="yellow" priority="85">
<caption>Eat @fcounter</caption>
<value>br</value>
</button>
</cmud>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<alias name="br">
<value>#T+ consuming;get @food @cont;eat @food</value>
</alias>
</cmud>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<trigger priority="1290">
<pattern>You eat</pattern>
<value>fcounter=%eval(@fcounter-1);#echo You have @fcounter portions left.;#T- consuming</value>
</trigger>
</cmud>
And now! Here comes an example.
*
* I typed the 'who' command from the command line.
*
(HP 100%) (ME 83%) (PE 98%) ( 8pm )
>who
[Hum ---]
.
.
.
A list of players on the mud.
.
.
.
[--- Pal] John Hancock
Players found: 15
(HP 100%) (ME 83%) (PE 98%) ( 8pm )
>
You are hungry.
*
* Then I pressed my button for eating.
*
(HP 100%) (ME 80%) (PE 100%) ( 8pm )
>get swordfish purple
eat swordfish
You get a northern sea swordfish from a large deep purple knapsack.
(HP 100%) (ME 80%) (PE 100%) ( 8pm )
>You eat a northern sea swordfish.
You have 10 portions left.
You are no longer hungry.
*
* Here, I pressed another button, which makes me visible.
*
(HP 100%) (ME 80%) (PE 100%) ( 8pm )
>visible
You are no longer invisible.
Ok.
*
* Now I use the keypad for navigating. All I do from now, is perssing the same direction,
* until it goes through the bloody door.
*
(HP 100%) (ME 80%) (PE 100%) ( 8pm )
>se
The cottage door is closed.
open who
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>I see no who here.
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>se
The cottage door is closed.
open get swordfish purple
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>I see no get here.
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>se
The cottage door is closed.
open eat swordfish
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>I see no eat here.
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>se
The cottage door is closed.
open visible
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>I see no visible here.
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>se
The cottage door is closed.
open se
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>You open the cottage door.
se
l
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>You soar southeast.
The Ambassador's Cottage
This cottage's main room is simply furnished with a few comfortable
chairs arranged in front of a desk. The walls are covered in tapestries
depicting scenes from the Ayamaoan Alliance. There are pictures of the
Elven tree fortress of Sith'a'niel, the Centaur village of Grahme, and the
Sprite palace in Elisair. A bookshelf lines the eastern wall, and a doorway
leading to the ambassador's tiny sleeping chamber lies on the western wall.
Obvious exits: nw
The Ayamaoan ambassador is reading behind his desk.
An imposing chimera soars in from northwest.
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>
The Ambassador's Cottage
This cottage's main room is simply furnished with a few comfortable
chairs arranged in front of a desk. The walls are covered in tapestries
depicting scenes from the Ayamaoan Alliance. There are pictures of the
Elven tree fortress of Sith'a'niel, the Centaur village of Grahme, and the
Sprite palace in Elisair. A bookshelf lines the eastern wall, and a doorway
leading to the ambassador's tiny sleeping chamber lies on the western wall.
Obvious exits: nw
(Charmed) An imposing three-headed beast stands here.
The Ayamaoan ambassador is reading behind his desk.
*
* I think it is clear what happens in the back. The only thing which is not visible is my mapper.
* At this point it created the room I've just entered, then created once more, one step further
* into the same direction, but the first is with a door, the second is without. I deleted the
* wrong one, set the position to the right one, and now I press num7 to go back through the
* door, which is actually open at the moment, but the mapper doesn't know this (I don't really
* care about it for the moment, because the only thing what happens is it would get an answer
* that the door is already open... BUT! I pressed num7, and this is what happened:
*
(HP 100%) (ME 80%) (PE 100%) ( 9pm )
>open
nw
Open what?
(HP 100%) (ME 79%) (PE 100%) ( 9pm )
>You soar northwest.
Ayamaoan Embassy Courtyard
This courtyard is filled with samples of the flora found within the
wild lands of Ayamao. You see berry brambles, wildflowers,
and trees laden with fruits and nuts. Small songbirds fly from
the trees to the brambles as the fragrances of the flowers wash over you.
To the southeast is a small cottage where the ambassador resides and holds
audience with the visitors to the embassy, while to the south is another
small building with sleeping quarters for the guests. There is a small
fountain in the center of the courtyard with a few small wooden
benches around it.
It's mostly clear, mild, and breezy.
Obvious exits: s(closed) w se
A small fountain is here.
A sprite guard stands watch here.
A centaur guard stands watch here.
An imposing chimera soars in from southeast.
*
* Something put a new line between open and the direction! And straight after this
* I press num2 to go south to the direction of an already mapped door, which is closed
* at the moment (as you see from the exits line)
*
(HP 100%) (ME 79%) (PE 100%) ( 9pm )
>s
The cottage door is closed.
open s
(HP 100%) (ME 79%) (PE 100%) ( 9pm )
>You open the cottage door.
s
l
(HP 100%) (ME 79%) (PE 100%) ( 9pm )
>You soar south.
Visitor Sleeping Quarters
This building is divided in half, with one half containing cots and a
table for the gate guards and the other half containing several beds for the
guests of the embassy to rest on. Two off-duty guards are resting on their
cots.
Obvious exits: n
A sprite guard is resting here, trying to sleep.
A centaur guard is sleeping here.
An imposing chimera soars in from the north.
(HP 100%) (ME 79%) (PE 100%) ( 9pm )
>
Visitor Sleeping Quarters
This building is divided in half, with one half containing cots and a
table for the gate guards and the other half containing several beds for the
guests of the embassy to rest on. Two off-duty guards are resting on their
cots.
Obvious exits: n
(Charmed) An imposing three-headed beast stands here.
A sprite guard is resting here, trying to sleep.
A centaur guard is sleeping here.
That's it. Any ideas?
Oh! The unmapped rooms!
This is how the wilderness areas look like, and how the mapper handles them (this first is the yellow one actually):
Zhang Desert
ddddddpp\ Sand flows in little ripples across the ground. It looks as
dddddpyy| if the river of sand was suddenly stopped in its flow through
bbbb*dpy% small rapids. It's mostly clear, very, very hot, and calm.
~~~~bbbb~
~~~~~~~~~
Obvious exits: n e s w nw ne sw se
The mapper fills the Room name line with this:
~~~~bbbb~
And:
The entrance to Teron
You have arrived at the entrance to Teron. The solid
\vrv/yy limestone walls tower above you, completely surrounding the city
y# *--? and any view inside. There is a set of huge gates, which look to
yy#rryy be the only way past the walls. Looking inside you can see
soldiers guarding the area. It's mostly clear, mild, and calm.
Obvious exits: n e s w nw ne sw se gates
The huge gates to the city of Chaos, Teron, are here.
Mapper puts this into Room name:
You have arrived at the entrance to Teron. The solid
And this into description:
You have arrived at the entrance to Teron. The solid
rv/ limestone walls tower above you, completely surrounding the city
Pretty good, isn't it?
:) |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Mon Jun 11, 2012 3:44 pm |
Well, one thing that may help is "#NODIR 1", which wipes out the entire movement queue in the mapper. That should solve the double-room creation. Get rid of the look command; you shouldn't need it.
You are trying to use %lastdir as a command in "open %lastdir;%lastdir;#nodir;l;#T- doors". You can't do that. You cannot start any command with something beginning with % or @ (i.e. variables or functions). The proper way to do it would be: open %lastdir;#SEND %lastdir;#nodir;l;#T- doors"
%lastdir can't tell what is an actual movement command until it gets parsed, so it actually contains the entire command queue. You are correct that it does not always seem to keep up with the actual direction command it is working on; it often keeps thinking that an old command may be a direction. The mapper direction queue is very strange; it's like it is simultaneously testing several commands at once to see whether they might be directions. I never use %lastdir. I recommend finding some other way of dealing with doors.
For the unnmapped areas...you will have great difficulty getting the wilderness areas mapped correctly. The only way to correctly get the descriptions will be to use #TAG triggers. But it will be tricky getting your trigger to figure out which line starts the description. And to make the configuration work for every zone, you would have to have #TAG triggers for non-wilderness room descriptions, too. I'm afraid that this mud is going to be rather difficult for map triggers. |
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Mon Jun 11, 2012 5:34 pm |
Thank you for the tips, I made changes, and will see soon if they worked. About the #TAG triggers... I never used them before, so I guess I need to start digging into the topic. Well. Next weekend maybe. :)
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Wed Jun 13, 2012 6:10 pm |
Thanks again for the tips, it made the mapper work with doors and such. Now I need to get involved with this TAG command I think for the outside areas...
Cheers! |
|
|
|
MattLofton GURU
Joined: 23 Dec 2000 Posts: 4834 Location: USA
|
Posted: Thu Jun 14, 2012 12:27 am |
#TAG will apply to the entire map, not just to the outdoor areas.
|
|
_________________ EDIT: I didn't like my old signature |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Thu Jun 14, 2012 1:46 pm |
Here's a trick I just used on a new mud: I have a #TAG for room descriptions that applies everywhere except in one zone; this #TAG is in a named trigger. I have another trigger with a #TAG only for the wilderness zone; this trigger is in a Zone script.
Zone scripts are actually just scripts inside a Class which is enabled only while you are in that zone. Cmud automatically enables and disables the class as you move in and out. There are also Room scripts which act in a comparable fashion. Another neat feature of Classes is that you can have them do things automatically when the are enabled or disabled. This is done by clicking the appropriate tab at the bottom of the Editor window of the Package Editor, and writing the script. So, on my wilderness zone class, I have an enable script that disables the generic #TAG trigger, and a disable script that enables the generic #TAG trigger again. The effect is that I have one #TAG trigger active for the wilderness, and another active everywhere else. |
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Fri Jun 15, 2012 11:00 am |
This is good, Rahab. Definitely the way to go. But I need to work on it, and find out, how to combine the patterns... I don't have a lot time lately, but I'll post whatever result I'll get. Thanks for the idea. I was thinking about something similar, but it's good to see, that it actually works for someone else, and it won't be a waste of time trying.
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Sat Jun 16, 2012 11:33 am |
Okay, I started to fiddle around a little bit, but couldn't get the right pattern...
The response from the mud is always the same while moving around, I just don't know how to properly put it in a pattern.
There are different movements soar|flit|jog|walk and of course the directions, so every time I move to a direction, the answer from the mud for example is:
You {movement type} {direction}.
{Room Name}
{Multiple line description
}
Obvious exits: {short directions}
{objects and characters in the room}
{prompt including status}
>
The number of lines in the description is between 4 and 20 and can contain special characters.
But "Obvious exits" is always in the next line to the last of description.
Any ideas? |
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Sat Jun 16, 2012 5:39 pm |
Try this:
Code: |
<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
<trigger priority="98430" copy="yes">
<pattern>^You %w (%w).$</pattern>
<value>RoomData = %null( )
#ADDKEY RoomData Direction %1</value>
<trigger type="Within Lines" param="1">
<pattern>^$</pattern>
</trigger>
<trigger type="Within Lines" param="1">
<pattern>^(*)$</pattern>
<value>#ADDKEY RoomData Name %1</value>
</trigger>
<trigger type="Manual">
<pattern>^(*)$</pattern>
<value>#IF %match( %1, "^Obvious exits: (*)$", $exits) {
#ADDKEY RoomData Exits $exits
#STATE 4
} {
$desc = %db( @RoomData, Description)
#ADDITEM $desc %1
#ADDKEY RoomData Description $desc
}</value>
</trigger>
<trigger type="Manual">
<pattern>^(*)$</pattern>
<value>#IF (%1 = "") {#STATE 5} {
$contents = %db( @RoomData, Contents)
#ADDITEM $contents %1
#ADDKEY RoomData Contents $contents
}</value>
</trigger>
<trigger type="Within Lines" param="1">
<pattern>^~(HP (%d)~%~) ~(ME (%d)~%~) ~(PE (%d)~%~) ~( (%d%w) ~)$</pattern>
<value>// Not sure if you want to do anything with this...</value>
</trigger>
<trigger>
<pattern>^></pattern>
</trigger>
</trigger>
</cmud> |
This is just adding everything to a database variable, you could do whatever you want with it though. |
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Mon Jun 18, 2012 8:19 am |
It said error parsing: ^(*)$</pattern>
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Mon Jun 18, 2012 4:15 pm |
That's strange, it imports fine for me... how are you trying to add it, exactly?
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Mon Jun 18, 2012 11:22 pm |
Um.. I actually just pasted it into the command line. Me silly!
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 19, 2012 12:05 am |
It still has something... It says it triggered but didn't complete.
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: Tue Jun 19, 2012 12:29 am |
You need to paste XML into the package editor, not the command line.
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 19, 2012 9:52 am |
I imported the xml into the package editor, it created the trigger group, but when it fires, the third trigger state stays incompiled.
You walk south.
Sith'a'niel Commons
Thick branches, bending this way or that and laden with hastate,
ERROR: Trigger "^(*)$" fired but did not compile
evergreen leaves grow radially from the trunk of this ancient, enormous
ERROR: Trigger "^(*)$" fired but did not compile
tree. A wooden platform, balanced on the tree's crooked arms has been
ERROR: Trigger "^(*)$" fired but did not compile
constructed peripherally, snake-like vines holding it in place. The tree's
ERROR: Trigger "^(*)$" fired but did not compile
crown creates a natural canopy, allowing the few shafts of light from above
ERROR: Trigger "^(*)$" fired but did not compile
to stream into the area. Pieces of gossamer silk, colored in soft, pastel
ERROR: Trigger "^(*)$" fired but did not compile
shades hang from the "roof", keeping away some of the elements. A thorny
ERROR: Trigger "^(*)$" fired but did not compile
tangle of intertwined twigs and flowers cascades from the canopy, the
ERROR: Trigger "^(*)$" fired but did not compile
natural "walls" enclosing the area. Numerous patchwork hammocks and swings
ERROR: Trigger "^(*)$" fired but did not compile
dangle from the ceiling, providing cozy spots to rest in and gaze down to
ERROR: Trigger "^(*)$" fired but did not compile
the treecity.
ERROR: Trigger "^(*)$" fired but did not compile
Obvious exits: n ne
ERROR: Trigger "^(*)$" fired but did not compile
A large bronze bin rests in the southwest corner.
ERROR: Trigger "^(*)$" fired but did not compile
A long wooden desk with a book for checking in stands here.
ERROR: Trigger "^(*)$" fired but did not compile
A leaf-system, capturing rainwater flows into a basin.
ERROR: Trigger "^(*)$" fired but did not compile
Davynn the innkeeper stands here putting entries in the book.
ERROR: Trigger "^(*)$" fired but did not compile
One of the paladins of Sith'a'niel is standing guard here.
ERROR: Trigger "^(*)$" fired but did not compile
A thick-maned lion walks in from the north.
ERROR: Trigger "^(*)$" fired but did not compile
ERROR: Trigger "^(*)$" fired but did not compile
(HP 100%) (ME 88%) (PE 100%) ( 10pm )
ERROR: Trigger "^(*)$" fired but did not compile
>
ERROR: Trigger "^(*)$" fired but did not compile
Davynn the innkeeper acknowledges your presence with a nod.
ERROR: Trigger "^(*)$" fired but did not compile
ERROR: Trigger "^(*)$" fired but did not compile
(HP 100%) (ME 88%) (PE 100%) ( 10pm )
ERROR: Trigger "^(*)$" fired but did not compile
>
ERROR: Trigger "^(*)$" fired but did not compile
Your spirit feels more settled.
ERROR: Trigger "^(*)$" fired but did not compile
ERROR: Trigger "^(*)$" fired but did not compile
(HP 100%) (ME 90%) (PE 100%) ( 10pm )
ERROR: Trigger "^(*)$" fired but did not compile
>
Also, the DB has no database opened or active at all.. |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jun 19, 2012 1:02 pm |
I think this\
Code: |
#IF %match( %1, "^Obvious exits: (*)$", $exits) { |
should be
Code: |
#IF (%match( %1, "^Obvious exits: (*)$", $exits)) { |
|
|
|
|
xgoldxbox Beginner
Joined: 05 Jun 2012 Posts: 19
|
Posted: Tue Jun 19, 2012 2:03 pm |
Okay, do I need to creata a database myself, or is it supposed to do it on its own?
I'm sorry, but I'm far from expert in databases... |
|
|
|
Rahab Wizard
Joined: 22 Mar 2007 Posts: 2320
|
Posted: Tue Jun 19, 2012 4:21 pm |
If I'm reading the code correctly, @RoomData will be a database variable. However, Daern's code does not actually execute the #TAG commands to give the information to the mapper. To do the mapper tags, you could change this part:
Code: |
#IF %match( %1, "^Obvious exits: (*)$", $exits) {
#ADDKEY RoomData Exits $exits
#STATE 4
|
to this:
Code: |
#IF %match( %1, "^Obvious exits: (*)$", $exits) {
#ADDKEY RoomData Exits $exits
#TAG name @RoomData.Name
#TAG desc @RoomData.Description
#TAG exits @RoomData.Exits
#STATE 4
|
If you get this trigger working, you can then reconfigure the mapper. The reconfiguration will make the mapper realize you are using #TAG, and use that information rather than trying to parse out the data itself.
Another thing--if you get this working, you can add some code to modify the description data to remove the ascii map part before it gets tagged, when you are in the wilderness zone. That will avoid the need to use my trick of two alternative description tags. |
|
|
|
|
|
|
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
|
|