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
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Sat Sep 19, 2009 8:52 am   

[BUG/Feature Request] Getting mapper to work correctly in safe/slow on Aardwolf
 
This bit is solved:

Just a major annoyance of mine... the AutoMapper hi-jacks the "Del" key here.

So I end up with this alot:

cats 'natures touch' self [home] [right right] [delete] ..... Would you like to remove room X? [NO] [NO!!] [STOP ASKING ME!!!]

Can't find the option to re-hijack my delete key... *tear*.

Now, at the bottom, I have listed my Aardwolf mapper class with all of the over-rides to hopefully get it working


Last edited by Liath on Thu Sep 24, 2009 3:21 pm; edited 2 times in total
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4690
Location: Pensacola, FL, USA

PostPosted: Sat Sep 19, 2009 2:28 pm   
 
what you do is take the map out of edit mode when your in combat and whatnot

or just make sure your main session window has focus
_________________
Discord: Shalimarwildcat
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Sat Sep 19, 2009 5:07 pm   
 
This is already fixed in the 3.10 beta version.
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Sat Sep 19, 2009 5:30 pm   
 
Is the beta worth it?
Kinda leery after the last round before my HD died and I had to re-install... the beta crashed alot last time :(
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4690
Location: Pensacola, FL, USA

PostPosted: Sat Sep 19, 2009 5:56 pm   
 
I've never had an unworkaroundable issue with it myself.
At least not for long, Zugg is on top of his game.
_________________
Discord: Shalimarwildcat
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Sat Sep 19, 2009 9:04 pm   
 
Upgraded :P I'm happier with the map load times, the map not jacking keys...

but now, no follow mode works other than fastwalk. No safe or slow walking now.

Of course, I play Aardwolf, with all the tags on, and room-names, room-descs, and exits are all tagged. Had some quirks before but now slow and safe are completely fubar :(
Reply with quote
shalimar
GURU


Joined: 04 Aug 2002
Posts: 4690
Location: Pensacola, FL, USA

PostPosted: Sun Sep 20, 2009 12:49 am   
 
make your own #OK trigger for the room exits line, or something else that shows up every room, and you should be able to slow walk fine
_________________
Discord: Shalimarwildcat
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Mon Sep 21, 2009 4:22 pm   
 
speedwalkign seems to work okay with that fix but one thing that still bugs out is that if you're making the map (in mapping mode) and you do a few steps at once and in more than one direction, the mapper flips out. I end up with the mapper not picking up directions/rooms, room names/descs/exits being wrong, etc. What really kills me is that I have triggers to capture each part of a room, and they always fire correctly. (really, they do, aardwolf uses tags [which when on the mapper doesn't work at all])

I end up with rooms called everything from the message from a spell running out, to parts of room's descriptions. I imagine it has something do do with the way the mapper pulls information from the mud window. I wish I could just turn off the built-in detection completely, and have it use exactly what I tell it and nothing else :P
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Mon Sep 21, 2009 4:30 pm   
 
Make sure you have reconfigured the mapper in the Beta (Config/Reconfig menu item). I use SAFE speedwalking all the time when playing Aardwolf and the 3.10 beta works fine for me here.

You might also want to post your full tag scripts. You shouldn't need to tag *everything*. In my Aardwolf settings, I only tag the room name just because sometimes there is a (G) at the end of a room name (for grafitti) that can mess up the mapper.

But if Safe/Slow do not work, that means your mapper configuration is not set up correctly. Fast mode ignores the mapper configuration.

Quote:
I wish I could just turn off the built-in detection completely, and have it use exactly what I tell it and nothing else

That is planned for the next phase of the mapper rewrite, along with ways to share mapper configuration for specific MUDs easily via the shared package library.
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Thu Sep 24, 2009 5:53 am   
 
Cool-beans on the re-write.

