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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD General Discussion
Posideon
Beginner


Joined: 06 Feb 2005
Posts: 26

PostPosted: 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
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: 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!
Reply with quote
Posideon
Beginner


Joined: 06 Feb 2005
Posts: 26

PostPosted: 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
Reply with quote
Posideon
Beginner


Joined: 06 Feb 2005
Posts: 26

PostPosted: 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.
Reply with quote
Tech
GURU


Joined: 18 Oct 2000
Posts: 2733
Location: Atlanta, USA

PostPosted: 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!
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD 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