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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » CMUD Beta Forum
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Jan 31, 2010 3:36 pm   

[3.13] onRoomEnter doesn't fire some times
 
I use onRoomEnter to check to make sure I have the proper vNum recorded. Now that I'm collecting vNums from Achaea I've discovered that onRoomEnter doesn't always fire while I'm walking around manually or when I'm executing a slow speed walk.

I can get it to always execute if I use #tele <room>, but otherwise it is kind of random. It will work 100% for a while, then it will stop working for a while for no reason that I can discern. Then later it will begin working again just as mysteriously as it stopped before.

I know this isn't a lot to go on, so I'm hoping that Zugg can give me some ideas as to what may be causing this and then I could design a test around the possibilities that exist.
Reply with quote
Dumas
Enchanter


Joined: 11 Feb 2003
Posts: 511
Location: USA

PostPosted: Sun Jan 31, 2010 6:23 pm   
 
Yay! Thank you ReedN. I thought I was the only one having this problem. I cannot pinpoint a reason, though as we both are using it for the same reason (renumbering IRE game rooms), maybe it has to do with that? I'm still using the ATCP data for input.
Reply with quote
shalimar
GURU


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

PostPosted: Sun Jan 31, 2010 6:55 pm   
 
I know when i use manual walking and queue up several commands in advance, any roomscript will fire as soon as it is queued in instead of when i actually enter the room.. seems like a timing issue.
_________________
Discord: Shalimarwildcat
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sun Jan 31, 2010 7:15 pm   
 
It's not timing issue. It will happen when I'm just casually walking around at a leisurely pace as well. It will work perfectly in all circumstances then for no reason I can determine, it will just stop working for a while. Then it just starts working again later. I've had it print out for a while when it executes so I could see if it corresponded to any other events, but its randomness has defied my analysis.
Reply with quote
Zugg
MASTER


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

PostPosted: Mon Feb 01, 2010 6:36 pm   
 
I have no idea on this one. There is no reason for this to be random. Try keeping the Script Debugger window open so that you can see all Event triggers and make sure it's not just something in your script.

If it doesn't fire for a specific room, then it should consistently not fire for that room. The code for this is literally "RaiseEvent(onRoomEnter)" whenever CMUD confirms that you have entered the room (it's in the #OK code I believe, but also fired right away if you are in Fast walk mode).

As usual, please ALWAYS tell me what speedwalking mode you are using. The speedwalking mode (fast,safe,slow) has a huge change on how the mapper works, so without that information it's impossible to debug.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Mon Feb 01, 2010 7:17 pm   Re: [3.13] onRoomEnter doesn't fire some times
 
Zugg wrote:
As usual, please ALWAYS tell me what speedwalking mode you are using. The speedwalking mode (fast,safe,slow) has a huge change on how the mapper works, so without that information it's impossible to debug.

ReedN wrote:
...while I'm walking around manually or when I'm executing a slow speed walk.

Perhaps you skimmed the post, but the information was already present. I've highlighted the information from my original post.

Zugg wrote:
I have no idea on this one. There is no reason for this to be random. Try keeping the Script Debugger window open so that you can see all Event triggers and make sure it's not just something in your script.

If it doesn't fire for a specific room, then it should consistently not fire for that room. The code for this is literally "RaiseEvent(onRoomEnter)" whenever CMUD confirms that you have entered the room (it's in the #OK code I believe, but also fired right away if you are in Fast walk mode).

I've already looked at this with the Script Debugger window open. The event just isn't raised when it is malfunctioning. I know that #OK is executed because if it wasn't then the map wouldn't update the location. Is there anything else that you could think of that would be relevant to look at or report?
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Sat Feb 06, 2010 3:29 pm   
 
Zugg: You mentioned knowing the speed walking mode was critical to understanding the issue, but then made no comment after I highlighted the specific information you requested in my original post.

You made it sound as straight forward as making sure #ok is executed, but I know when I execute #ok and I can see my map update after #ok is executed, but onRoomEnter *isn't* always executing at this point.

I guess I could make my own function to execute my onRoomEnter code when I execute #ok (to replace your onRoomEnter), but I'd rather get the actual mechanism working (if possible) instead of trying to code around something malfunctioning in Cmud.
Reply with quote
Zugg
MASTER


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

PostPosted: Sat Feb 06, 2010 5:59 pm   
 
Sorry, I've been focused on other more serious bugs right now. The mapper bugs have a lower priority until the public version of TeSSH is released.
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Thu Apr 01, 2010 2:32 pm   
 
This is still present in 3.16b.
Reply with quote
Zugg
MASTER


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

PostPosted: Thu Apr 01, 2010 3:56 pm   
 
Quote:
The mapper bugs have a lower priority until the public version of TeSSH is released.

Has the public version of TeSSH been released? No. Therefore this is still on the bug list. No need to bump it.
Reply with quote
dbosst
Apprentice


Joined: 15 Jun 2010
Posts: 121

PostPosted: Tue Jun 15, 2010 11:59 pm   
 
I have also encountered this problem and have narrowed the problem down to one of my prompt triggers for mapping.

Zugg: The fault lies in that this particular prompt trigger's script disables the trigger class it itself is in, and this seems to screw up OnRoomEnter.

So if you have any triggers that use #T- to disable themselves or a class they are in I would check that for a cause.
As for a solution, using different threads seems to work, i.e., just use an #alarm on the trigger disable if its possible, ie:

#ALARM {+0.001} {#T- triggerclass}

is what I am using now for a workaround
Reply with quote
ReedN
Wizard


Joined: 04 Jan 2006
Posts: 1279
Location: Portland, Oregon

PostPosted: Wed Jun 16, 2010 12:38 am   
 
I never disable my OnRoomEnter trigger nor any folder it is a part of, so I don't think it's the same thing I'm seeing.
Reply with quote
dbosst
Apprentice


Joined: 15 Jun 2010
Posts: 121

PostPosted: Wed Jun 16, 2010 5:02 pm   
 
I am not disabling the OnRoomEnter EVENT at any point, only a folder that contains a trigger that is enabled upon entering a room, and then that same trigger disables that folder once it sees the prompt.

ReedN, also try disabling all your scripts except the onroomenter event, and if it works consistenly than start enabling classes and then triggers one by one till it stops working -- that is what I did to narrow down the problem
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » CMUD Beta Forum 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