|
Posideon Beginner
Joined: 06 Feb 2005 Posts: 26
|
Posted: Sun Sep 13, 2009 2:06 pm
Automapping while following / farseeing into rooms |
Here's what I'm trying to do... I want to map zones as I follow people around. I can get the rooms made with a few triggers that use #MAKEROOM I am however having trouble capturing these roomnames/exits as i use brief there's no descriptions to capture. I've tried to do this with tags and such and that's not doing anything for me either. If someone could help would be greatly appreciated. I've also been scouring these forums for all mapping topics and none of them seem to have helped.
Here's the mud output when i farsee into a room
Quote: |
Looks like an exit.
You extend your sights southward.
The Executioners Stage of the Celestial Bazaar
Obvious exits: -N -E -S -W
A very large guillotine sits at the center of this room.
A wealthy merchant from another city stands here.
One of the local nobles walks around the city.
Muredach the Executioner sits on a chair by the guilotine.(Red Aura)
< 475h/475H 153v/153V Pos: standing >
<>
|
trigger I currently have which will make the room, but not capture anything (name/exits)
Code: |
<trigger priority="2450" id="245">
<pattern>You extend your sights (%w)ward.</pattern>
<value>#makeroom %1</value>
<trigger>
<pattern>(*)</pattern>
<value>RoomName=%1
#TAG name @RoomName</value>
</trigger>
<trigger>
<pattern>(*)</pattern>
<value>RoomExit = %1
#TAG exit @RoomExit</value>
</trigger>
</trigger>
|
Thanks in advanced. I've always been helped by you guys and it's great!
Using CMUD V 3.10a |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Sun Sep 13, 2009 4:36 pm |
Using #TAG is really intended to work in conjunction with Automapper (your actually over-riding) what it has detected. These values need to be set before you call #MAKEROOM. You may also want to look at things like the Room functions and others like %roomexit and %roomportal.
The other thing is even in your basic creation of the room. Right now your trigger captures the room direction makes the room then tries to set the description other properties. I would store the direction in a variable first then use #MAKEROOM to create the room after you've captured the room name as well. What you should is store the direction in a variable, and after you've #TAGed the room name, exits etc, then call #MAKEROOM using only the direction. That should tell CMUD to use the #TAGged info to fill in the rest.
I hope that helps. |
|
_________________ Asati di tempari! |
|
|
|
Posideon Beginner
Joined: 06 Feb 2005 Posts: 26
|
Posted: Sun Sep 13, 2009 5:10 pm |
Well, not sure, but changing the tags seems to do nothing, my trigger is now this.
Code: |
<trigger priority="2450" id="245">
<pattern>You extend your sights (%w)ward.</pattern>
<value>RoomDir = %1
</value>
<trigger>
<pattern>(*)</pattern>
<value>RoomName=%1
</value>
</trigger>
<trigger>
<pattern>Obvious exits: (*)</pattern>
<value>RoomExit = %1
#SAY @RoomName
#SAY @RoomExit
#TAG name, exit {@RoomName} {@RoomExit}
#makeroom @RoomDir
#OK
#say {Reverse dir: %reversedir(@RoomDir,1)}
#move %reversedir(@RoomDir,1)</value>
</trigger>
</trigger>
|
Using %roomname and %roomexits and such to manipulate may work, but I would rather tag it and let the mapper do it's thing than manipulate it in that way. If I do need to manipulate it as such, how would i change the exit trigger so it can capture -N -E -W -S and whatever so i know....
Thanks for the quick reply Tech |
|
|
|
Posideon Beginner
Joined: 06 Feb 2005 Posts: 26
|
Posted: Tue Sep 15, 2009 5:23 am |
Thought I'd post an update in case anyone else wanted to do something similar, I've got something working... Here's the xml for the two triggers
Code: |
<trigger name="Farsee" priority="2450" id="13">
<pattern>You extend your sights (%w)ward.</pattern>
<value>RoomDir = %1
RoomExit = {}</value>
<trigger>
<pattern>(*)</pattern>
<value>RoomName=%1
</value>
</trigger>
<trigger type="Manual">
<pattern>-(%w)</pattern>
<value>#T+ FarseeResetter
#additem RoomExit %1</value>
</trigger>
<trigger>
<pattern>*</pattern>
<value>#CALL %maplocked(0)
#TAG name, exit {@RoomName} {@RoomExit}
#makeroom @RoomDir {@RoomName}
#CALL %roomexit(,@RoomExit)
#move %reversedir(@RoomDir,1)
#call %maplocked(1)</value>
</trigger>
</trigger>
|
And the other one...
Code: |
<trigger name="FarseeResetter" priority="2453" enabled="false" id="27">
<pattern>Obvious exits</pattern>
<value>#STATE Farsee 3
#T- FarseeResetter</value>
</trigger>
|
Seems to be working alright, I still don't understand why the tagging didn't work well I still do it, but it doesn't seem to do anything. |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Tue Sep 15, 2009 1:27 pm |
I re-read the TAG documentation... it's only used when you supply no information at all (i.e. not even the direction). It gets the direction from the map queue.
|
|
_________________ Asati di tempari! |
|
|
|
|
|