Here is my whole "Mapper" class (btw, where did automapper/automapperall go?)
Code:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<cmud>
  <class name="Mapper" copy="yes">
    <class name="NODIRs" copy="yes">
      <trigger priority="720" copy="yes">
        <pattern>^{Alas, you cannot go that way.|You try to hop over the shrubbery and fall flat on your back!|Only a(*)can enter that room.}$</pattern>
        <value>#NODIR
#NOdir</value>
      </trigger>
      <class name="Doors" copy="yes">
        <trigger priority="1310" copy="yes">
          <pattern>^The (*) is closed.$</pattern>
          <value>#door %lastdir %1
open %lastdir
map
#nodir</value>
        </trigger>
        <trigger priority="2170" copy="yes">
          <pattern>^(*) is locked (*) do not have a key.$</pattern>
          <value>#NODIR</value>
        </trigger>
      </class>
      <trigger priority="720" copy="yes">
        <pattern>^{~[*Minimum Level*~]|You can't * while resting.|You dream about moving (*)}$</pattern>
        <value>#nodir</value>
      </trigger>
    </class>
    <class name="Overrides" copy="yes">
      <trigger name="roomName" priority="80" copy="yes">
        <pattern>^~{rname~}(*)$</pattern>
        <value>$roomName=%subregex( %subregex( %stripansi( %1), "\[\*\*> (?:CMAZE|PK) <\*\*\]", ""), "\(G\)", "")
#tag name $roomName
#substitute {%ansi( green, high)$roomName}</value>
      </trigger>
      <trigger name="roomCoords" priority="80" copy="yes">
        <pattern>^~{coords~}(*)$</pattern>
        <value>#nomap
#gag</value>
      </trigger>
      <trigger name="roomDescEnd" priority="80" copy="yes">
        <pattern>^~{/rdesc~}$</pattern>
        <value>#gag
#if (!%maplocked) {
  #nomap
  #t- descGetter
  roomDesc=%subregex( @roomDesc, "\{rdesc\}\r  \{\/rdesc\}", "");
  roomDesc=%subregex( @roomDesc, "\{rdesc\}\r", "")
  roomDesc=%subregex( @roomDesc, "\{\/rdesc\}\r", "")
  roomDesc=%subregex( @roomDesc, "\{\/rdesc\}", "")
  roomDesc= %replace( @roomDesc, "\{\/rdesc\}", "")
  #tag desc @roomDesc
  roomDesc=""
  }</value>
      </trigger>
      <trigger name="roomDescStart" priority="80" copy="yes">
        <pattern>^~{rdesc~}$</pattern>
        <value>#gag
#if (!%maplocked) {
  #nomap
  #t+ descGetter
  }</value>
      </trigger>
      <trigger name="roomExits" priority="80" copy="yes">
        <pattern>^~{exits~}~[Exits: (*)~]$</pattern>
        <value>$roomExits=%stripansi ( %1)
$roomExits=%replace ( $roomExits, "[Exits: ", "")
$roomExits=%replace ( $roomExits, "]", "")
$roomExits=%replace ( $roomExits, " ", "|")
#forall $roomExits {#tag exit %i}
#substitute {%ansi( green, high)Exits~: %ansi( yellow, high)%1}</value>
      </trigger>
      <trigger priority="80" copy="yes">
        <pattern>^~{{/roomobjs|roomobjs}~}$</pattern>
        <value>#gag</value>
      </trigger>
      <trigger priority="80" copy="yes">
        <pattern>^~{{/roomchars|roomchars}~}$</pattern>
        <value>#gag</value>
      </trigger>
      <trigger priority="80" copy="yes">
        <pattern>^~$</pattern>
        <value>#substitute {}
