|
grunthork Novice
Joined: 22 Jun 2009 Posts: 38
|
Posted: 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 |
|
|
|
robert Wanderer
Joined: 25 Feb 2004 Posts: 98
|
Posted: 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! |
|
|
|
grunthork Novice
Joined: 22 Jun 2009 Posts: 38
|
Posted: 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?
|
|
|
|
Daern Sorcerer
Joined: 15 Apr 2011 Posts: 809
|
Posted: 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.
|
|
|
|
grunthork Novice
Joined: 22 Jun 2009 Posts: 38
|
Posted: Wed Jul 27, 2011 11:07 pm Again, Thanks! |
Thanks again for the help, both of you!
|
|
|
|
|
|