|
Dodgester Wanderer
Joined: 17 Nov 2005 Posts: 65
|
Posted: Mon Dec 29, 2008 2:38 am
Speedwalking/Safe Mode |
When walking, there are rooms that sometimes works and sometimes doesn't. The automapper in creation mode works fine other than for it's known issues, but the safe mode bit for checking doesn't work as expected, so as a result, I ended up having to mark it to ignore output, but then that also creates an issue with aggro mobs. This has been a known issue (at least to me even under zMUD). I also have noticed a significant delay while in safe mode before the map updates the location for when it does work. I'm not sure if all of the room names are like triggers, or if it's having to search through the various records in the MDB (hence one reason for either case like to use SQL with just records involving the zone itself rathe than across the entire world, which would mean having to use temporary tables when going from one zone to another, but then this could also lead to another performance issue when speedwalking through multiple zones, so not really sure what would be the best way to deal with this sort of issue).
|
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Mon Dec 29, 2008 3:28 am |
This happens because the room name in the mapper doesn't match what the MUD is sending. It works in creation mode because in that mode, a new room's created with new details - you'll probably find you have a whole bunch of new rooms stacked on top of old rooms that you'll need to merge together.
A number of things can cause this, but it's chiefly either that you've changed something that's changed the text the MUD is sending, or you've changed your mapper configuration somehow. Check that the name the mapper has exactly matches the text that the MUD is sending. If the room name isn't always the only thing on the line, you should uncheck the "Match room name at start/end of line" boxes in the mapper configuration.
The way that the mapper checks the names while speedwalking is simply to create a trigger for the room name it has stored, which executes the #ok command. If it's not working, it means that trigger's not matching for some reason.
Oh, and by the way, which version of CMUD are you using? |
|
|
|
Dodgester Wanderer
Joined: 17 Nov 2005 Posts: 65
|
Posted: Mon Dec 29, 2008 5:45 am |
CMUD 2.37
I have checked those different things and even in regards to the first line description matching as well which nothing seems to work for me. I have worked with the mapper quite extensively so I know it's not dealing with stacked rooms (Yes, I have ran into that before, but it's rare for me given I also tend to do some things manually in the mapper. However, as explained in a different topic, the fact I can't seem to select just a link that is only attached to one room with nothing on the other end of it has also made things that much more tougher to the point that I have to either use the walking method or go into the properties and click on the Pound sign (#) to put in the room number, then the proper direction or other information on the other end of the link right after using the pound sign (#) to get around that issue). The link issue has recently become an issue and I'm not sure what caused it. Yeah, yeah, I know go back and look at the differences, but even when I did that, it didn't fix the issues. That's right, it's my programming experience kicking into play as well telling me to look at the differences of before and after.
As for the trigger aspect that you mentioned, I had a feeling that may be happening, and I also had thoughts of creating my own set of triggers for each and every single room, which triggers that's zone based would have to be activated only when in those zones, which there again, I'm not sure what the performance hit would be. I know in the past when I worked with triggers, it seemed as though after so many of them, they would just work only part of the time, which I'm not sure if that was cause there was so many of them that they may have been timing out or just what may have caused them to not work properly (This was when everyone was telling me to look for patterns and there was no real pattern to be able to give as far as when they would work and when they wouldn't work). I don't know about others, but I seem to run into limitations/restrictions pretty quickly. I have been told though by a pretty good rep at one of the software vendor of the company that I work for, I tend to push the edges of the envelope out as I push programs to do more than what it was originally designed to do or what developers haven't even thought of before. The CMUD program though is used at home only, not at work as I am very restricted to what I can use and can't use at work, which I have no real problems with that policy. Not only that, but in many respects, I haven't really pushed the program all that far either (At least I wouldn't think so relative to other more super mud players), even though I am a superuser when it comes to computers. |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Mon Dec 29, 2008 5:55 am |
Making a trigger for every room is an extraordinarily bad idea if your map is any decent size and you're not intending to disable most of them. It'll be sloooooow. The new mapper (3.01 and above) has some features that let you activate scripts when you enter or leave zones and rooms, which you might find useful, though.
If the room names really do match what the mapper has stored, then I'm pretty much out of ideas - perhaps someone else can think of something. You could try using the script debugger to see if the #ok trigger is firing but nothing's happening, or if the trigger is never being fired, though. It might also be able to tell you if and when those triggers are created, too. |
|
|
|
Dodgester Wanderer
Joined: 17 Nov 2005 Posts: 65
|
Posted: Mon Dec 29, 2008 11:29 pm |
I'm assuming you talking about the room triggers that's automatically created (at least to your knowledge as some sort of Event has to be triggered in OOP environment) and if that is the case, then is there any way I can view this information?
|
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Tue Dec 30, 2008 7:41 am |
I was going to write out the entire set of procedures for what the mapper does when, but after just one possible fork I realize that would be far too large a post.
Simple questions it shall be then.
You said you have no problems when the mapper is in Map mode, but have trouble when it is in Follow mode.
Does it fail to follow when stepping into individual rooms by single command?
Are you actually speedwalking in Map mode?
Does the failure only occur when attempting a speedwalk?
Have you tried all 3 speedwalk modes?
Does it fail only on some rooms? Always the same rooms?
The easiest way to check out the triggers that are made is with the #QUEUE command. Stand next to the room you want to check then enter #QUEUE direction into the command line. You should find the triggers in a class named "_Walk".
The Safe mode being slow to update is actually by design. In the configuration Speedwalking section, you can adjust the updates to occur with ever step, and set how many steps Safe mode should send in a single burst. When updates aren't done with each step then they are done when a single bust completes. If the burst limit is 0 then the updates should occur every 5 rooms. |
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
|
|
|
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
|
|