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


Joined: 22 Jun 2009
Posts: 38

PostPosted: Sun Jul 24, 2011 6:36 pm   

Alarm Fires in a different window or class. Please help. [3.34 Pro] [Workaround]
 
I have a single line of code:
Code:

#ALARM {+10} {killer/startarea}


This fires the 'startarea' alias at the end of a script. It works perfectly for a random amount of time, typically over an hour. At this point CMUD stops firing this line in the same way. Instead of firing, one of two things will happen:
1. This alarm will fire the "killer/startarea" alias in a different window other than my session window. Namely this is my "comms" window, which contains my tells/chats/channels messages. I can actually see the command "killer/startarea" in my Comms window.
2. This alarm will be created in a completely different class. I have a "killtimer" class that contains an alarm to time my fights for me. It creates an alarm in this class named "_ALARM33:+10" with the script text "killer/startarea". This class is disabled, so obviously the alarm doesn't fire.

Observations:
1. This entire scripts works fine for between 1 and 3 hours.
2. Once this line starts behaving erratically, restarting CMUD 3.34Pro instantly fixes the problem.
2a. Restarting CMUD does not give me any errors, and I don't have to change anything to get it to start working again. I just begin my scripts as usual.
3. When this starts misbehaving, I noticed most of my triggers doesn't seem to fire properly. It's like Cmud has quit working, but it seems to be running normally.
4. This is one of two alarms that I use, the other being the above mentioned "killtimer."

Can someone please help me with this? I need to figure out why this is happening. It could be a bug or it could be my script, but if it's my script, I have no idea why it works for such a long time before it dies on me.

Thanks in advance,

Gman


Last edited by grunthork on Wed Jul 27, 2011 11:07 pm; edited 1 time in total
Reply with quote
robert
Wanderer


Joined: 25 Feb 2004
Posts: 98

PostPosted: Tue Jul 26, 2011 4:00 pm   
 
I have had this happen to me quite a bit. I have done 2 things to fix it.
1. I have removed all #WAITs from my code. It seems to just cause issues to have the multiple threads created.
2. I have all alarms specify which class to create it in. So with yours I would be doing something like #ALARM {+10} {killer/startarea} {Killer Class}

Hope this helps!
Reply with quote
grunthork
Novice


Joined: 22 Jun 2009
Posts: 38

PostPosted: Wed Jul 27, 2011 10:50 pm   Thanks!
 
So glad to see a reply on this! thanks for the help, Robert. Can you tell me if this should still create a temporary alarm if I specify a class?
Reply with quote
Daern
Sorcerer


Joined: 15 Apr 2011
Posts: 809

PostPosted: Wed Jul 27, 2011 11:00 pm   
 
Specifying a class does just that, and only that. As long as you change no other part of the code, the only difference will be that the alarm is in a different class.
Reply with quote
grunthork
Novice


Joined: 22 Jun 2009
Posts: 38

PostPosted: Wed Jul 27, 2011 11:07 pm   Again, Thanks!
 
Thanks again for the help, both of you!
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