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

Play RetroMUD
Post new topic  Reply to topic     Home » Forums » zMUD General Discussion
HollyC
Novice


Joined: 10 Apr 2003
Posts: 45
Location: USA

PostPosted: Thu Apr 01, 2004 1:48 pm   

The incredible rabbit variables: they multiply!
 
*still laughing at the April Fool's post*

Unfortunately my current problem is serious. This time it's for Achaea. I've written a whole system that's too long to post here, but I'll try to get all the relevant portions summarized:

I don't know where to begin writing a full script in script format (#TR xxx, #VAR yyy, etc.) I just go into settings, use the "New Class Folder, New Alias, etc." buttons and organize everything very neat and tidy like a library card system *laugh*

The main class folder of the system is named Holly, since that's my name :) Inside the Holly folder are several other folders. I have several characters in Achaea, so I have a series of aliases to type in just after logging on with a particular character. Typing ASTINAON gives the command #CLA ASTINA 1, activating all the contents of my Astina folder (Holly -> Astina) and deactivating the folders and all contents within, of my other characters (each character folder generally just contains aliases and triggers pertaining to that character's 'guild skills.'

Astina is a Paladin, and for her next promotion she needs to pass a basic combat test involving affliction curing in the arena. One of the folders inside the Holly folder is called Healing (works independently of the various character folders). Here's where the meat of the system lies. The Healing folder contains about two dozen sub-folders, which in turn contain various aliases and triggers that all work together for the affliction curing. The curing system I wrote with a lot of help from of the mentors of my guild, includes a variable with a default value of 0 (for 'disabled,' or I don't have the affliction in question), and all the triggers revolve around setting those variables to 1 (meaning I have the affliction) and 0 (meaning I don't).

I have a variable for just about every affliction in the game, and all the variables are grouped into a folder inside Healing, called Afflictions (Holly --> Healing --> Afflictions). Each affliction has a default value of 0.

Now here's where I finally cut to the case. Thanks for bearing with me :)

The main alias controls the eating of healing herbs, and includes an IF statement: #IF (!@anorexia), meaning if the anorexia variable is 0, or I don't have anorexia, since that affliction blocks the eating of herbs. If anorexia = 1, therefore, the alias does nothing, because the anorexia has to be cured.

Every time I finish putting up my character's defenses, and the tester begins his or her attacks, something KEEPS setting the anorexia variable to 1, EVERY TIME, even though they very clearly did not hit me with the venom that CAUSES anorexia yet, meaning the variable SHOULD be at 0. As a result, I appear to be sitting there doing nothing while getting pounded on, while in truth, I am pounding on the keyboard's enter key over and over and over, knowing the alias was entered CORRECTLY, and watching nothing happen until I type in manually: anorexia = 0

THEN ALL of a sudden the system comes to life, although very often, only for a short time before it just shuts down again.

In the course of trying to zero in on, and fix, whatever bugs are in this system, I've found something interesting, and here's what I mean by the title of my post.

After closing the log and logging out of the game (though keeping ZMud in offline mode), I go into settings and find that up to half or more of my affliction variables have somehow been copied and pasted to the front of my system, appearing underneath the Holly folder in the list, although not INSIDE it. Many of these are affliction variables with values set to 1 (meaning I have them).

I did a search for anorexia = 1 in the settings window and all that came up was a list of the triggers that are SUPPOSED to set the anorexia variable to 1.

I thought that somehow, it's this strange habit of my ZMud to keep copying and pasting all these variables to the forefront of my system (along with, though outside, the main "Holly" folder) that keeps screwing up the curing system I built.

Does anyone know why these duplicate variables keep appearing this way? Is it a bug, or is it normal, as a list of the most recently used variables? And if the default value for the anorexia variable is 0 (which it IS: I triple checked three times), based on the limited information I've provided here, can anyone guess WHY it keeps getting set to 1, blocking my curing alias from working even when I was never hit with the specific venom (and therefore the specific trigger) that is SUPPOSED to set it to 1?

If the only way I can provide enough information is to post the entire system, I will do so, though it will take some time to export all the various contents of the folders and sub-folders.

Holly
Reply with quote
Pega
Magician


Joined: 08 Jan 2001
Posts: 341
Location: Singapore

PostPosted: Thu Apr 01, 2004 2:28 pm   
 
http://www.zuggsoft.com/forum/topic.asp?TOPIC_ID=15584 Wink
Reply with quote
HollyC
Novice


Joined: 10 Apr 2003
Posts: 45
Location: USA

PostPosted: Thu Apr 01, 2004 8:09 pm   
 
That message thread did not help me in the least. It didn't give me a clue as to what is happening in my case.

Okies. I see I'm going to have to post part of my script/system here on the board. I won't post it all, simply because it's too long and has a lot of class folders for different functions. I'll include the afflictions class folder, a couple of healing folders, and the relevant area where all the duplicates show.

CLASS FOLDER EXPORT: showing no triggers, aliases, statbars, or variables

#CLASS {Holly}
#CLASS 0

#CLASS {Holly|healing}
#CLASS 0

#CLASS {Holly|healing|writhing}
#CLASS 0

#CLASS {Holly|healing|waking}
#CLASS 0

#CLASS {Holly|healing|waking|arenastand} {disable}
#CLASS 0

#CLASS {Holly|healing|epidermal}
#CLASS 0

#CLASS {Holly|healing|immunity}
#CLASS 0

#CLASS {Holly|healing|speed}
#CLASS 0

#CLASS {Holly|healing|caloric}
#CLASS 0

#CLASS {Holly|healing|mending}
#CLASS 0

#CLASS {Holly|healing|mending|wielding}
#CLASS 0

#CLASS {Holly|healing|bloodroot}
#CLASS 0

#CLASS {Holly|healing|restoration}
#CLASS 0

#CLASS {Holly|healing|mass}
#CLASS 0

#CLASS {Holly|healing|bellwort}
#CLASS 0

#CLASS {Holly|healing|balance}
#CLASS 0

#CLASS {Holly|healing|goldenseal}
#CLASS 0

#CLASS {Holly|healing|kelp}
#CLASS 0

#CLASS {Holly|healing|lobelia}
#CLASS 0

#CLASS {Holly|healing|ash}
#CLASS 0

#CLASS {Holly|healing|ginseng}
#CLASS 0

#CLASS {Holly|healing|herbaliases}
#CLASS 0

#CLASS {Holly|healing|smoking}
#CLASS 0

#CLASS {Holly|healing|smoking|valerian}
#CLASS 0

#CLASS {Holly|healing|smoking|elm}
#CLASS 0

#CLASS {Holly|healing|healme}
#CLASS 0

#CLASS {Holly|healing|venomlock}
#CLASS 0

#CLASS {Holly|healing|salvealiases}
#CLASS 0

#CLASS {Holly|healing|standing}
#CLASS 0

#CLASS {Holly|healing|stun}
#CLASS 0

#CLASS {Holly|healing|afflictions}
#CLASS 0

#CLASS {Holly|healing|healthmana}
#CLASS 0

#CLASS {Holly|composing}
#CLASS 0

#CLASS {Holly|concentrating}
#CLASS 0

#CLASS {Holly|ratting} {disable}
#CLASS 0

#CLASS {Holly|echoes}
#CLASS 0

#CLASS {Holly|antitheft}
#CLASS 0

#CLASS {Holly|astina} {disable}
#CLASS 0

#CLASS {Holly|astina|chivalry}
#CLASS 0

#CLASS {Holly|astina|devotion}
#CLASS 0

#CLASS {Holly|astina|falcon}
#CLASS 0

#CLASS {Holly|astina|miscellaneous}
#CLASS 0

#CLASS {Holly|astina|arena}
#CLASS 0

#CLASS {Holly|astina|arena|defup}
#CLASS 0


#CLASS {Holly|defs}
#CLASS 0

#CLASS {Holly|defs|frost}
#CLASS 0

#CLASS {Holly|defs|levitation}
#CLASS 0

#CLASS {Holly|defs|tattoos}
#CLASS 0

#CLASS {Holly|defs|venom}
#CLASS 0

#CLASS {Holly|defs|blinddeaf}
#CLASS 0

#CLASS {Holly|defs|rebounding}
#CLASS 0

CLASS FOLDER SHOW ALL (I've only copied/pasted a few)

#CLASS {Holly|healing|afflictions}
#VAR ablaze {0} {0}
#VAR addiction {0} {0}
#VAR aeon {0} {0}
#VAR agoraphobia {0} {0}
#VAR anorexia {0} {0}
#VAR armbroke {0} {0}
#VAR armdamage {0} {0}
#VAR asthma {0} {0}
#VAR botharmbroke {0} {0}
#VAR botharmdamage {0} {0}
#VAR bothlegbroke {0} {0}
#VAR bothlegdamage {0} {0}
#VAR claustrophobia {0} {0}
#VAR clumsiness {0} {0}
#VAR confusion {0} {0}
#VAR darkshade {0} {0}
#VAR dementia {0} {0}
#VAR disloyalty {0} {0}
#VAR dissonance {0} {0}
#VAR dizziness {0} {0}
#VAR down {0} {0}
#VAR epilepsy {0} {0}
#VAR frozen {0} {0}
#VAR generosity {0} {0}
#VAR haemophiliac {0} {0}
#VAR hallucinations {0} {0}
#VAR headbroke {0} {0}
#VAR headdamage {0} {0}
#VAR hypersomnia {0} {0}
#VAR hypochondria {0} {0}
#VAR impatience {0} {0}
#VAR insomnia {0} {0}
#VAR justice {0} {0}
#VAR leftarmbroke {0} {0}
#VAR leftarmdamage {0} {0}
#VAR leftlegbroke {0} {0}
#VAR leftlegdamage {0} {0}
#VAR legbroke {0} {0}
#VAR legdamage {0} {0}
#VAR lethargy {0} {0}
#VAR loneliness {0} {0}
#VAR lust {0} {0}
#VAR masochism {0} {0}
#VAR mass {0} {0}
#VAR merciful {0} {0}
#VAR nausea {0} {0}
#VAR pacifism {0} {0}
#VAR paralysis {0} {0}
#VAR paranoid {0} {0}
#VAR recklessness {0} {0}
#VAR rightarmbroke {0} {0}
#VAR rightarmdamage {0} {0}
#VAR rightlegbroke {0} {0}
#VAR rightlegdamage {0} {0}
#VAR scytherus {0} {0}
#VAR sensitivity {0} {0}
#VAR shivering {0} {0}
#VAR shyness {0} {0}
#VAR sleeping {0} {0}
#VAR slickness {0} {0}
#VAR stun {0} {0}
#VAR stupidity {0} {0}
#VAR torsobroke {0} {0}
#VAR torsodamage {0} {0}
#VAR vertigo {0} {0}
#VAR weakness {0} {0}
#VAR whispermad {0} {0}
#VAR speed {0} {0}
#VAR held {0} {0}
#CLASS 0

(Note: Looking at this export paste makes me think. For these variables, I set 0 in both the "default" field and in the "value" field. Could THIS be causing it?)

#CLASS {Holly|healing|healthmana}
#ALIAS dh {drink health}
#ALIAS dm {drink mana}
#ALIAS ei {outr 1 irid;eat irid}
#ALIAS dhei {#IF (@healbalance AND @mossbalance AND !@anorexia) {dh;ei}}
#VAR healbalance {1} {1}
#VAR mossbalance {1} {1}
#TRIGGER {You may drink another health or mana elixir.} {healbalance = 1;#IF (@healbalanace AND @mossbalance) {dhei}}
#TRIGGER {You may eat another bit of irid moss.} {mossbalance = 1}
#TRIGGER {You feel your health and mana replenished.} {mossbalance = 0}
#TRIGGER {The elixir heals and soothes you.} {healbalance = 0}
#CLASS 0

(Note: Again, for the variables healbalance and mossbalance, 1 is put in both the "default" field and the "value" field. Is that wrong?)

#CLASS {Holly|healing|epidermal}
#TRIGGER {The idea of eating or drinking is repulsive to you.} {#color 31;anorexia = 1;#IF (@anorexia AND @asthma AND @slickness) {venomlock = 1;#ECHO !!!VENOMLOCKED!!! !!!VENOMLOCKED!!!}}
#TRIGGER {The idea of eating or drinking is suddenly repulsive to you.} {#color 31;anorexia = 1;#IF (@anorexia AND @asthma AND @slickness) {venomlock = 1;#ECHO !!!VENOMLOCKED!!! !!!VENOMLOCKED!!!}}
#TRIGGER {The idea of putting something in your stomach sickens you.} {#color 31;anorexia = 1;#IF (@anorexia AND @asthma AND @slickness) {venomlock = 1;#ECHO !!!VENOMLOCKED!!! !!!VENOMLOCKED!!!}}
#TRIGGER {The thought of food revolts you all of a sudden.} {#color 31;anorexia = 1;#IF (@anorexia AND @asthma AND @slickness) {venomlock = 1;#ECHO !!!VENOMLOCKED!!! !!!VENOMLOCKED!!!}}
#TRIGGER {The thought of speech seems difficult all of a sudden.} {#color 31;#echo STUTTERING}
#TRIGGER {Food is no longer repulsive to you.} {anorexia = 0;herbheal;#If (@venomlock) {venomlock = 0;#ECHO !!!VENOMLOCK BROKEN!!! !!!VENOMLOCK BROKEN!!!}}
#CLASS 0

Now, if I go all the way to the top so even the "home" folder (Holly) is not opened, this is what I will see in the settings edit window:

#CLASS {Holly}
#VAR anorexia (Type:Var) (Value: 0)
#VAR asthma (Type:Var) (Value: 0)
#VAR blindness (Type:Var) (Value: 1)
#VAR botharmbroke (Type:Var) (Value: 0)
#VAR cloak (Type:Var) (Value: 1)
#VAR clumsiness (Type:Var) (Value: 1)
#VAR darkshade (Type:Var) (Value: 0)
#VAR deafness (Type:Var) (Value: 1)
#VAR disloyalty (Type:Var) (Value: 0)
#VAR dizziness (Type:Var) (Value: 0)
#VAR down (Type:Var) (Value: 0)
#VAR elixbalance (Type:Var) (Value: 0)
#VAR frost (Type:Var) (Value: 1)
#VAR healbalance (Type:Var) (Value: 1)
#VAR hellsight (Type:Var) (Value: 0)
#VAR herbbalance (Type:Var) (Value: 1)
#VAR hp (Type:Var) (Value: 1660)
#VAR insomnia (Type:Var) (Value: 0)
#VAR leftarmbroke (Type:Var) (Value: 0)
#VAR mana (Type:Var) (Value: 1660)
#VAR mass (Type:Var) (Value: 1)
#VAR mindseye (Type:Var) (Value: 1)
#VAR mossbalance (Type:Var) (Value: 1)
#VAR paralysis (Type:Var) (Value: 1)
#VAR ratgold (Type:Var) (Value: 0)
#VAR ratkilled(Type:Var) (Value: 0)
#VAR rats (Type:Var) (Value: 0)
#VAR rebounding (Type:Var) (Value: 1)
#VAR rightarmbroke (Type:Var) (Value: 0)
#VAR rightlegbroke (Type:Var) (Value: 1)
#VAR salvebalance (Type:Var) (Value: 0)
#VAR shyness (Type:Var) (Value: 0)
#VAR sleeping (Type:Var) (Value: 1)
#VAR slickness (Type:Var) (Value: 0)
#VAR speed (Type:Var) (Value: 0)
#VAR stun (Type:Var) (Value: 0)
#VAR stupidity (Type:Var) (Value: 0)
#VAR venomlock (Type:Var) (Value: 0)
#VAR voyria (Type:Var) (Value: 0)
#TRIGGER {[Tip]: Did you remember to vote for Achaea today? See HELP BLESSING for more} {#gag}

I'm wondering if my setting a value in both the "default" and "value" fields of each variable is what is causing this to happen. If it is, I'll fix it right away.

Holly
Reply with quote
Vijilante
SubAdmin


Joined: 18 Nov 2001
Posts: 5187

PostPosted: Thu Apr 01, 2004 11:23 pm   
 
The most common cause of your problem is having a class folder flagged with "Set as Default when executing". Check to see that this isn't the case with any of your classes.

The next cause is a lack of a closing "#CLASS 0". This generally appears right after importing a script. Unless some of your triggers or aliases create classes on the fly this should not be a problem.

Other causes of this sort of problem tend to be obscure and localized to specific timing events like entering a room or operating the Trigger Wizard. If any such thing was the cause you would have spotted it already.

That leaves as a last possible cause corruption of your settings file. This has become less common lately, but can still happen. When it does any number of odd side effects can occur. Once you have checked over the above causes you should look to this.
Reply with quote
Display posts from previous:   
Post new topic   Reply to topic     Home » Forums » zMUD 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