A class folder is basically a folder you create in your settings menu of zmud to store triggers/aliases/buttons/etc. You use class folders to serperate and organize various settings, EG: you might create a folder called BASIC to hold things like triggers for #trigger {^You are hungry.} {get food bag;eat food} and other common instances, including thirst, recite recall, grouptell aliases, etc.
A trigger is something that *triggers* off a string sent from the mud. Like:
You are hungry. is sent from the mud telling you that you are hungry. ZMud processes this string and checks your settings to see if there is a match, in which case might be the above, get food bag;eat food. Then it does it for you.
An alias is something you configure in your settings to stand for something else, EG: you might setup a folder called COMBAT SPELLS, and inside it you might have #ALIAS fwind {cast 'firewind'}, so that typing fwind sends the cmd cast 'firewind' to the mud.
Variables are strings in which you assign items that might change throughout the course of their life. EG: you might have an alias set up so that when you log on, Zmud captures the name of your character (for those who use the same batch of scripts for multiple characters). You might do something like so:
Welcome to SlothMUD... blah blah...
you type: > charname Methyx
In your BASIC folder you have this alias or trigger to process it:
#TRIGGER {^charname %1} {#var charname %1}
This basically takes the %1 (which is a temp placeholder for variables until they are transfered to a string variable using the #var command) and processes it into a string variable for use elsewhere (in this case, charname, which will be refered to as @charname when used later). Floating, temp variables include %1-%9 and * (that I use most often). %1-%9 work for anything and * is simply a wildcard that is usually used to account for junk. EG: You are following someone in a group who uses:
Myleader -- '*** target blah'
To make a trigger from this using the above info:
first, you need to set up a trigger to recognize who your leader is, this can be done like the assignment of your charname above:
#TRIGGER {^leader %1} {#var leader %1}
so when you type leader Myleader, zmud processes @leader = Myleader.
Now, You can set up the target script:
let's say we create a class folder called TARGETTER, in it we put:
#TRIGGER {^@leader --'(*)target %1'} {#var target %1}
This sets your @target as %1, while the (*) is used to ignore the junk in front of target, and having preset your leader as @leader, the only person who can set this trigger is the person assigned as @leader by you, and not other members of your group who will surely mess with it if they find it to not be secure
As a note, the ^ at the beginning is what is called grounding your scripts. This prevents your leader from doing:
gossip You are a target haha fool.
and thereby assigning your target as haha.
Folders can be set as enabled when connecting or disabled using the properties setting of the class folder itself. If you have something you do not wish to have on all the time, you set it as disabled and use #t-/+ to turn it on and off using aliases, or for advanced users, setting up buttons can do the same.
for instance, say you only wanted your targetter to operate while you were grouped. You would set the folder properties as disabled, and in another folder that is enabled, you would put a simple script like:
#ALIAS groupon {#T+ TARGETTER;#show group targetting is on}
#ALIAS groupoff {#T- TARGETTER;#show group targetting is off}
#T+ enables folders, and #T- disables folders. While #SHOW is used to show the exact text on your screen to you and no one else. Therefore in the above example, you would see
group targetting is on(or off) on your screen, but no one else would be interupted by your spam.
So, in summary:
TRIGGERS _trigger_ off exact output from the mud, or input from your typing. They then process the script they are to run, and produce the desired affect you have programmed.
ALIASES _trigger_ off of shortened commands to make your life easier, saving you hundreds of keystrokes an hour.
VARIABLES come in 2 types: floating temp variables like %1-%9 and (*), and string variables to which floating variables have been assigned for later use.
CLASS FOLDERS are simply a way to organize and control your scripts. To control what is enabled and what is disabled, as to control what scripts are running and what are not.
I hope this clears some stuff up for you... it's about as basic as I can get.
But at least maybe this can help you ask more specific questions.
Akasha/Xandora