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

Joined: 09 Feb 2010
Posts: 15

PostPosted: Tue Sep 14, 2010 12:31 pm   

Variable name double ups
Hi all,

I'm using the latest version of cmud beta 3.26, and i am experiencing a problem where variable names are doubling up: conditions occur where a variable name already exists, and another variable is created (by an alias or trigger) of the same name.

Then when retreiving or modifying said variables, problems arise. I haven't been able to find the "Known Issues" section of the forums, so if this is a known problem, please let me know, otherwise i will submit more detailed information.

The variables have the same name but a different ID number. eg:
<var name="BlahIndex" id="1184">299</var>
<var name="BlahIndex" id="1179">299</var>
(they are both in the root class)

The error only occurs very occasionally (its a combination of triggers firing a few times every couple of seconds, and it might happen once in 5 hours, or it might happen twice in 1 hr).

Once the above has occurred, other extremely odd things begin to occur, such as other variables returning a different variable's information, speedwalks stoppinng randomly mid-walk, etc. It becomes clear it has become "out of sync" with itself, and the only remedy is to close and reopen cmud.

I have tested it by deleting both variables, allowing cmud to automatically create the variable, running the mud client for a while, and then only to find that there are two of them.

I realise this is very vague information, but i just wanted to see if anyone else has experienced this or if it is known, and based on that i'll do a more thorough writeup about it.

Thanks for any help,

Reply with quote

Joined: 22 Mar 2007
Posts: 2320

PostPosted: Tue Sep 14, 2010 1:26 pm   
Both variables are in the same root class? Is one of the variables disabled?

If the old variable is enabled, Cmud should never create a new variable with the same name in the same class. Are you by chance running any scripts in separate threads? Do you use #WAIT or any of the similar commands? If you are, then perhaps you are running into problems with multiple threads trying to use the same variable at the same time. You have to be very careful when using threads to avoid problems like that.
Reply with quote

Joined: 09 Feb 2010
Posts: 15

PostPosted: Wed Sep 15, 2010 2:23 am   
thanks for your response Rahab,

as always, timely and informative.

There were indeed a couple of #Wait commands that i had in there, and so i have rewritten it to use temporary triggers (temporary trigger = alarm, right?).

I will see how i go with that.

Thanks again,

Reply with quote

Joined: 23 Dec 2000
Posts: 4834
Location: USA

PostPosted: Wed Sep 15, 2010 2:43 am   
nope, temporary trigger is one that deletes itself after the triggering condition is met. In other words, all temporary alarms are temporary triggers, but not all temporary triggers are temporary alarms. A bit moot if you set the trigger type to Alarm and used a pattern of +whatever, though.
EDIT: I didn't like my old signature
Reply with quote

Joined: 09 Feb 2010
Posts: 15

PostPosted: Wed Sep 15, 2010 3:12 am   
Hey Matt,

thanks, your post made me reread the help about temporary triggers and with what you posted now i understand them a bit better.


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