#if (!%maplocked) {#t+ noMap}
#gagon
#clr MiniMap
#c+ MiniMap</value>
      </trigger>
      <trigger name="descGetter" priority="80" enabled="false" copy="yes">
        <pattern>^(*)$</pattern>
        <value>#var roomDesc {%concat(@roomDesc,%1,%cr)}</value>
      </trigger>
      <trigger name="noMap" priority="80" enabled="false" copy="yes">
        <pattern>^(*)$</pattern>
        <value>#nomap</value>
      </trigger>
      <trigger priority="80" copy="yes">
        <pattern>^~$</pattern>
        <value>#if (!%maplocked) {
  #nomap
  #t- noMap
}
#substitute {}
#gagoff
#c-
#execwin MiniMap {#gag}</value>
      </trigger>
      <var name="roomDesc" type="String" copy="yes"/>
      <trigger name="Prompt" priority="1560" enabled="false" copy="yes">
        <pattern>^~[(%d)/(%d)hp (%d)/(%d)mn (%d)/(%d)mv (%d)qt (%d)tnl~] ~>$</pattern>
        <value>#OK</value>
      </trigger>
    </class>
    <class name="Portals" copy="yes">
      <alias name="rec" copy="yes">
        <value>use_Portal garbage can</value>
      </alias>
      <var name="cur_port" type="String" copy="yes"/>
      <trigger priority="1490" copy="yes">
        <pattern>^WHOOOOOOOOOOOOSH!$</pattern>
        <value>#if %mapquery( "[IDName] LIKE '%"@cur_port"%'") {
  #teleport @cur_port
  #variable cur_port {}
  } {#say I have no IDEA where that is!}</value>
      </trigger>
      <alias name="use_Portal" copy="yes">
        <value>#variable cur_port {%params}
open '@eq_bag'
get '@cur_port' '@eq_bag'
remove '@eq_hold'
~hold '@cur_port'
enter
remove '@cur_port'
~hold '@eq_hold'
put '@cur_port' '@eq_bag'
close '@eq_bag'</value>
      </alias>
    </class>
    <class name="Speedwalk" copy="yes">
      <alias name="run" copy="yes">
        <value>#call %maplocked(1)
$temp_sw=%concat(".",%params)
$temp_sw=%params
#walk $temp_sw</value>
      </alias>
      <alias name="slow" copy="yes">
        <value>#call %maplocked(0)
//$temp_sw=%concat(".",%params)
$temp_sw=%params
#slow $temp_sw</value>
      </alias>
    </class>
    <class name="Misc" copy="yes">
      <trigger priority="2720" copy="yes">
        <pattern>You flee from combat!$</pattern>
        <value>#alarm {+2} {#find}</value>
      </trigger>
      <trigger priority="3040" copy="yes">
        <pattern>^map$</pattern>
        <value>#gag</value>
      </trigger>
    </class>
  </class>
</cmud>


I dunno if it matters, but I just hit control-c while the class was selected... didn't do the whole "export xml" thing. If it matters I'll re-post.

BTW, like... 99.9% of this is courtesy of Chosig.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Thu Sep 24, 2009 3:58 pm   
 
I haven't played with the full set of {} tags turned on in Aardwolf, but I'll still try to give some feedback on this.

Rather than trying to completely override the mapper at this time, try to let the mapper handle as much as it can. The mapper actually excels at parsing room exit information. Specifically, the "#TAG exit" command is already set up to handle multiple exit names within a single string separated by any delimiter. For example, you can use:

#TAG exit "Exits: n, w, s, e"

and the mapper will properly parse it. The #TAG command currently works best if you only use it once per room. So, remove the loop for your Exit tagging and just send the entire string from the MUD using "#TAG exit $roomExits". You don't even need to replace the spaces with | characters or remove the Exits: text or brackets.

I wouldn't worry about trying to tag the Description of the room. The mapper will normally capture the text between the room name and the exit line as description text, and it doesn't really need to match the MUD {roomdesc} stuff exactly.

Finally, when using #tag, it's also important to tag the MUD prompt. The mapper will create the new room based upon your #TAG commands when it has a Name and Exit information and then you tag a MUD prompt. The prompt detection in the mapper is pretty good and you can already set up a trigger pattern for the prompt in the "MUD Prompt" tag of the Mapper Configuration properties.

And remember that when ever you use #TAG commands, you still *MUST* re-configure the mapper after creating the tag triggers. The mapper will use the values from #TAG in place of it's auto-detection, but the mapper needs the re-configuration to detect that you are using the #TAG commands.

When trying to get SAFE mode to work, go into your Map configuration preferences page and look at the Room Name tab. You should make sure the "Match Room Name at Start" and "Match Room Name at End" are turned off. SAFE mode depends upon the room name from the MUD matching the name stored in the mapper, then receiving a MUD prompt. In the "MUD Prompt" tab you can also play with some of the settings, such as the "Allow blank line to trigger speedwalking".
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Fri Sep 25, 2009 6:56 am   
 
well, that works a little bit better, but still, the only issue I have is if I enter several commands for movement at the same time.
If I move .22x (where x is n, s, e, w) then it usually is fine... but!!
If I do something like .newsnews then it ALWAYS wiggs out and makes room more like .neesewns or something.
Reply with quote
Zugg
MASTER


Joined: 25 Sep 2000
Posts: 23379
Location: Colorado, USA

PostPosted: Fri Sep 25, 2009 12:55 pm   
 
I have seen that happen before. Usually it happens because there is just one room on my map that doesn't have exactly the right room name. In fact, I used to have this problem with the rooms that had (G) in their name, but your script seems like it should be handling that.

Anyway, see if you can pin down the problem to a specific room or set of rooms.

On Aardwolf, I do speedwalking all the time to get to various zones to do quests quickly. I'm not in front of the computer that has my Aardwolf settings right now, but I'll post one of my useful scripts later. What it does is to find the first room in a named zone, then send a speedwalk #WALK command to send me there.

So from anywhere on the MUD, I can type "go zonename" and speedwalk to the name zone. And I haven't had this fail for a long time now, although early on when I was making the map I definitely had some rooms that caused trouble sometimes. Usually just going to the problem room and typing #LOOK to recapture the map info was enough to fix it.
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Fri Sep 25, 2009 4:29 pm   
 
This also happens when making the map, when I'm in mapping mode. I would think that with the triggers it should be capturing each room correctly.

Just an odd thing I've noticed is that I really think it has something to do with #GAG. I've noticed that when I have my roomobjs and roomchars tags on and those triggers fire it makes it worse.

Just to test it, I tried replacing 'south' in the default mapper autoconfig with multiple directions just to see what happened, and it seemed to me that in the places with more "#gag"s it looked like the mapper was capturing the text, then the mapper would have information really weird, like it was capturing exits *before* the exit line, and such.

I'll see if I can get a screenie and email it to you.


I got several, actually. I've found that generally speaking the results window shows what the mapper is detecting. And so far, its WAY off. Works one room at a time, so where its getting stupid is when multiple moves are made in succession.

I emailed you a few screenies of the reconfigure process, and what happened when I sent a command (the same I used in the autoconfigure screen)
Reply with quote
Liath
Novice


Joined: 25 Aug 2009
Posts: 38

PostPosted: Mon Sep 28, 2009 3:17 am   
 
Hopefully you got that set of screenies. If you want I could just upload you my whole package file. maybe you can figure out why it isn't working properly. I've reconfigured the map till it is probably sick of me, and I've tried turning that roomdesc trigger back on and it seems like it help swith safe/slow walking, but it still utterly screws up on speedwalks and multiple directions while I map.
Thing that kills me is that were it trips up is not if I go *one* direction. its only if I go multiple directions. (Though lately it wont even do that)
I used to be able to go say, .22w and it would map 22 rooms. That doesn't even work now... probably due to all of the 'fixxing' and forcing i've been trying to get it to not be retarded.

Btw, worlds worst room for the mapper so far... the recall room. I always had issues with that room... somethign with the description. end up with the room called "game)." or something along those lines.
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